Зависимости между атрибутами 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Зависимости между атрибутами



смотрим основные виды зависимостей между атрибутами отношений: функциональные, многозначные и транзитивные.

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

Определение функциональной зависимости. Атрибут В функционально зависит от А, если каждому значению А соответствует в точности одно значение 6. Мате-ики функциональная зависимость В or А обозначается записью А ->В. Это означа-зо всех кортежах с одинаковым значением атрибута А атрибут В будет иметь так-э и то же значение. Отметим, что А и В могут быть составными — состоять из двух атрибутов.

•ношении на рис. 19.7 можно выделить функциональные зависимости между ат--ш ФИО-Жаф, ФИО->Должн, Должн->0клад, ФИО->Предмет. В отношении

19.7 ключ является составным и состоит из атрибутов ФИО, Предмет, Группа, ^ношение находится в первой нормальной форме, то все неключевые атрибуты

онально зависят от ключа с различной степенью зависимости. 'личной зависимостью называется зависимость неключевого атрибута от части «го ключа. В рассматриваемом отношении атрибут Должн находится в функцио-i зависимости от атрибута ФИО, являющегося частью ключа. Тем самым атрибут находится в частичной зависимости от ключа отношения.



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

Атрибут С зависит от атрибута А транзитивно, если для атрибутов А, В, С выполня­ются условия А -> В и В -> С, но обратная зависимость отсутствует. В отношении на рис. 19.7 транзитивной зависимостью связаны атрибуты:

ФИО ->Должн -> Оклад

Между атрибутами может иметь место многозначная зависимость.

Определение многозначной зависимости. В отношении R атрибут Б многозначно за­висит от атрибута А, если каждому значению Л соответствует множество значений В, не связанных с другими атрибутами из R.

Многозначные зависимости могут быть «один ко многим» (1:М), «многие к одному» (М:1) или «многие ко многим» (М:М), обозначаемые соответственно: А-»В, А«-ВиА«—»В.

Например, пусть преподаватель ведет несколько предметов, а каждый предмет может ве­стись несколькими преподавателями, тогда имеет место зависимость ФИО«—»Предмет.

Выявление зависимостей между атрибутами

Выявление зависимостей между атрибутами необходимо для выполнения проекти­рования БД методом нормальных форм, рассматриваемым далее.

Выявим зависимости между атрибутами отношения ПРЕПОДАВАТЕЛЬ, приведенного на рис. 19.7. При этом учтем следующее условие, которое выполняется в данном отношении.

Условие. Один преподаватель в одной группе может проводить только один вид заня­тий (лекции или практические занятия).

В результате анализа отношения получаем зависимости между атрибутами, показан­ные на рис. 19.8.

а) б)

ФИО->Должн

ФИО-> Оклад

ФИО->Стаж

ФИО->Д_Стаж

ФИО-Жаф

Стаж->Д_Стаж

Должн-> Оклад

ВидЗан]

Оклад->Должн

ФИО, Предм, Группа->ВидЗан

Рис. 19.8. Зависимость между атрибутами

К выделению этих функциональных зависимостей ФЗ для рассматриваемого приме­ра приводят следующие соображения.

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


 

-дый преподаватель имеет определенную добавку за стаж, т. е. имеет место фун-льная зависимость ФИО->Д_Стаж, но обратная функциональная зависимость

