Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретические основы реляционных баз данных. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
936 Кб
Скачать

- 125 -

Схема отношения R = (S , K) включает F-зависимость K R, если K K.

Пример. Схема отношения предметы включает F-зависимость ПРЕДМЕТ ПРЕДМЕТ СЕМЕСТР.

Схема базы данных R = {R1, R2, ..., Rp} представляет множество функциональных зависимостей G = { X Y | некоторое Ri из R включает X Y}. Схема базы данных полностью характеризует множество функциональных зависимостей F, если F G.

Пример. Схема базы данных R представляет множество F- зависимостей G = { ФАМИЛИЯ ПРЕДМЕТ ФАМИЛИЯ ПРЕДМЕТ ОЦЕНКА, ПРЕДМЕТ ПРЕДМЕТ СЕМЕСТР }.

Та же схема R полностью характеризует множество F = = { ФАМИЛИЯ ПРЕДМЕТ ФАМИЛИЯ ПРЕДМЕТ ОЦЕНКА СЕМЕСТР, ПРЕДМЕТ ПРЕДМЕТ СЕМЕСТР }. Множество F не может быть представлено схемой R, поскольку первая F-зависимость содержит атрибут СЕМЕСТР (во множестве он специально подчеркнут), который не входит в схему отношения оценки.

3.7.2. Нормальные формы баз данных

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

-126 -

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

Схема отношения R находится в первой нормальной (1НФ) форме, если значения доменов всех атрибутов из схемы R — атомарны (неделимы).

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

Пример. Рассмотрим отношение рождение, в котором указываются дни рождения:

рождение(

ИМЯ

ДАТА_РОЖДЕНИЯ )

 

Павел

4 сентября 1984

 

 

Наталья

3 января 1980

 

Антонина

12 апреля 1967

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

рождение (

ИМЯ

ДЕНЬ

МЕСЯЦ

ГОД РОЖДЕНИЯ

)

 

 

Павел

4

сентября

1984

 

 

Наталья

3

января

1980

 

 

Антонина

12

апреля

1967

 

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

зачет(

СТУДЕНТ

ЗАЧЕТ )

 

{Балашов, Колобаев}

Нет

 

 

{Колычева, Сидоров, Гаплыков}

Да

- 127 -

Для приведения его к первой нормальной форме требуется разделить значения атрибута СТУДЕНТ, как это сделано в отношении

зачет .

зачет ( СТУДЕНТ ЗАЧЕТ )

Балашов Нет Колобаев Нет Колычева Да Сидоров Да Гаплыков Да

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

Во-первых, только первая нормальная форма позволяет представлять F-зависимости с должной степенью детализации. Предположим, что нами модернизировано отношение рождение и к нему добавлен атрибут ЗНАК, определяющий, к какому знаку зодиака относится тот или иной человек. Как известно, знак зодиака определяется только числом и месяцем, но ни в коем случае не годом. Следовательно, существует F-зависимость ДЕНЬ_РОЖДЕНИЯ МЕСЯЦ_РОЖДЕНИЯ ЗНАК. Однако в схеме отношения рождение такую зависимость можно представить только как ДАТА_РОЖДЕНИЯ ЗНАК, что позволит двум людям с одинаковыми днями и месяцами рождения, но с различным годом рождения иметь различные знаки зодиака.

Во-вторых, в не приведенных к первой нормальной форме отношениях могут возникнуть трудности при изменении данных, например после получения зачета студентом Колобаевым требуется удалить его из множества {Балашов, Колобаев} и добавить к множеству {Колычева, Сидоров, Гаплыков}, что достаточно трудно выполнимо.

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

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

- 128 -

расписание ( ГРУППА

ПРЕДМЕТ

СПЕЦИАЛЬНОСТЬ

ЛЕКТОР )

 

740

физика

2201

Гущин

 

740

химия

2201

Пронин

741

физика

2201

Гущин

741

химия

2201

Пронин

742

химия

2206

Никитин

Ключом данного отношения является составной атрибут ГРУППА ПРЕДМЕТ, кроме того , в отношении выполняется F- зависимость ГРУППА СПЕЦИАЛЬНОСТЬ. Отношение обладает рядом нежелательных свойств:

1.Операция изменения данных CH(расписание ; ГРУППА = 740, ПРЕДМЕТ = «физика»; СПЕЦИАЛЬНОСТЬ = 2202) приводит к нарушению F-зависимости ГРУППА СПЕЦИАЛЬНОСТЬ, поскольку теперь группа 740 относится одновременно к специальности 2201 и 2202.

2.Операция удаления DEL(расписание ; ГРУППА = 742, ПРЕДМЕТ = = «химия») приводит к потере информации о том, что группа 742 обучается по специальности 2206.

3.Отношение не содержит информации о принадлежности к специальностям групп, расписание для которых еще не составлено.

4.Для групп 740 и 741 дублируется информация об их принадлежности к соответствующим специальностям.

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

предметы( ГРУППА

ПРЕДМЕТ

ЛЕКТОР )

 

740

физика

Гущин

 

740

химия

Пронин

741

физика

Гущин

741

химия

Пронин

742

химия

Никитин

специальности ( ГРУППА СПЕЦИАЛЬНОСТЬ )

7402201

7412201

7422206

- 129 -

Обратим внимание на то, что исходное отношение полностью восстанавливается: предметы специальности = расписание.

Для того чтобы дать определение второй нормальной формы, следует ввести еще один вид функциональной определяемости:

Атрибут Y частично зависит от атрибута X относительно множества F-зависимостей F тогда, когда зависимость X Y не редуцирована слева относительно F. Другими словами, атрибут X функционально полно определяет атрибут Y, если нет такого собственного подмножества X X, что F X

Y.

Пример. В множестве F-зависимостей

F = { ГРУППА ПРЕДМЕТ СПЕЦИАЛЬНОСТЬ ЛЕКТОР,

ГРУППА СПЕЦИАЛЬНОСТЬ } атрибут ЛЕКТОР функционально полно зависит от ГРУППА ПРЕДМЕТ, а атрибут СПЕЦИАЛЬНОСТЬ — нет.

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

непервичным.

В литературе наряду с этим названием часто используется термин

ключевой и неключевой атрибуты.

Пример. Для схемы R = ГРУППА ПРЕДМЕТ СПЕЦИАЛЬНОСТЬ ЛЕКТОР атрибуты ГРУППА ПРЕДМЕТ являются ключевыми, а СПЕЦИАЛЬНОСТЬ ЛЕКТОР — нет.

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

Пример. Отношение расписание не находится во второй нормальной форме из-за того, что атрибут СПЕЦИАЛЬНОСТЬ функционально неполно зависит от ключа K = ГРУППА ПРЕДМЕТ, поскольку имеется зависимость ГРУППА СПЕЦИАЛЬНОСТЬ, а атрибут ГРУППА - подмножество ключа {ГРУППА ПРЕДМЕТ}.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]