Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы и ответы для экзамена по курсу.docx
Скачиваний:
82
Добавлен:
11.09.2019
Размер:
86.84 Кб
Скачать
  1. Нормализация – третья нормальная форма, алгоритм приведения, пример

Согласно определению Кодда, отношение R находится в 3NF тогда и только тогда, когда выполняются следующие условия:

  • Отношение R находится во второй нормальной форме.

  • ни один неключевой атрибут R не находится в транзитивной функциональной зависимости от потенциального ключа отношения R.

Рассмотрим в качестве примера следующее отношение:

R1

Сотрудник

Отдел

Телефон

Гришин

Бухгалтерия

11-22-33

Васильев

Бухгалтерия

11-22-33

Петров

Снабжение

44-55-66

В отношении атрибут «Сотрудник» является первичным ключом. Личных телефонов у сотрудников нет, и телефон сотрудника зависит исключительно от отдела.

Таким образом, в отношении существуют следующие функциональные зависимости: Сотрудник → Отдел, Отдел → Телефон, Сотрудник → Телефон.

Зависимость Сотрудник → Телефон является транзитивной, следовательно, отношение не находится в 3NF.

В результате декомпозиции отношения R1 получаются два отношения, находящиеся в 3NF:

R2

Отдел

Телефон

Бухгалтерия

11-22-33

Снабжение

44-55-66

R3

Сотрудник

Отдел

Гришин

Бухгалтерия

Васильев

Бухгалтерия

Петров

Снабжение

Исходное отношение R1 при необходимости легко получается в результате операции соединения отношений R2 и R3.

  1. Реляционная алгебра – основные определения

Впервые термин "реляционная модель данных" появился в статье сотрудника фирмы

IBM д-ра Кодда (Codd E.F., A Relational Model of Data for Large Shared Data Banks.

CACM 13: 6, June 1970). Будучи математиком по образованию Кодд предложил

использовать для обработки данных аппарат теории множеств (объединение,

пересечение, разность, декартово произведение). Он показал, что любое представление

данных сводится к совокупности двумерных таблиц особого вида, известного в

математике как отношение – relation (англ.).

Реляционной является БД, в которой все данные, доступные пользователю,

организованы в виде набора двумерных таблиц, а все операции над данными сводятся

к операциям над этими таблицами.

Предложив реляционную модель данных, Кодд создал и инструмент для удобной

работы с отношениями – реляционную алгебру. Каждая операция этой алгебры

использует одну или несколько таблиц (отношений) в качестве ее операндов и

получает в результате новую таблицу, т.е. позволяет "разрезать" или "склеивать"

таблицы

Реляционная алгебра в явном виде представляет набор операций, которые можно

использовать, чтобы сообщить системе, как в базе данных из определенных отношений

реально построить необходимое отношение.

Реляционные операторы обладают одним важным свойством: они замкнуты

относительно понятия отношения. Это означает, что выражения реляционной алгебры

определяются над отношениями реляционных БД и результатом вычисления также

являются отношения. Поскольку результатом любой реляционной операции является

некоторое отношение, можно образовывать реляционные выражения, в которых

вместо отношения-операнда некоторой реляционной операции находится вложенное

реляционное выражение.

Выражения реляционной алгебры строятся на основе алгебраических операций

(высокого уровня), и подобно тому, как интерпретируются арифметические и

логические выражения, выражение реляционной алгебры также имеет процедурную

интерпретацию. Другими словами, запрос, представленный на языке реляционной

алгебры, может быть вычислен на основе вычисления элементарных алгебраических

операций с учетом их старшинства и возможного наличия скобок.

Набор основных алгебраических операций состоит из восьми операций, которые

делятся на два класса - теоретико-множественные операции и специальные

реляционные операции, дополненные некоторыми специальными операциями,

специфичными для баз данных.

В состав теоретико-множественных операций входят традиционные операции над

множествами:

􀂃 объединение;

􀂃 пересечение;

􀂃 разность;

􀂃 декартово произведение.

Специальные реляционные операции включают:

􀂃 выборку;

􀂃 проекцию;

􀂃 естественное соединение;

􀂃 деление.

Операции объединения, пересечения и разности требуют от операндов совместимости

по типу. Два отношения совместимы по типу, если:

1. каждое из них имеет одно и то же множество имен атрибутов (одна и та же

степень),

2. соответствующие атрибуты (с одинаковыми именами) определены на одном и

том же домене.