Выделяется сущность «Категория», имеющая связь с сущностью «Груз». Сущность «Категория» является в большей мере справочной информацией о расценках на перевозку того или иного груза, поэтому данные в ней редко меняются. Каждый груз принадлежит какой-то категории, в зависимости от его веса и направления устанавливается цена за штуку перевозимого груза. Однако одна категория может содержать несколько грузов.
Данный фрагмент ER-диаграммы выглядит следующим образом:
включает
|
|
Рис.1
Сущность «Груз» необязательна для сущности «Категория», потому что данная сущность может существовать даже если в ней нет груза. Поэтому, связь между «Категорией» и «Грузом» устанавливается так, как показано на рисунке 1. Связь 1:М(одни ко многим).
В свою очередь сущность «Груз» непосредственно связана с сущностью «Заказ». Один груз может участвовать в нескольких заказах, поэтому устанавливается связь 1:М. С другой стороны каждый груз, который принадлежащий базе данных «Грузопоток» участвует в заказе, иначе его не вносят в базу, поэтому сущность «Заказ» обязательна для сущности «Груз».
Данный фрагмент ER-диаграммы выглядит следующим образом:
|
|
Рис. 2
В то же время с сущностью «Заказ» связана сущность «Получатель», потому что именно получатель делает заказ:
заказывает
Рис. 3
У одного получателя может быть множество заказов, поэтому устанавливается связь 1:М. Сущность «Заказ» обязательна для сущности «Получатель», потому что те получатели, которые находятся в базе данных «Грузопоток» обязательно делали заказ на поставку груза.
И, наконец, для перевозки какого - либо груза обязательно требуется транспортное средство, поэтому выделяется сущность «Транспорт», имеющую связь с сущностью «Заказ»:
|
|
Рис. 4
Одно транспортное средство может участвовать в нескольких заказах - связь 1:М. Сущность «Заказ» необязательна для сущности «Транспорт», потому что не каждый автомобиль участвует в заказе, тем не менее база «Транспорт» существует независимо от того использовался ли данный транспорт в заказе или нет.
Компоненты ER-модели
Сущность |
Связь |
Связность |
Сущность |
Категория Груз Получатель Транспорт |
Включает Заказан Заказывает Участвует |
1:М 1:М 1:М 1:М |
Груз Заказ Заказ Заказ |
Таблица 2.
Полная ER-диаграмма имеет следующий вид:
|
||||
|
заказан заказывает
включает участвует
Рис. 5
Проектирование базы данных реляционного типа
Для удобства работы заменим имена и названия предметной области символическими обозначениями:
№ п/п |
Наименование |
Символическое обозначение |
Характеристики |
1 |
Заказ |
Zak |
50 записей |
2 |
Код заказа |
KZak |
Символьный(4) |
3 |
Код груза |
KGr |
Символьный(4) |
4 |
Код получателя |
KPol |
Символьный(4) |
5 |
Код транспорта |
KTruns |
Символьный(4) |
6 |
Количество |
Kol |
Целочисленный(16) |
7 |
Стоимость |
St |
Целочисленный(16) |
8 |
Получатель |
Pol |
50 записей |
9 |
Код получателя |
KPol |
Символьный(4) |
10 |
Наименование |
PNaim |
Символьный(30) |
11 |
Адрес |
PAdr |
Символьный(35) |
12 |
Груз |
Gr |
50 записей |
13 |
Код груза |
KGr |
Символьный(4) |
14 |
Наименование |
GNaim |
Символьный(30) |
15 |
Код категории |
KKat |
Символьный(4) |
16 |
Категория |
Kat |
50 записей |
17 |
Код категории |
KKat |
Символьный(4) |
18 |
Направление |
KNapr |
Символьный(30) |
19 |
Вес |
KVes |
Символьный(30) |
20 |
Цена |
KCena |
Целочисленный(16) |
21 |
Транспорт |
Truns |
50 записей |
22 |
Код транспорта |
KTruns |
Символьный(4) |
23 |
Наименование |
TNaim |
Символьный(30) |
24 |
Грузоподъемность |
TGruz |
Целочисленный(16) |
Таблица 3.
Для определения состава таблиц следует произвести нормализацию исходного иерархического отношения:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.