-вует, так как одну и ту же надбавку могут иметь несколько преподавателей. 1дый преподаватель имеет определенную должность (преп., ст. преп., доцент, профес-одну и ту же должность могут иметь несколько преподавателей, т. е. имеет место функ-=,ная зависимость ФИО->Должн, а обратная функциональная зависимость отсутствует.

-дый преподаватель является сотрудником одной и только одной кафедры. Поэто-тсциональная зависимость ФИО-Жаф имеет место. С другой стороны, на каждой «много преподавателей, поэтому обратной функциональной зависимости нет. ^дому преподавателю соответствует конкретный оклад, который одинаков для всех ~ов с одинаковыми должностями, что учитывается зависимостями ФИО->Оклад ^н->0клад. Нет одинаковых окладов для разных должностей, поэтому имеет мес-кциональная зависимость Оклад->Должн.

zh и тот же преподаватель в одной группе по разным предметам может проводить раз-щы занятий. Определение вида занятий, которые проводит преподаватель, невозможно зания предмета и группы, поэтому имеет место функциональная зависимость ФИО,, Группа->ВидЗан. Действительно, Петров М. И. в 256 группе читает лекции и прово-

•тические занятия. Но лекции он читает по СУБД, а практику проводит по Паскалю, си не были выделены зависимости между атрибутами ФИО, Предм и Группа, поскольку азуют составной ключ и не учитываются в процессе нормализации исходного отношения, ле того, как выделены все функциональные зависимости, следует проверить их эванность с данными исходного отношения ПРЕПОДАВАТЕЛЬ (рис. 19.7).

•ример, Должн.=преп и Оклад=500 всегда соответствуют друг другу во всех кор-т. с. подтверждается функциональная зависимость Должн. <—> Оклад. Так же г верифицировать и остальные функциональные зависимости, не забывая об ог-жности имеющихся в отношении данных.

Нормальные формы

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

Выделяют следующую последовательность нормальных форм:

первая нормальная форма (1НФ);

вторая нормальная форма (2НФ);

третья нормальная форма (ЗНФ);

усиленная третья нормальная форма, или нормальная форма Бойса-Кодда (БКНФ)

четвертая нормальная форма (4НФ);

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

Первая нормальная форма. Отношение находится в 1 НФ, если все его атрибуты яв-

: простыми (имеют единственное значение). Исходное отношение строится таким

м, чтобы оно было в 1 НФ.



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

Основной операцией метода является операция проекции. Поясним ее на примере. Предположим, что в отношении R(A,B,C,D,E...) устранение функциональной зависимо­сти C->D позволит перевести его в следующую нормальную форму. Для решения этой задачи выполним декомпозицию отношения R на два новых отношения R1 (А,В,С,Е...) и R2(C,D). Отношение R2 является проекцией отношения R на атрибуты С и D.

Исходное отношение ПРЕПОДАВАТЕЛЬ, используемое для иллюстрации метода, имеет составной ключ ФИО. Предм. Группа и находится в 1НФ, поскольку все его атри­буты простые.

В этом отношении, в соответствии с рис. 19.8 б, можно выделить частичную зависимость атрибутов Стаж, Д_Стаж, Каф, Должн, Оклад от ключа — указанные атрибуты находятся в функциональной зависимости от атрибута ФИО, являющегося частью составного ключа.

Эта частичная зависимость от ключа приводит к следующему:

1. В отношении присутствует явное и неявное избыточное дублирование данных, на­пример:

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

• повторение сведений об окладах для одной и той же должности или о надбавках за одинаковый стаж.

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

Часть избыточности устраняется при переводе отношения в 2НФ.

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

Для устранения частичной зависимости и перевода отношения в 2НФ необходимо, используя операцию проекции, разложить его на два отношения следующим образом:

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

• построить проекции на части составного первичного ключа и атрибуты, зависящие от этих частей.

В результате получили два отношения R1 и R2 в 2НФ (рис. 19.9).

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

Исследование отношений R1 и R2 показывает, что переход к 2НФ позволил исклю­чить явную избыточность данных в таблице R2 — повторение строк со сведениями о пре­подавателях. В R2 по-прежнему имеет место неявное дублирование данных.


Часть 5. Базы данных


 


ФИО

Каф)

    Предм   Группа   ВидЗан    
зИ.М.   СУБД     Практ    
зИ.М.   ПЛ/1     Практ    
зМ.И.   СУБД     Лекция    
зМ.И.   Паскаль     Практ    
IDB Н. Г.   ПЛ/1     Лекция    
эв Н. Г.   Паскаль     Лекция    
В. В.   ПЭВМ     Лекция    
    Должн   Оклад   Стаж   Д Стаж   Каф  
• и.м.   преп          
ьМ.И.   ст.преп          
эв Н. Г.   преп          
В. В.   преп          
                   

Рис. 19.9. Отношения БД в 2НФ

дальнейшего совершенствования отношения необходимо преобразовать его в ЗНФ. Третья нормальная форма. Отношение находится в ЗНФ, если оно находится в 2НФ

-и неключевой атрибут нетранзитивно зависит от первичного ключа.

: в отношении R1 транзитивные зависимости отсутствуют, то в отношении R2

ФИО->Должн -> Оклад,

ФИО->Оклад ->Должн,

Ф И О - > Стаж - > Д_Стаж

зитивные зависимости также порождают избыточное дублирование информа-~ношении. Устраним их. Для этого используя операцию проекции на атрибуты, неся причиной транзитивных зависимостей, преобразуем отношение R2, полу-этом отношения R3, R4 и R5, каждое из которых находится в ЗНФ (рис. 19.10 а), ски эти отношения представлены на рис. 19.10 б.

рактике построение ЗНФ схем отношений в большинстве случаев является дос-»! и приведением к ним процесс проектирования реляционной БД заканчивает -твительно, приведение отношений к ЗНФ в нашем примере привело к устране-ыточного дублирования, в отношении имеется зависимость атрибутов составного ключа от неключевых атрибу-

- обходимо перейти к усиленной ЗНФ

энная ЗНФ, или нормальная форма Бойса-Kodda (БКНФ).

шение находится в БКНФ, если оно находится в ЗНФ и в нем отсутствуют зависи-

- ючей (атрибутов составного ключа) от неключевых атрибутов.


 

19. Основы построения баз данных

а) R3       R4       R5  
ФИО   Должн   Стаж   Каф   Должн   Оклад   Стаж   Д_Стаж  
Иванов И.М.   преп       преп        
Петров МИ.   ст.преп       ст.преп        
Сидоров Н.Г.   преп              
Егоров В. В.   преп          



 


Рис. 19.10. Отношения БД в ЗНФ

У нас подобной зависимости нет, поэтому процесс проектирования на этом заканчивается. Результатом проектирования является БД, состоящая из следующих таблиц: R1, R3, R4, R5. В полученной БД имеет место необходимое дублирование данных, но отсутствует избыточное.

Итак, процесс нормализации отношений методом нормальных форм предполагает после­довательное удаление из исходного отношения следующих межатрибутных зависимостей:

• частичных зависимостей неключевых атрибутов от ключа (2НФ);

• транзитивных зависимостей неключевых атрибутов от ключа (ЗНФ);

• зависимости ключей (атрибутов составных ключей) от неключевых атрибутов (БКНФ).

Кроме метода нормальных форм Кодда, используемого для проектирования небольших БД, применяют и другие методы, например, метод ER-дшграмм (метод «Сущность-связь»). Этот метод используется при проектировании больших БД, на нем основан ряд средств про­ектирования БД. Суть метода ER-диаграмм состоит в том, что из предметной области реша­емой задачи выделяются объекты (сущности). Информация о каждом из них представляет­ся в виде объектного отношения. На основе ряда правил объектные отношения могут связы­ваться между собой с помощью связных отношений или непосредственно друг с другом.

На последнем этапе метода ER-диаграмм отношения, полученные в результате проек­тирования, проверяются на принадлежность их к БКНФ. Этот этап может выполняться уже с использованием метода нормальных форм.

После завершения проектирования БД создается с помощью СУБД.

Обеспечение целостности БД

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


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

-олько один его кортеж. Первое требование состоит в том, что любой кортеж от-я должен быть отличим от любого другого кортежа этого отношения, иными

-з, любое отношение должно обладать первичным ключом.

:мулировка второго требования тесно связана с понятием внешнего ключа. Напом-

э внешние ключи служат для связи отношений (таблиц БД) между собой. При этом

одной таблицы, назовем ее родительской, служащий для связи ее с другой табли- эчерней, в которой он является первичным ключом — называется внешним ключом

отношения (таблицы). Говорят, что отношение, в котором определен внешний ключ,

- ся на отношение, в котором этот же атрибут является первичным ключом.

-ование целостности по ссылкам состоит в том, что для каждого значения внеш-

-оча родительской таблицы должна найтись строка в дочерней таблице с таким «нием первичного ключа. Например, если в отношении R1 (рис. 19.11) содержат-

-гсельская таблица Дочерняя таблица

R2


 


Должн   Оклад  
преп    
ст.преп    
Ключ
ю   Должн   Каф   Стаж  
нов И.М.   преп     5  
зов М.И.   ст.преп     1  
оров Н.Г.   преп      
зов В. В.   преп      

Внешний ключ

Рис. 19.11. Связь отношений с помощью внешнего ключа

=ния о сотрудниках кафедры, а атрибут этого отношения Должн является первич-

•очом отношения R2, то в этом отношении для каждой должности из R1 должна 3>ока с соответствующим ей окладом.

Языки запросов QBE и SQL

яимые в базе данные можно обрабатывать (просматривать и редактировать) «вруч-

- с помощью имеющихся в каждой СУБД средств просмотра и редактирования в таблицах. Для повышения эффективности множественной обработки данных

зфования и выбора данных из таблиц) создаются и выполняются запросы.

эос представляет собой специальным образом описанное требование, определяющее

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

овных языка описания запросов:



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 1677; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.90.131 (0.046 с.)