Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_2013_Задания / КонспектЛекций_БД_СоболеваНВ_2013.docx
Скачиваний:
119
Добавлен:
12.03.2015
Размер:
634.27 Кб
Скачать

2 Функциональная зависимость

Нормализация реляционной модели основана на понятии функциональной зависимости.

Пусть дано отношение R.

Атрибут А функционально определяет атрибут В (А В), если каждому значению атрибута А в проекции R [A, B] соответствует единственное значение атрибута В. Например, в отношении СТУДЕНТ (№ зачётной книжки, Фамилия, Имя, Отчество, Дата рождения) можно выделить следующие функциональные зависимости: № зачётноё книжки Фамилия, № зачётной книжки Имя, № зачётной книжки Отчество, № зачётной книжки Дата рождения. В то же время, Фамилия функционально не определяет № зачётной книжки, так как одной и той же фамилии могут соответствовать несколько зачётных книжек.

Если А В и В А, то имеет место взаимно однозначная зависимость (А В), например, ИНН № зачётной книжки.

Определение функциональной зависимости можно распространить на любое число атрибутов в левой части: А1, А2, … ,Аn В, если каждому сочетанию значений атрибутов А1, А2,…, Аn соответствует единственное значение атрибута В.

Например, в отношении ЭКЗАМЕН (№ студента, код дисциплины, дата, код преподавателя, оценка) можно выявить следующие функциональные зависимости: № студента, код дисциплины оценка; № студента, код дисциплины, дата оценка; № студента, код дисциплины, дата, код преподавателя оценка; № студента, дата, код преподавателя оценка; код преподавателя, дата код дисциплины и др. Условием существования данных функциональных зависимостей являются следующие утверждения: по указанной дисциплине данному студенту может быть поставлена только одна оценка за всё время существования базы данных; на одну дату преподаватель может принимать только один экзамен; конкретную дисциплину на конкретную дату преподаёт только один преподаватель. Таким образом, функциональные зависимости отражают конкретные правила предметной области. Изменение правил влечёт за собой изменение функциональных зависимостей.

Используя понятие функциональной зависимости можно сформулировать следующее правило:

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

Из предыдущего утверждения можно дать такое определение ключа:

ключ – минимальное множество атрибутов, которое функционально определяет все атрибуты отношения по отдельности.

3 Теоремы о функциональных зависимостях

Теорема 1. Любое множество атрибутов функционально определяет любое своё подмножество.

А, В А; А, В В.

Теорема 2. Если А В и А С, то А В, С и обратно, если А В, С, то А В и А С.

Теорема 3. Называется теоремой о транзитивности: если А В и В С, то А С.

Теорема 4. Если А В, то А, С В, где С – любой атрибут отношения.

Теорема 5. Между атрибутами ключа не существует функциональных зависимостей.

Вернуться в содержание

Раздел «Реляционная теория БД»

Лекция №10

Нормальные формы отношений. Метод декомпозиции

1 Нормальные формы отношений

Нормальная форма отношения – это отношение с дополнительными ограничениями на хранящиеся в нем значения.

Первая нормальная форма (1НФ) – это отношение, в котором каждый его элемент имеет атомарное значение, принадлежащее соответствующему домену.

Вторая нормальная форма (2НФ) – это отношение, находящееся в первой нормальной форме и не содержащее неполных функциональных зависимостей.

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

Рассмотрим пример неполной функциональной зависимости. В примере функциональные зависимости будут изображены вертикально, что позволяет записывать их в более компактной форме. На рисунке 1 атрибут Количество зависит только от составного ключа, а атрибуты Имя поставщика и Сведения о поставщике зависят от подмножества составного ключа.

Рисунок 1 – Отношение, которое не находится во 2НФ

Недостатки такого отношения:

1) графы "Имя поставщика" и "Сведения о поставщике" не могут быть заполнены до фактической поставки конкретной партии;

2) если поставщик задержал поставку некоторой партии, то удаление кортежа приведёт к удалению сведений о поставщике;

3) если надо изменить сведения о поставщике, то их придётся менять во всех кортежах, где упоминается этот поставщик.

Для получения второй нормальной формы необходимо исходное отношение разделить на два отношения:

- отношение с составным ключом;

- отношение с ключом, являющимся подмножеством составного ключа.

Для рассматриваемого примера получим:

ПОСТАВЩИК (Номер поставщика, Имя поставщика, Сведения о поставщике);

ПАРТИЯ (Номер поставщика, Код товара, Номер партии товара, Количество).

Третья нормальная форма (3НФ) – это отношение, находящееся во второй нормальной форме и не содержащее транзитивных зависимостей.

Рассмотрим пример отношения, в котором присутствует транзитивная зависимость:

СТУДЕНТ (№студента, №группы, Код факультета).

В данном отношении №студента №группы, №группы Код факультета, №студента Код факультета.

Недостатки отношения:

1) избыточность данных (код факультета повторяется для всех студентов группы, хотя было бы достаточно указать его один раз для группы);

2) усложнение контроля целостности данных.

Для получения 3НФ необходимо разделить исходное отношение на два:

СТУДЕНТ (№студента, №группы) и ГРУППА (№группа, Код факультета).