русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Нормальные формы. Нормальная форма Бойса-Кодда.


Дата добавления: 2014-10-07; просмотров: 864; Нарушение авторских прав


Нормальная форма Бойсса – Кодда (НФ Б-К).

Пусть есть отношение «проект» (деталь, №проекта, поставщик), отражающее использование в проектах деталей, поставляемых поставщиками. В проекте используется несколько деталей, поставляемых только одним поставщиком. Каждый поставщик обслуживает только один проект, но проекты могут обеспечиваться несколькими поставщиками. В отношениях присутствуют следующие функциональные зависимости: деталь, номер проекта ® поставщик (по определению ключа), поставщик ® № проекта. Это отношение находится в 3НФ, т.к. в нём нет неполных функциональных зависимостей и транзитивных зависимостей не первичных атрибутов от ключей, но есть следующие аномалии:

1 Включения. Факт поставки поставщиком детали не может быть занесен в БД до тех пор, пока в проекте не начнут использовать эти детали;

2 Удаления. Если последний из типов деталей использован, данные о поставщике будут также удалены из БД;

3 Обновления. Если меняется поставщик некоторого типа деталей, необходим просмотр отношения для изменения всех картежей, содержащих эти детали.

Разложение исходного отношения на отношение НФ Б-К устраняет рассмотренные аномалии.

Отношение находится в НФ Б-К, если оно находится в 3НФ, и в нём отсутствуют зависимости первичных атрибутов от не первичных. Т.е. если все домены функциональных зависимостей не являются возможными ключами. Для этого необходимо установить в данном отношении зависимость: поставщик® № проекта, что достигается следующим разложением:

Проект «деталь» (деталь, № проекта)

Поставки (поставщик, № проекта).

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

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



Например, есть отношение «преподаватели» (шифр, дисциплины, дети, должность). Между преподавателями и детьми связь один ко многим, а между преподавателями и дисциплинами - много ко многим (m : n). При этом считается, что некоторые курсы могут читать несколько преподавателей.

Номер картежа Шифр Дети Дисциплина Должность
Вася БД Доцент
Петя АСНИ Доцент
Вася АСНИ Доцент
Петя БД Доцент
Коля БД Профессор

 

Если объявляется многозадачная зависимость атрибутов «дети» или «дисциплины» от атрибута «шифр», то каждому значению атрибута «шифр» должно соответствовать фиксированное множество значений атрибутов «дети» и «дисциплины» соответственно. Возможно изменение значений этих атрибутов в любой строке отношения. Замена значения атрибута «дисциплина» в картеже № 2 даёт картеж № 4. Замена значения атрибута «дети» в картеже № 2 даёт картеж № 3. Т.е. оба полученных картежа уже есть в отношении, т.о. другие значения картежей никак не связаны со значениями многозначных атрибутов, следовательно есть две многозначные зависимости: шифр ->> дети, шифр ->> дисциплина. Для наличия в отношении многозначной зависимости необходимо иметь минимум три атрибута (ключ и не менее двух независимых атрибутов).

Четвёртая нормальная форма (4НФ).

Отношение находится в 4НФ, если оно находится в НФ Б-К, и в нём отсутствуют многозначные зависимости, которые не являются функциональными.

R1 шифр® дети

R2 шифр® дисциплины

R3 шифр® должность

4НФ показывает, что отношение может находиться в НФ Б-К и, тем не менее, могут существовать некоторые аномалии. Например, если у преподавателя появился ещё один ребёнок, то в отношения надо добавить столько строк (картежей), сколько он ведёт дисциплин. Аналогично при появлении новых дисциплин.

Пятая нормальная форма (5НФ).

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

Резюме.

Цели нормализации:

1 освобождение набора отношений от нежелательных зависимостей при корректировке;

2 снижение необходимости перестройки набора отношений при введении новых атрибутов, что увеличивает период жизни БД и ПО;

3 стремление сделать модель более информативной для пользователя;

4 стремление сделать набор отношений нейтральным для прикладного ПО.

 

Процесс нормализации может быть разделён на четыре шага.

 
 

 

 


1 Переход от произвольной структуры данных, не являющейся двумерной к двумерным отношениям.

2 Устранение всех неполных зависимостей атрибутов, не являющихся основными от вероятных ключей.

3 Устранение всех транзитивных зависимостей атрибутов, не являющихся основными от вероятных ключей.

4 Устранение всех нетривиальных многозначных зависимостей атрибутов, не являющихся основными от вероятных ключей.

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

Отношение в четвёртой нормальной форме, если оно в нормальной форме Бойса-Кодда и в нём отсутствуют многозначные зависимости, которые не являются функциональными.

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




<== предыдущая лекция | следующая лекция ==>
Третья нормальная форма (3НФ). | Основные понятия модели сущность связь (Сущность, экземпляр сущности, атрибут сущности, ключ сущности, связь)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.