- •Введение
- •Существуют следующие средства разработки программ работы с бд
- •1. Система баз данных
- •2. Проектирование баз данных
- •Алгоритм процесса проектирования представлен на рис. 2.1
- •На этом этапе необходимо:
- •Студент
- •Даталогическое проектирование
- •3.1. Нормализация отношений
- •По этой причине возникают следующие недостатки отношения r4:
- •Нормальная форма Бойса – Кодда
- •В отношении r2 №зачетки и Идент_номер являются детерминантами и в то же время являются возможными ключами, т.Е. Это отношение в нфбк.
- •3.3. Четвертая нормальная форма (4нф)
- •3.4. Пятая нормальная форма (5нф)
- •В отношени r, в отличие от
- •В отношении r4, в отличие от
По этой причине возникают следующие недостатки отношения r4:
Номер телефона будет многократно повторяться т.к. этот атрибут присутствует в строке для каждого сотрудника.
Изменение номера телефона в какой-либо комнате влечет за собой изменения в нескольких строчках таблицы (в зависимости от количества сотрудников в этой комнате).
Если в комнате, пусть временно, например, во время ремонта, никто не сидит, то сведения о комнате и номер телефона вообще не попадают в базу данных, т.к. для R4 ключом является Таб№ сотрудника.
Для устранения этих недостатков продолжим нормализацию отношения R4, но предварительно введем некоторые понятия.
Определение 10. Транзитивная зависимость. Пусть Х, У, Z – атрибуты одного отношения, и между ними существуют следующие функциональные зависимости:
ХУ, УZ, но Z У и У Х. Тогда говорят, что Z транзитивно зависит от Х.
Х
Утранзитивная зависимость.
Z
В отношении R4 также присутствует транзитивная зависимость.
Определение 11. Отношение находится в 3НФ, если оно находится во 2НФ и каждый не ключевой атрибут не транзитивно зависит от первичного ключа.
В отношении же R4, нарушена 3НФ. Проведем декомпозицию R4 , разделив его на два отношения, т.е. уберем транзитивную зависимость.
R5: Сотрудник R6: Комната
Таб№ |
ФИО |
Оклад |
Комната |
|
№комнаты |
Телефон |
211 |
Иванов И.И. |
5000 |
12 |
|
12 |
616 |
358 |
Темин Т.Т. |
7000 |
12 |
|
5 |
306 |
360 |
Котов К.К. |
10000 |
5 |
|
|
|
Разделив отношение R4 на два отношения R5 и R6, мы получили отношения в 3НФ и при этом устранили выше перечисленные недостатки.
Итак, наша база данных состоит из трех отношений:
R3: Дети(Таб№, Имя_ребенка, Возраст_ребенка)
R5:Сотрудник(Таб№, ФИО, Оклад, Комната)
R6:Комната(№комнаты, Телефон)
На практике, как правило, ограничиваются приведением отношений к 3НФ. Но иногда возникает необходимость и в приведении к более высоким нормальным формам.
Нормальная форма Бойса – Кодда
Отношение находится в нормальной форме Бойса – Кодда (НФБК) в том случае, если оно находится в 3НФ, и каждый детерминант отношения является возможным ключом отношения.
Напомним, что детерминант – это любой атрибут отношения, от которого полностью функционально зависит другой атрибут.
Рассмотрим пример отношения сдачи текущих экзаменов студентами:
Экзамены( №зачетки, Идент_номер, Дисциплина, Дата, Оценка).
В этом примере атрибут Идент_номер (Идентификационный номер) – это некий уникальный номер студента, введенный для электронного учета. Это отношение имеет два возможных ключа:
№зачетки, Дисциплина, Дата и Идент_номер, Дисциплина, Дата
Рассмотрим Функциональные зависимости в этом отношении:
Эти два варианта равнозначны. Просто в первом варианте за первичный ключ принят первый возможный ключ, а во втором – второй возможный ключ. Можно рассматривать любой из этих вариантов, мы остановимся на первом. №зачетки и Идент_номер взаимно определяют друг друга, т.е являются детерминантами, но возможными ключами не являются, т.к. каждый возможный ключ состоит из трех атрибутов. Т.е. по определению это отношение не является отношением в НФБК. Разобъем его на два отношения R1 и R2: