- •Лекция №7. Тема: «Проектирование структуры базы данных»
- •7.1. Понятие функциональной зависимости.
- •Название_филиала, Адрес, Номер_счета, Баланс, Тип,
- •Название_филиала, Адрес, Номер_счета
- •Название_филиала, Адрес,
- •7.2. Процедура нормализации отношений.
- •7.3. Первая нормальная форма.
- •7.4. Вторая нормальная форма.
- •7.5. Третья нормальная форма.
7.3. Первая нормальная форма.
Разработчик базы данных может из интуитивных соображений реализовать описанную базу данных в виде двух отношений: первое из них, Счет, содержит информацию обо всех счетах, обрабатываемых всеми филиалами банка, а второе, Клиент, содержит информацию о клиентах и внешний ключ Номер_клиента, связывающий каждого клиента с информацией о его счетах. Это представление показано в табл. 3.
Отношение Филиал |
|||||
Название_филиала |
Адрес |
Номер_менеджера |
Счет |
Баланс |
Тип |
065\69 |
Николаева,45 |
1768 |
120768 |
234.56 |
Д |
678453 |
-456.78 |
Т |
|||
348973 |
12567.56 |
Т |
|||
065\78 |
Мира,6 |
9823 |
987654 |
789.65 |
Т |
745363 |
-23.67 |
Д |
Отношение Клиент |
||||
Номер клиента |
Имя клиента |
Адрес |
Статус |
Номер счета |
2345 |
Иванов А.А. |
Гагарина, 23 |
Бизнес |
{120768, 348973} |
7654 |
Петров К.К. |
Кирова, 65 |
Личный |
{987654} |
8764 |
Сидоров И.И. |
Ленина, 13 |
Бизнес |
{745363, 678453, 348973} |
Таблица 3. Ненормализованная база данных
Первый недостаток этого представления, который сразу же бросается в глаза, состоит в том, что оно противоречит одному из основных требований к реляционным базам данных, так как содержит многозначные атрибуты (Номер_счета в отношении КЛИЕНТ, Баланс и Тип в отношении Филиал). Taкая база данных называется полностью ненормализованной. Теория нормализации состоит из ряда определений нормальных форм. Исходной является первая нормальная форма (1НФ).
Первая нормальная форма требует, чтобы домены всех атрибутов базы данных содержали только простые неделимые значения, а значением атрибута в кортеже должно быть одно значение из его домена. Представление таблицы 3 в lНФ показано в табл. 4.
Отношение Филиал |
|||||
Название филиала |
Адрес |
Номер менеджера |
Номер счета |
Баланс |
Тип |
065\69 |
Николаева,45 |
1768 |
120768 |
234.56 |
'Д' |
065\69 |
Николаева,45 |
1768 |
678453 |
-456.78 |
'Т’ |
065\69 |
Николаева,45 |
1768 |
348973 |
12567.56 |
'Т’ |
065\78 |
Мира,6 |
9823 |
987654 |
789.65 |
‘Т’ |
065\78 |
Мира,6 |
9823 |
745363 |
-23.67 |
'Д' |
Отношение Клиент |
||||
Номер клиента |
Имя клиента |
Адрес |
Статус |
Номер счета |
2345 |
Иванов А.А. |
Гагарина, 23 |
Бизнес |
120768 |
2345 |
Иванов А.А. |
Гагарина, 23 |
Бизнес |
348973 |
7654 |
Петров К.К. |
Кирова, 65 |
Личный |
987654 |
8764 |
Сидоров И.И. |
Ленина, 13 |
Бизнес |
745363 |
8764 |
Сидоров И.И. |
Ленина, 13 |
Бизнес |
678453 |
8764 |
Сидоров И.И. |
Ленина, 13 |
Бизнес |
348973 |
Таблица 4. Нормализованная база данных a 1НФ.
Это представление уже корректно в смысле соответствия основополагающим принципам реляционной теории, но оно неэффективно, так как содержит много избыточной информации, что может вызывать аномалии, описанные в предыдущем разделе. Нужна более совершенная нормальная форма.