Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Нормализация реляционных отношений




Отношения в реляционных базах данных обладают всеми свойствами множеств.

Ограничения в реляционных базах данных:

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

2. Традиционно атрибуты нумеруются порядковыми номерами. На практике более удобно каждому атрибуту присвоить имя. Тогда, в процессе поиска в базе данных, к атрибутам обращаются по именам.

3. На значения атрибутов можно накладывать ограничения, даже в явном виде. Для этого обычно используют язык предикатов.

Функциональные зависимости. Для правильного построения схем реляционной базы данных необходимо знать, какие из атрибутов являются зависимыми.

Определение. Функциональная зависимость означает: атрибут В в отношении R функционально зависит от атрибута А, если в каждый момент времени каждому значению атрибута А соответствует не более, чем одно значение атрибута В из этого же отношения. Это означает, что А однозначно определяет В:А→В.

Например,

 

*

 

 
 


*

 

* - возможные ключи.

Требования к рациональному размещению атрибутов в отношении.

1) Выбранные первичные ключи должны быть минимальными.

2) Состав отношений базы данных должен быть минимальным (на практике минимальная избыточность атрибутов).

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

4) Перестройка набора отношений при введении новых типов данных должна быть минимальна.

5) Разброс времени ответа на различные запросы в базе должен быть небольшим.

Пример аномалии операции модификации.

Поставки (название поставщика, адрес, товар, цена, количество и т.д.). В базе адрес поставщика повторяется для каждого товара. Если у поставщика изменился адрес, то изменения следует сделать во всех кортежах. Если это не так, то база данных противоречива.

Для выполнения этих требований необходима нормализация исходных схем отношений. Это делается с помощью композиции, декомпозиции, назначения новых ключей.

На практике введено четыре уровня нормализации отношений, а значит и четыре нормальных формы: 1НФ, 2НФ, 3НФ, 4НФ. Эти формы подчиняются правилу вложенности по возрастанию номеров. Если отношение в 4НФ, значит оно находится и в 3НФ, и во 2НФ, и в 1НФ.

1НФ

Определение. Отношение R находится в 1НФ тогда, когда все его атрибуты являются атомарными, т.е. значения соответствующих доменов рассматриваются как неделимые, а не как множество каких-то элементарных доменов.

На практике переход к 1НФ означает переход от произвольной структуры данных к двумерным отношениям.

Примечание. Если отношение находится в 1НФ, то этого достаточно для работы языка запросов, остальные требования могут не выполняться.

2НФ.

Схема отношения R находится во 2НФ, если она находится в 1НФ и каждый ее атрибут, не являясь первичным в этом отношении, полностью зависит от первичного ключа.

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

 

 

СЛОЖНОЕ А* 2НФ А* А* Разбиваем

ОТНОШЕНИЕ В* В* D на два

С С простых

D отношения

 

Рассмотрим пример.


*

 

*

* 2НФ

*

       
   
 
 

 


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

2) В общем случае каждый атрибут должен полностью зависеть от всего ключа. В другом случае его рекомендуется выделять в отдельное отношение.

3) Отношение во 2НФ может допускать аномалии для выполнения операции модификации, удаления, включения.

3НФ

Схема отношения находится в 3НФ, если она находится во 2НФ и каждый непервичный атрибут не транзитивно зависит от первичного ключа. На практике переход к 3НФ означает устранение всех транзитивных зависимостей атрибутов, не являющихся основными, от первичных ключей.

 

 
 

 

 


Рассмотрим пример.

На рисунке раздела 3.4. атрибут «дата окончания» зависит от атрибута «номер проекта», который в свою очередь зависит от атрибута «номер служащего». Таким образом, атрибут «дата окончания проекта» транзитивно зависит от атрибута «№ служащего». Приведем это отношение к 3НФ.


*

 

*

*

 

 

Недостатки основной схемы.

1. До назначения конкретного служащего некуда записать дату окончания проекта.

2. Изменение даты проекта заставляет искать все записи, которые содержат дату или ее модификацию.

Примечание. 3НФ является основной при построении реляционных моделей данных. Если в отношении отсутствуют многозначные зависимости, то практически снимаются аномалии операции.

4НФ

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

Декомпозицией схемы отношения R называется замена ее совокупностью подмножеств ρ={R1…, Rn}, R={А1…, АR}, таких, что выполняется следующее соотношение:

R1U R2 U…= U Rn= R={А1…, АR}

При этом не требуется, чтобы схемы подмножеств Ri были непересекающимися.

Выделим основные преимущества реляционных баз данных:

1. Простота

2. Гибкость. Разрезая и склеивая отношения пользователь может получать нужные файлы в нужной для себя форме.

3. Точность. Она обеспечивается применением математических методов.

4. Секретность. При этом упрощается защита данных от несанкционированного доступа. Секретные данные можно выделить в отдельные отношения и установить проверку правила доступа к этим данным.

5. Простота ведения базы данных: физическое размещение двумерных файлов значительно проще, чем размещение сетевых и древовидных структур.

6. Независимость данных. Легко обеспечивается изменение логических записей независимо от прикладных программ.

7. Язык манипулирования данными. На основе алгебры отношений достаточно просто строятся несложные и гибкие ЯМД.

 




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


Дата добавления: 2014-01-20; Просмотров: 541; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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