Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD.doc
Скачиваний:
4
Добавлен:
28.10.2018
Размер:
483.84 Кб
Скачать

7. Алгоритм приведення відношень до третьої нормальної форми.

Отношения находятся в 3-ей нормальной форме(3НФ), если оно находится в 2НФ и в нем отсутствуют функциональные зависимости от ключа - не должно быть транзитивных зависимостей неключ. атрибутов от ключей.

Дано: Есть исходное отношение и множество функциональных зависимостей, которое должно быть минимальным покрытием. Необходимо получить декомпозицию схемы отношения R, в котором каждое отношение находится в 3НФ, сохраняются функциональные зависимости и обеспечивается соединение без потерь.

Алгоритм: 1) Если существует некоторый атрибут в R, который не участвует в функциональных зависимостях из F, то он образует функциональные значения и исключается из множества F

Замечание: Если какой-то атрибут или несколько атрибутов нужно включить в БД, то вводится атрибут (тета) и функциональная зависимость A->(тета), где А - множество атрибутов, которые не входят в множество атрибутов R. После авершения проектирования, атрибут (тета) исключается из БД.

2) Если в одной функциональной зависимости участвуют все атрибуты из R, то на выходе получим R и декомпозиция не продолжается.

3) Декомпозиция, которая образует схему БД, состоит из схемы - XA, для каждой функциональной зависимости X->A. Т. о. получаем столько отношений, сколько было в функциональной зависимости.

4) Если в F есть функциональные зависимости: X->A1,..,X->Ak, с одинаковыми дискриминантами - X, то для них используется схема: XA1...Ak, т. е. если у нас есть функциональная зависимость с одинаковыми ключами, то мы их объединяем в одну таблицу(1:1).Справедливы две теоремы:

а) приведенный алгоритм дает на выходе отношение в 3НФ и сохраняет функциональные зависимости.

б) указанный алгоритм приводит к декомпозиции, которая обеспечивает соединение без потерь.

Пример1: Отметить, что проверить соединения без потерь можно методом Табло.

8. Використання операцій реляційної алгебри для створення мови запитів.

Основные операции:1. Унарные(с одним отношением). 2. Бинарные.

1. Унарные (с одним отношением).

-проекция– {A}-множество атрибутов.

В результате проекции из отношения R выбираются только те атрибуты, которые указаны в множестве А, и после этого удаляется дубликат.

-выборка (селекция) σl(R), где R-отношение, l-логическое условие, ограничения которого накладываются на значения атрибутов, присутствующих в результирующих кортежах. В L-входят:-имена атрибутов;-значения атрибутов; -некоторые константы; -операции сравнения: тета,~,=,<>,<,>,>=,<=. В результирующие отношения попадают те кортежи, значение атрибутов которых обращает логич условие в истину. В результате проекции из отношения R выбираются только те атрибуты, которые указаны в множестве А, и после этого удаляется дубликат.

2. Бинарные. Множественные операции- операции над множествами (т.е. над кортежами)

1). объединение-операция множественная. В результате объединения двух таблиц(двух отношений) мы получим отношения, которые включают кортежи первой и второй таблицы. Для объединения нужно, чтобы таблицы удовлетворяли требованию по объединению, которые заключаются в том, чтобы данные в соответствующих атрибутах двух таблиц принадлежали одним и тем же доменам и количество атрибутов должно совпадать..

2). Разность. Соединение S в результате разности, получим отношение, в которое входят только те кортежи 1-го отношения, которых нет во втором. Разность требует совместимости отношений.

3) Декартово произведение. В результате Декартового произведения двух отношений, получаются соотношения, в которые входят все атрибуты первого и второго отношений. А кортежами являются всевозможные конкатенации кортежей первого и второго отношений. х.

Производные операции

1. Пересечение Для выполнения этой операции они должны быть совместимы по объединению. Получаем те кортежи, которые есть в обоих таблицах.

2. Соединение.  Они бывают нескольких типов. Они используются очень часто.

2.1.Наиболее полное - тета - соединение -JOIN, оно должно выполняться в реляционной алгебре. 

(уравнение).  В результате тета - соединения отношений R и S, получим,те кортежи декартового произведения, которые удовлетворяют логическому

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]