Продажи Консультанты
ФИО пок-ля | Дата продажи | Марка Авто | Цвет | Цена | ФИО конс. | ФИО конс. | Стаж | Адрес | Тел | Дата рожд | Дети | |
Воронов | 10.09.06 | Logan | синий | Иванов | Иванов | 1 год | Юрша 5 | 21.09.70 | да | |||
Воронов | 14.10.06 | Laguna | черный | Петров | Петров | 3 года | Мира 7 | 17.01.75 | нет | |||
Смирнов | 10.09.06 | Megane | черный | Иванов | Рис 5. Схема 3НФ | |||||||
Смирнов | 20.10.06 | Logan | красный | Иванов | ||||||||
Конев | 10.09.06 | Symbol | бордо | Петров |
Так как мы решили отразить в базе информацию как о поставках товара, так и о его продаже, свяжем обе схемы по таблице «Автомобили» (рис 5). Действительно, ведь мы и поставляем, и продаем товар одного ассортимента.
Мы определили информационные объекты модели: «Консультанты»; «Автомобили»; «Покупатели»; «Поставщики»; «Поставки»; «Продажи» (рис 6.)
Рис 6. Информационно-логическая модель
Реквизитный состав этих объектов (рис 7):
Консультанты (ФИО, Стаж работы, Адрес, Телефон, Дата рождения, Дети);
Автомобили (Марка, Технические характеристики, Изображение);
Покупатели (ФИО, Адрес, Телефон);
Поставщики (Название, Адрес, Телефон);
Поставки (Марка автомобиля, Количество, Цена, Дата, Название пост-ка);
Продажи (Марка автомобиля, Цвет, Цена, ФИО покупателя, ФИО консультанта, Дата).
Обратим внимание на тип связей между информационными объектами. Они могут быть трех видов:
1. Связь «один-к-одному» ( 1:1)
A B
Одному экземпляру информационного объекта А соответствует строго один экземпляр информационного объекта B (и наоборот). Связи такого типа используются редко, как правило для разделения широких таблиц.
2. Связь «один-ко-многим» (1: ∞)
A B
Одному экземпляру информационного объекта А может соответствовать ноль, один или несколько экземпляров информационного объекта B, но каждый экземпляр объекта В связан строго с одним экземпляром объекта А. Как правило связи между таблицами устанавливают именно по этому типу.
Автомобили
|
Покупатели
|
Продажи
|
|
Поставки
Консультанты
|
|
Рис 7. Логическая модель
Например связь между объектами «Покупатели» и «Продажи» - один покупатель может совершить несколько покупок; «Автомобили» и «Продажи»- одну марку авто могут приобрести несколько раз; «Консультанты» и «Продажи»- один консультант обслуживает несколько сделок. «Автомобили» и «Поставки»- одну марку авто можно неоднократно получать с поставками; «Поставщики» и «Поставки»- один поставщик совершает несколько поставок. При этом обратное не верно: одну поставку совершает строго один поставщик; одну продажу обслуживает строго один консультант и т.д.
3. Связь «многие-ко-многим» ( ∞: ∞)
A B
Одному экземпляру информационного объекта А может соответствовать ноль, один или несколько экземпляров информационного объекта B и наоборот- одному экземпляру информационного объекта В может соответствовать ноль, один или несколько экземпляров объекта А. Такой тип связи в явном виде не может быть установлен, необходима третья связующая таблица.
Например связь между объектами «Покупатели» и «Консультанты»- один покупатель в разное время может обслуживаться несколькими консультантами, один консультант обслуживает несколько покупателей; «Покупатели» и «Автомобили»- один покупатель может приобрести автомобили разных марок, автомобили одной марки могут быть куплены несколькими покупателями; «Консультанты» и «Автомобили»- один консультант продает авто разных марок, одну марку могут продать разные консультанты; «Поставщики» и «Автомобили»- один поставщик доставляет авто разных марок, каждая марка может быть доставлена разными поставщиками.
Часто для уменьшения объема информации в таблицы вводят числовые коды- например добавим реквизиты «№ поставки», «№ поставщика», «№ продажи», «Таб. № консультанта». Эта мера позволит так же перейти от составных ключей таблиц к простым:
Автомобили
|
|
Продажи
|
Поставки
|
Поставки
Консультанты
|
Поставщики
|
Рис 8. Логическая модель
Дата добавления: 2015-08-04; просмотров: 503;