|
Нормальные формы
Процесс проектирования БД методом нормальных форм является итерационным и закл-ся в послед-ном переводе отношений из 1 НФ в НФ более высокого порядка по определенным правилам. Каждая следующая НФ ограничивает опред. тип функциональных зависимостей, устраняет аномалии при выполнении операций над отношениями и сохраняет свойства предшествуюших НФ.
Выделяют след. последовательность НФ:
- Первая НФ (НФ1);
- Вторая НФ (НФ2);
- Третья НФ (НФ3);
- Усиленная третья НФ или НФ Байеса Кода (НФБК);
- Четвертая НФ (НФ4);
- Пятая НФ (НФ5).
В большинстве случаев проектирование заканчивают на НФБК, т.к. теоретически доказано, что большинство потенциальных аномалий будет устранено, если все отношения находятся вНФБК.
НФ1 - отношение находится в НФ1, если все его атрибуты являются простыми, т.е. имеют единственное значение. Исходное или универсальное отношение строится т.о., чтобы оно было в НФ1.
НФ2 - отношение находиться в НФ2, если оно находиться в НФ1 и каждый неключевой атрибут функционально полно зависит от первичного или составного ключа.
НФ3 - отношение находиться в НФ3, если оно находиться в НФ2 и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
НФБК - отношение находиться в НФБК, если оно находиться в НФ3 и в нем отсутствуют зависимости ключей или атрибутов составного ключа от неключевых атрибутов;
Перевод отношений в следующую НФ осуществляется методом декомпозиции без потери при помощи операции проекции.
Декомпозиция без потерь должна обеспечить следующее:
- запросы к исходному отношению и к отношениям, полученным в результате декомпозиции дадут одинаковый результат;
- Декомпозиция осуществляется следующим образом:
Пусть отношение R(АВСDE) не приведено к НФБК и в нем существует ФЗ, С→D, устранение которой позволит перевести отношение в следующую НФ. Над отношением R выполняется декомпозиция на 2 новых отношения:
R1(A,B,C,E);
R2(С,Е).
Отношение R2 является проекцией отношения R на атрибуты C,D т.о. атрибуты, кот связаны ФЗ выделяются в отдельные отношения. Процесс нормализации отношений методом нормальных форм предполагает последовательное удаление из исходного отношения сл. зависимостей:
- частичных зависимостей неключевых атрибутов от ключа получаем НФ2;
- транзитивных зависимостей некот атрибутов от ключа получаем НФ3
- зависимостей ключей (атрибутов составных ключей от неключевых атрибутов) получаем НФБК.
Нормализацию отношения студент проводят следующим образом:
-1 шаг определение всех функциональных зависимостей между атрибутами отношения:
1) частичная ФЗ;
2) полная ФЗ;
3) транзитивная зависимость.
предм
- 2 шаг. Декомпозиция с целью удаления частичных зависимостей неключевых атрибутов от ключа, т.е. надо разложить на 2 отношения. Частичная зависимость приводит к дублированию информации о фамилии, комнате, телефоне.
а) построить проекцию без атрибутов, находящихся в частичной ФЗ от первичного ключа.
Отношение «сессия» ном, предм, сем, балл и ключ – ном, предм, сем.
б) построить проекцию на части составного первичного ключа и атрибуты, зависящие от этих частей.
Жилец
НОМ, ФАМ, КОМН, ТЕЛ
Т.о отношение сессия и жилец не содержат частичной функциональной зависимости и находится в НФ2.
- 3 шаг – декомпозиция с целью удаления транзитивных функциональных зависимостей.
Если в отношении сессия транзитивные зависимости отсутствуют, то в отношении жилец они есть и это отношение требует декомпозиции. Транзитивные зависимости приводят к избыточному дублированию
| |||
Для исключения транзитивной зависимости выполняем операцию проекция на атрибуты являющиеся причиной транзитивной зависимости
Житель
(НОМ, ФАМ, КОМН)
Номера
(КОМН, ТЕЛ)
- 4 шаг проверяется наличие зависимостей атрибутов составного ключа от неключевых атрибутов. В полученных отношениях (сессия, житель, номера) таких зависимостей нет, т.о. проектирование баз данных можно считать законченным.
Сессия
ном | предм | сем | балл |
Математика | |||
Физика | |||
Химия | |||
История | |||
Математика | |||
Физика | |||
Химия | |||
Иностр | |||
Информ | |||
Орг.химия | |||
Проц и апп | |||
Мат мод | |||
Делопр |
Житель
ном | фам | Комн |
Соколов | ||
Орлов | ||
Чайкин | ||
Лебедев | ||
Чижиков |
Номера
комн | Тел |
2-58 | |
2-15 | |
2-48 |
Существует еще одна проблема в отношении сессия. Название предметов повторяются, т.к. несколько студентов сдают 1 экзамен и существует многозначная зависимость ном<<–––>>предмет
Если реализовать запрос об успеваемости по к/л предмету напр. химия, то важно чтобы значения атрибутов в кортежах были абсолютно одинаковыми, т.е. нельзя допускать для атрибута предметзначений: химия, химия, химия.
Если данные в базу вводят разные люди то такая ситуация возможна в этом случае требуется еще одно отношение:
Предмет
|
Код предмета | Предмет |
Математика | |
Физика | |
Химия | |
История | |
Иностр | |
Информат | |
Философия | |
Экология | |
Обж | |
Делопр |
Еще одно преимущество использования дополнительного отношения – экономия памяти т.к. для хранения числа код предмета требуется 2 байта, а для хранения строки в 20 символов в 20 байт.
Дата добавления: 2015-08-27; просмотров: 116 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
Нормальное распределение | | | Вы можете усилить любое из 10 тел, определив, какое и тело находиться в дисбалансе, а затем практиковать определенную технику для усиления этого тела. |