- •Лекция №7. Тема: «Проектирование структуры базы данных»
- •7.1. Понятие функциональной зависимости.
- •Название_филиала, Адрес, Номер_счета, Баланс, Тип,
- •Название_филиала, Адрес, Номер_счета
- •Название_филиала, Адрес,
- •7.2. Процедура нормализации отношений.
- •7.3. Первая нормальная форма.
- •7.4. Вторая нормальная форма.
- •7.5. Третья нормальная форма.
7.4. Вторая нормальная форма.
Определив первичный ключ для каждого отношения, можно улучшить проект нашей базы данных, преобразовав ее во вторую нормальную форму (2НФ).
Определение: отношение находится во второй нормальной форме (2НФ), если оно, во-первых, находится в 1НФ; и, во-вторых, содержит только те неключевые атрибуты, которые полностью зависят от первичного ключа.
Таким образом, необходимо произвести следующую декомпозицию отношения Клиент.
Отношение Клиент |
|||
Номер_клиента |
Имя клиента |
Адрес |
Статус |
2345 |
Иванов А.А. |
Гагарина, 23 |
Бизнес |
7654 |
Петров К.К. |
Кирова, 65 |
Личный |
8764 |
Сидоров И.И. |
Ленина, 13 |
Бизнес |
Отношение Счета_клиентов |
|
Номер_клиента |
Номер счета |
2345 |
120768 |
2345 |
348973 |
7654 |
987654 |
8764 |
745363 |
8764 |
678453 |
8764 |
348973 |
Эти отношения не содержат избыточности. В отношении Клиент для каждого клиента существует единственный кортеж, а отношение Счета_клиентов содержит по одному кортежу для представления каждой связи счет/клиент. Если клиент не имеет счета, информация о нем не будет потеряна. Тем не менее, в отношении Филиал все еще остается определенная избыточность. Чтобы избавиться от нее, необходима еще одна нормальная форма.
7.5. Третья нормальная форма.
Отношение Филиал имеет первичный ключ, состоящий из одного атрибута Номер_счета. Следовательно, все неключевые атрибуты находятся в полной функциональной зависимости от него. Недостатком данного отношения является повторение информации о филиале для всех счетов, обрабатываемых конкретным филиалом. Это происходит вследствие существования функциональных зависимостей некоторых атрибутов от атрибута Название_филиала: Адрес и Номер_менеджера. Отношение в третьей нормальной форме (3НФ) не должно иметь таких зависимостей.
Определение. Отношение находится в 3НФ, если оно, во-первых, находится в 2НФ, и, во-вторых, неключевые атрибуты не зависят между собой.
Если в отношении обнаружена такая зависимость, необходимо удалить участвующие в ней атрибуты. Затем следует создать новое отношение, в которое войдут удаленные атрибуты, а также атрибут, от которого они зависят. Этот атрибут становится первичным ключом нового отношения; он также остается в исходном отношении в качестве внешнего ключа, что позволяет воссоздать кортежи посредством естественного соединения. Итак, производится следующая декомпозиция отношения Филиал.
Отношение Филиал |
||
Название_филиала |
Адрес |
Номер_менеджера |
Crawley |
1, High Street |
1768 |
Bugstone |
12, Low Street |
9823 |
Отношение Счета |
|||
Номер_счета |
Баланс |
Тип |
Название_филиала |
120768 |
234.56 |
'Д' |
065\69 |
678453 |
-456.78 |
'Т’ |
065\69 |
348973 |
12567.56 |
'Т’ |
065\69 |
987654 |
789.65 |
‘Т’ |
065\78 |
745363 |
-23.67 |
'Д' |
065\78 |
Вопросы для самопроверки:
Дайте определение понятия функциональной зависимости атрибутов.
Что означает процесс нормализации баз данных?
Какие аномалии могут возникнуть в ненормализованной базе данных?
Дайте определение 1НФ.
Дайте определение 2НФ.
Дайте определение 3НФ.
Литература:
[1]
[3]
[5]