Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции Базы данных.docx
Скачиваний:
15
Добавлен:
22.03.2016
Размер:
27.7 Кб
Скачать

Лекция 1.4

Зависимости между атрибутами отношений:

  1. Функциональная- атрибут Б функционально зависит от А если для любого значения А найдется соответствие одно значение Б. Таблица которая находится выше функциональной зависимости: от фамилии зависит кафедра, должность, предмет. Определим первичный ключ данной таблицы, он будет стоять из нескольких атрибутов (первичный ключ будет составной - фамилия, предмет и группа),

  2. Частичная зависимость - это зависимость не ключевого атрибута от части составного ключа (например, должность зависит от фамилии).

  3. Полная функциональная зависимость - это зависимость от всего составного ключа, например, в нашей таблице от всего составного ключа зависит атрибут «вид занятий».

  4. Транзитивные зависимости- атрибут В зависит от А транзитивно (через кого-то), если для атрибутов А, В и С выполняются условия В зависит от А и С зависит от В, но обратная зависимость отсутствует. В нашей таблице существует транзитивная зависимость фамилия стрелочка, должность стрелочка оклад.

  5. Многозначные зависимость- в отношении ЭР атрибут В зависит от атрибута А если каждому значению А соответствует множество значений В не связанных с другими атрибутами. Многозначные зависимости могут быть: - один ко многим 1:М -многие к одному А двойная стрелка влево В -многие ко многим

Нормальные формы

Процесс проектирования БД с использованием метода нормальных форм заключается в последовательном переводе отношений из первой нормальной формы в нормальные формы более высокого порядка по определенным правилам. Каждая нормальная форма:

  1. Ограничивает определенный тип функциональной зависимости предыдущей нормальной формы.

  2. Устраняет соответствующие аномалии при выполнении операций над отношениями БД.

  3. Сохраняет свойства предыдущих нормальных форм.

Рассмотрим последовательность нормальных форм: - 1НФ - 2НФ - 3НФ - усиленная 3НФ (БКНФ) - 4НФ - 5НФ

1НФ

Отношение находится в 1НФ, если все его атрибуты являются простыми. Исходные отношения строятся так, чтобы все его атрибуты были простыми. Перевод отношений в следующую нормальную форму осуществляется методом декомпозиции без потерь. Метод обеспечивает, что запросы к исходному отношению и к отношениям, полученным в результате декомпозиции дадут одинаковый результат.

Лекция 1.5

1НФ

Запрос- это выборка данных по условию.

Предположим в отношении R (A, B,C,D,E) устранение функциональной зависимости C>D позволяет перевести его в следующую нормальную форму. Для этого выполняется декомпозиция отношения ЭР на отношения ЭР1 (A, B,C,D,E) и отношения ЭР2 с атрибутами (C,D). Рассмотрим отношение преподаватель, она имеет составной ключ фамилия, предмет группа, все атрибуты пресытые т.е. все отношения находится в 1НФ. В отношении присутствует явное и неявное избыточное дублирование данных т.е. повторяются сведения о стаже, о должности и окладе преподавателей, а так же можно заметить что у одинаковых должностей одинаковые оклады и есть одинаковые надбавки на стаж. Все это избыточное дублирование ведет к тому, что возникает проблема редактирования: изменение должностей, например, у Иванова нужно просмотреть и изменить все строки где он фигурирует. Для устранения избыточности нужно перевести отношение во 2НФ.

2НФ

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

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

Во-вторых, построить проекции на части составного первичного ключа и атрибуты, зависящие от этих частей т.е. перевод во 2НФ это выделение отношения, в котором от первичного ключа функционально полно зависят атрибуты.

Например, переведем таблицу во 2НФ, для этого отдельную таблицу выделим ключ, а также атрибуты функционально полно зависящие от него. В таблице 2 остаются: фамилия, должность, оклад, стаж, надбавка на стаж и кафедра т.е. мы разделили отношение ЭР на отношение ЭР1 и ЭР2 использую операцию проекции. Далее преобразуем отношение в 3НФ.

3НФ

Отношение находятся в 3НФ если при нахождении его во 2НФ каждый не ключевой атрибут не транзитивно зависит от первичного ключа т.е. чтобы перевести в 3НФ нужно убрать все транзитивные зависимости из отношений. В отношении ЭР1 транзитивной зависимости нет, в отношении ЭР2 они есть т.е. фамилия> стаж> надбавка на стаж, фамилия> должность> оклад. Транзитивные зависимости порождают в данном отношении избыточное дублирование информации, их необходимо устранить с использованием операции проекции на атрибуты, которые являются причиной транзитивной зависимости т.е. отношение ЭР2 мы преобразуем в отношения ЭР3, ЭР4 и ЭР5.

В ЭР3 будут входить атрибуты: фамилия, должность, стаж и кафедра. В ЭР4: должность и оклад. В ЭР5: стаж и надбавка на стаж. Мы получили отношения ЭР1345. Избыточное дублирование устранено, следовательно, проектирование БД закончено.