(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Нормализация отношений (документация)

Источник: info-system

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

В реляционной модели данных поддерживаются только нормализованные отношения по следующим причинам:

  • такой подход не налагает ограничений на то, что можно описывать с помощью нормализованных отношений;
  • полученное упрощение в структуре данных ведет к соответствующим упрощениям в операторах манипулирования данными.

Е. Кодд первоначально определил три уровня нормализации, которые он назвал первой, второй и третьей нормальными формами. Все нормализованные отношения находятся в первой нормальной форме (1НФ). Некоторые отношения 1НФ находятся также во второй нормальной форме (2НФ), некоторые отношения 2НФ находятся в третьей нормальной форме (ЗНФ). Р.Фейгин определил четвертую нормальную форму (4НФ), в которой находятся некоторые отношения ЗНФ. Имеется механизм, позволяющий любое отношение преобразовать к четвертой нормальной форме. В процессе таких преобразований могут выделяться новые отношения.

Первая нормальная форма

Определение. Отношение R находится в 1НФ тогда и только тогда, когда все входящие в него значения (домены) содержат только атомарные значения.

Это значит, что любое нормализованное отношение находится в 1 НФ.

Функциональная зависимость. Пусть X и Y - два атрибута некоторого отношения. Говорят, что Y функционально зависит от X, если в любой момент времени каждому значению Х соответствует не более одного значения атрибута Y.

Функциональную зависимость обозначают так X - > У.

Возьмем отношение студент S (Ns, Fio, Ngr, Addr, Tel), определенное в. В этом отношении каждый из атрибутов Fio, Ngr, Addr, Tel функционально зависит от атрибута Ns. Можно представить функциональные зависимости в виде диаграммы - рис. 2.

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

Итак, в нормализованном отношении все неключевые атрибуты функционально зависят от ключа отношения. Ключом отношения S является атрибут Ns, ключом отношения S_P является совокупность атрибутов Ns, Np - составной ключ.

Функциональные зависимости
в отношении S
Функциональные зависимости
в отношении S_P

 
   
Рис. 2. Рис. 3.

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

Вторая нормальная форма

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

STUD (Ns, Flo, Ngr,Addr, Tel, Np, Ball)

Отношение STUD находится в 1НФ. Но атрибуты Flo, Ngr, Addr, Tel нe находятся в полной функциональной зависимости от ключа отношения, так как они функционально зависят от части ключа - Ns. Это приводит к следующей нежелательной ситуации. Во-первых, имеет место дублирование информации. Во-вторых, информация о студенте появится только тогда, когда он получит оценку хотя бы по одному предмету.

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

Чтобы отношение STUD привести ко 2НФ, необходимо:

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

В нашем случае отношение STUD преобразуется последовательно в отношение S_P и в отношение S. Отношения S, S_P находятся во 2НФ.

Транзитивная зависимость. Пусть X, Y, Z- атрибуты отношения R и Х ~> Y , Y-> Z, но обратное соответствие отсутствует. Тогда говорят, что Z транвитивно зависит от X.

Построим отношение SS(Ns,Flo,Ngr,Spec,Addr,Tel), где Spec - специавьнооть, которая определяется конкретной группой. В этом отношении атрибут Spec транзитивно зависит от Ns. Эта транзитивность приводит к трудности выполнения операций запоминания (редактировавия). Информация о специальности будет храниться только тогда, когда в соответствупцей группе будет хотя 6ы один студент. Кроме того, значение атрибута Spec дублируется для всех студентов одной и той яе группы.

Третья нормальная форма

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

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

S(Ns, Flo, Ngr, Addr, Tel),   Spec_S(Ngr, Spec).

Отношение в ЗНФ называют отношением в нормальной форме Бойса-Кодда (НФБК), если в нем отсутствуют зависимости ключей от неключевых атрибутов.

В процессе приведения отношений ко второй и к третьей нормальнш формам число отношений в схеме базы данных увеличивается. Этот процесс является обратимым и никакая информация при преобразовании не теряется.

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

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

Четвертая нормальная форма

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

Определение. Говорят, что отношение R находится в 4НФ, если оно находится в НФБК и в нем отсутствуют невависимые многозначные вависимости, т.е. все невависимые многозначные зависимости выделены в отдельные отношения с одним и тем же ключом.

Рассмотрим отношение R(Pred,Prep,Uch), где Pred - предмет, Prep - преподаватель, Uch - учебник. Семантика данных следующая:

* данному предмету может соответствовать любое количество преподавателей и любое количество учебников;
* преподаватели и учебники не зависят друг от друга.

В отношении R атрибут Pred многозначно определяет атрибут Prep; атрибут Uch многозначно зависит от Pred, причем эти завивисимости не являются функциональными.

Проекции Rl (Pred, Prep) и R2 (Pred, Uch) не содержат таких зависимостей, поэтому отношения R1, R2 представляют собой улучшение по сравнению с первоначальным отношением R.

Следует отметить, что понятие 4НФ так же, как и понятие функциональной зависимости, касается семантики (содержания) данных. Поэтому разработчик, использующий 4НФ, строит модель данных более близкую к реальному миру.



 Распечатать »
 Правила публикации »
  Обсудить материал в конференции ERwin »
Обсудить материал в конференции Gupta/Centura (Gupta Technologies) »
Обсудить материал в конференции IBM Rational/Telelogic - системный инжиниринг, управление требованиями, изменениями, жизненным циклом ИС, умное управление проектами »
Обсудить материал в конференции Micro Focus/Borland »
Обсудить материал в конференции Microsoft »
Обсудить материал в конференции Oracle »
Обсудить материал в конференции Sybase »
Обсудить материал в конференции Дизайн, графика, обработка изображений »
Написать редактору 
 Рекомендовать » Дата публикации: 03.02.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft SQL CAL 2017 Sngl OLP 1License NoLevel DvcCAL
Microsoft System Center Standard Core Sngl License/Software Assurance Pack OLP 2Licenses NoLevel CoreLic Qualified
Microsoft Visual Studio Professional 2017 Russian Academic OLP 1License NoLevel
IBM Rational Method Composer Authorized User License
IBM Domino Utility Server Processor Value Unit (PVU) License + SW Subscription & Support 12 Months
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Вопросы и ответы по MS SQL Server
ЕRP-Форум. Творческие дискуссии о системах автоматизации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Excell не печатает :-( (2)
Почему то Excell не печатает страницы в альбомной ориентаций, то есть страница в аольбомной...
 
Как извлечь рисунки из файла Word (41)
Вообще-то есть еще способ - сделать в Word-е Copy рисунка, открыть Microsoft Photo Editor и там:...
 
ODBC: dBase CREATE TABLE... (9)
Есть проблема Из программы на CTD 2.0 PTF3 подключаемся к DBF-файлам Set SqlDatabase='Файлы...
 
Как сменить пароль для схемы SYSTEM? (6)
Как сменить пароль по умолчанию для схемы SYSTEM c 'manager' на свой? То же и для SYS
 
Помощь студентам по программированию (2)
https://xn-d1aqfdigh.xn-p1ai/ Помощь студентам по программированию на языках высокого уровня.
 
 
 



    
rambler's top100 Rambler's Top100