Читайте также:
|
|
Таблица находится в первой нормальной форме тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто. |
Таблица, находящаяся в 1НФ должна отвечать следующим требованиям:
1) Таблица не должна иметь повторяющихся записей
2) В таблице должны отсутствовать повторяющиеся группы полей
Любая таблица в реляционной базе данных автоматически находится в первой нормальной форме, иное просто невозможно по определению. В такой таблице не должно содержаться полей (признаков), которые можно было бы разделить на несколько полей (признаков).
Для приведения к 1НФ можно использовать следующий алгоритм:
1. Определить поле, которое можно назначить первичным ключом. Если такого поля нет, то добавить уникальное ключевое поле.
2. Определить группы повторяющихся полей
3. Вынести группы повторяющихся полей в отдельные таблицы, в основной таблице остается только одно поле для организации связи между таблицами.
4. Назначить первичные ключи в новых таблицах (использовать поле таблицы или добавить новое поле; если ключевое поле имеет большой размер, лучше добавить новое поле).
5. Определить тип отношения между таблицами.
Пример:
Пусть дана однотабличная БД «Заказы» (Рис. 10):
Рис. 10. Однотабличная БД "Заказы"
Приведем БД к 1НФ (по алгоритму) (Рис. 11, 12):
1. Добавим в таблицу поле «Код заказа», что позволит однозначно идентифицировать каждый из заказов.
2. Таблица содержит три группы повторяющихся полей:
1) Поля, характеризующие клиента: ФИО, Телефон, Номер счета
Вынесем их в таблицу «Клиенты»
2) Поля, характеризующие товар: Наименование товара, Цена
Вынесем их в таблицу «Товары»
3) Поля, характеризующие производителя: Фирма производитель, Адрес фирмы производителя
Вынесем их в отдельную таблицу «Производители»
3. В таблицу «Клиенты» добавим новое поле «Код клиента», которое будет однозначно идентифицировать каждую запись таблицы.
В таблицу «Товары» добавим новое поле «Код товара»
В таблицу «Производители» добавим новое поле «Код производителя»
4. Так как связь между таблицами происходит по совпадающим полям, добавим в таблицу «Заказы» поля «Код клиента» и «Код товара», а в таблицу «Товары» поле «Код производителя» для организации связи.
Рис. 11. Приведение БД к 1 НФ
Рис. 12. Определение связей
Далее (Рис. 13): Рис. 13. Данные в таблицах
Дата добавления: 2015-07-07; просмотров: 232 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Информационно-логическая модель данных и ее состав | | | Вторая нормальная форма |