- •Первая нормальная форма (НФ1)- это нормализованное
- •Недостатки НФ1:
- •Пример отношения в НФ1:
- •Первичный ключ:
- •Вторая нормальная форма (НФ2)- это нормализованное
- •Третья нормальная форма (НФ3)- это нормализованное
- •Представление связей между таблицами в РМД
- •Внешний ключ- поле таблицы, предназначенное для хранения значения первичного ключа другой таблицы с
- •Например, таблицы «Факультеты»:
- •И «Кафедры»
- •Дублирование внешнего ключа- единственная избыточность, которая может присутствовать в БД
- •Из двух связанных таблиц одна является главной (таблица-отец), а другая- подчиненной (таблица- сын).
- •Если первичный ключ главной таблицы состоит из нескольких полей или представляет собой одно,
- •Примеры проектирования БД
- •Для посреднической фирмы, занимающейся продажей вычислительной техники, необходимы сведения о поставщиках (название фирмы,
- •Рассмотрим представление БД в виде
- •Таблица «Товары»
- •Недостатки такого представления:
- ••Присутствует аномалия включения: нельзя включить в БД информацию о новом товаре до тех
- ••Между объектами «Поставщики» и «Товары» связь «многие ко многим»: один и тот же
- •Для устранения этих недостатков введем справочники «Страны», «Города», «Собственность» с искусственными первичными ключами,
- •Таблица
Дублирование внешнего ключа- единственная избыточность, которая может присутствовать в БД
11
Из двух связанных таблиц одна является главной (таблица-отец), а другая- подчиненной (таблица- сын).
Главная таблица содержит первичный ключ, а подчиненная- внешний
12
Если первичный ключ главной таблицы состоит из нескольких полей или представляет собой одно, но длинное поле, его
заменяют коротким
искусственным ключом (кодом, шифром и т.п.)
Это сокращает суммарный
размер связанных таблиц.
13
Примеры проектирования БД
14
Для посреднической фирмы, занимающейся продажей вычислительной техники, необходимы сведения о поставщиках (название фирмы, город, страна, форма собственности, телефон, адрес) и о представленных ими товарах (наименование товара, фирма- изготовитель, дата поставки партии, цена единицы, количество единиц). 15
Рассмотрим представление БД в виде
двух |
таблиц. |
Таблица «Поставщики» |
|
Фирма |
Город |
Страна |
Собствен- |
Телеф |
Адрес |
|
|
|
ность |
он |
|
Альфа |
Киев |
Украина |
частная |
8-044- Ул.Парко- |
|
|
|
|
|
212-3- |
вая 12 |
|
|
|
|
12 |
|
Гамма |
Минск |
Беларусь |
государствен |
… |
… |
|
|
|
ная |
|
|
Омега |
Киев |
Украина |
акционерная |
… |
… |
|
|
|
|
|
16 |
Таблица «Товары»
Товар Изготовите ль
Принтер Hewlett Packard
Дискеты Basf
CD-RW Memorex
Cd-R …
Дата |
Цена |
Количество |
поставки |
единицы |
единиц |
10.01.05 |
2000 |
10 |
12.01.05 |
2.00 |
100 |
12.02.05 |
7.00 |
300 |
… |
… |
… |
17
Недостатки такого представления:
•Таблицы не связаны, следовательно, нельзя выяснить, кто поставлял заданный товар, какова общая стоимость товаров, представленных поставщиком, и т.п.
•Избыточность в полях “Город”, “Страна”, “Собственность”
•Аномалия обновления: если нужно изменить название производителя, необходим просмотр всех поставок его товаров
18
•Присутствует аномалия включения: нельзя включить в БД информацию о новом товаре до тех пор, пока не будет выполнена хотя бы одна его поставка
•Присутствует аномалия удаления: если некоторый товар исключен из ассортимента поставщиков, то нужно удалять записи о всех его поставках
•Таблица «Поставщики» находится в НФ2:
Страна |
<==> Город |
19
•Между объектами «Поставщики» и «Товары» связь «многие ко многим»: один и тот же поставщик может поставлять разные товары, один и тот же товар может поставляться разными поставщиками. Для реализации этой связи введем таблицу пересечения, содержащую сведения о поставках товаров.
20