Нормализация отношений. При проектировании реляционной БД центральная задача – это определение количества отношений и их атрибутного состава

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

· множество отношений должно обеспечивать минимальную избыточность данных;

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

· перестройка набора отношений при добавлении в БД новых полей должна быть минимальной.

Наиболее изученным способом преобразования отношений, позволяющих улучшить характеристики БД по перечисленным критериям, является нормализация отношений. Это процесс приведения отношений к той или иной нормальной форме. Методику нормализации отношений разработал американский ученый А. Ф. Кодд в 1970 г. Он выделил три нормальные формы - 1НФ, 2НФ, 3НФ. Позже стали выделять 4НФ и 5НФ. Каждая последующая нормальная форма вводит определенные ограничения на хранимые в БД данные.

Отношение находится в первой нормальной форме, если все его поля являются простыми. Пример ненормализованного отношения:

Книга Автор Цена, тыс. руб. Телефон
А Крюк К. К. Лис Л. Л. 11-11-11 77-77-77
В Дудов Д. Д. Павлов П.П. 44-44-44 55-55-55

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

Книга Автор Цена, тыс. руб. Телефон
А Крюк К. К. 11-11-11
А Лис Л. Л. 77-77-77
В Дудов Д. Д. 44-44-44
В Павлов П.П. 55-55-55

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

В предыдущем отношении неключевое поле «Телефон» не зависит от ключа «Книга». Для приведения этого отношения ко 2НФ его надо разбить на три:

1) информация о книгах:

Номер книги Книга Цена, тыс. руб.
А
В

2) информация об авторах:

Автор Телефон
Крюк К. К. 11-11-11
Лис Л. Л. 77-77-77
Дудов Д. Д. 44-44-44
Павлов П.П. 55-55-55

3) информация о том, какой автор написал какую книгу:

Автор Номер книги
Крюк К. К.
Лис Л. Л.
Дудов Д. Д.
Павлов П.П.

Все три отношения имеют 2НФ.

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

Приведем пример отношения, находящегося во 2НФ, такой структуры:

Таб. № Должность Оклад

В этом отношении имеется транзитивная зависимость: неключевое поле «Оклад» зависит от неключевого поля «Должность», которое зависит от ключа «Таб. №». Она устраняется, если исходное отношение разбить на два отношения следующей структуры:

Таб. № Должность   Должность Оклад

 

В результате требования 3НФ удовлетворены.








Дата добавления: 2015-11-28; просмотров: 607;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.