Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






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

Таблица, находящаяся в 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. Данные в таблицах






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.