Вы находитесь на странице: 1из 4

Преобразование концептуальной модели в реляционную, процесс

нормализации отношений и нормальные формы по индивидуальной теме


проектирования базы данных “Книжный магазин”
Исходные данные:
1. Продавец продает книги. Книги производится производителем. При этом:
продавец может продать несколько книг, и каждый продавец продает хотя бы
одну книгу.
2. У каждой книги есть тип. Каждая книга обязательно относится к какому -
либо типу, причем, только к одному. В магазине могут быть в наличии книги не
всех типов. Книг одного типа может быть несколько.
3. Таблица будет иметь 5 полей: «Продавец» со всеми данными о продавце,
«Клиент» со всеми данными о клиенте, «Книги», «Продажа». С учётом
поученных сведений можно заключить, что будет иметь место дублирование
данных, равно как и отсутствие значений некоторых полей в записях.

Набор предварительных таблиц (рис. 1).

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

Все атрибуты отношений “Книги” и “Продажа” простые, то есть


их значения неделимы. В нашем случае некоторые атрибуты являются
не простыми. Так, например, данные о месте жительства в таблице
“Продавец” можно разделить на населённый пункт, улицу, номер дома

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

Первая нормальная форма (рис. 2).


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

Каждое не ключевое поле связано полной функциональной


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

2
Вторая нормальная форма (рис. 3).
3. Третья нормальная форма

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


Транзитивная зависимость – ситуация, при которой в некоторой
тройке атрибутов первый зависит от второго, второй от третьего, а
третий от первого.
Транзитивная зависимость наблюдается в том случае, если одно
из двух неключевых полей зависит от первичного ключа, а другое
зависит от первого неключевого поля.
Исключить транзитивные зависимости можно, разбив данное
отношение на несколько отношений, в моём случае их два и оба
находятся в таблице «Продажа»: «Продажа» и «Сумма продажи». При
этом в каждое из них следует добавить поле, являющееся первичным
ключом отношения, например, поле с именем «Код».
Кроме того, чтобы данные не потеряли связи между собой,
нужно добавить в таблицы вторичные ключи. Этими ключами будут: в
таблице «Продажа» - «Код книги»; в таблице «Сумма продажи» - «Код
сумма продажи». В результате получим следующий результат.

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

Вам также может понравиться