- •Введение
- •1. Постановка задачи
- •2. Анализ сущностей
- •3. Оценка модели данных на основе анализа функциональных зависимостей
- •4. Анализ связей между отношениями
- •5. Логическая модель данных (er диаграмма)
- •6. Логическое проектирование
- •7. Физическое проектирование базы данных
- •8. Заключение
- •Литература
4. Анализ связей между отношениями
Отношение Дилер связано с отношением Договора. Связь описывается выражениями:
- «Каждый договор может быть связан только с одним дилером»
- «Каждый дилер может иметь несколько договоров»
Таким образом связь отношений Дилер и Договора имеет мощность один-ко-многим и является обязательной, т.е. 1-n.
Отношение Клиенты связано с отношением Договора. Связь описывается выражениями:
- «Каждый договор может быть связан только с одним клиентом»
- «Каждый клиент может иметь несколько договоров»
Таким образом связь отношений Клиенты и Договора имеет мощность один-ко-многим и является обязательной, т.е. 1-n.
Отношение Автомобили связано с отношением Договора. Связь описывается выражениями:
- «Каждый договор может быть связан только с одним автомобилем»
- «Каждый автомобиль может иметь несколько договоров»
Таким образом связь отношений Автомобили и Договора имеет мощность один-ко-многим и является обязательной, т.е. 1- n.
5. Логическая модель данных (er диаграмма)
По имеющимся описаниям сущностей и связей в редакторе MySQL Workbench была создана модель, проиллюстрированная нижеследующей диаграммой:
Рис. 1 – ER диаграмма
6. Логическое проектирование
Для разработки базы данных для компании по продаже автомобили была выбрана СУБД MYSQL, так как она позволяет создавать распределенную базу данных, обеспечивает сохранение базы данных в целостном состоянии, позволяет управлять пользователями.
Проанализировав разработанную инфологическую модель, можно сделать вывод, что база данных находится в третьей нормальной форме и дальнейшая нормализация не требуется.
Ниже представлены таблицы свойства полей.
Клиенты(Clients):
Наименование |
Ключ |
Тин данных |
Уникальность |
idClients |
PK |
INT |
NN |
Name |
- |
VARCHAR(45) |
NN |
Patronymic |
- |
VARCHAR(45) |
- |
Surname |
- |
VARCHAR(45) |
NN |
act_address |
- |
VARCHAR(45) |
- |
phone |
- |
VARCHAR(11) |
- |
Таблица №1. Свойства полей. Клиенты.
Дилеры(Diler):
Наименование |
Ключ |
Тин данных |
Уникальность |
idDiler |
PK |
INT |
NN |
name |
- |
VARCHAR(45) |
NN |
patronymic |
- |
VARCHAR(45) |
- |
surname |
- |
VARCHAR(45) |
NN |
phone |
- |
VARCHAR(45) |
NN |
address |
- |
VARCHAR(100) |
NN |
login |
- |
VARCHAR(45) |
NN |
password |
- |
VARCHAR(45) |
NN |
image |
- |
BLOB |
- |
Таблица №2. Свойства полей. Дилеры.
Автомобили(Cars):
Наименование |
Ключ |
Тин данных |
Уникальность |
idCars |
PK |
INT |
NN |
brand |
- |
VARCHAR(45) |
NN |
model |
- |
VARCHAR(45) |
NN |
year_creation |
- |
VARCHAR(45) |
NN |
run |
- |
VARCHAR(45) |
NN |
price |
- |
DECIMAL(19,4) |
NN |
date_sale |
- |
VARCHAR(45) |
- |
notes |
- |
MEDIUMTEXT |
- |
image |
- |
BLOB |
- |
Таблица №3. Свойства полей. Автомобили.
Договоры(Contracts):
Наименование |
Ключ |
Тин данных |
Уникальность |
idContracts |
PK |
INT |
NN |
date |
- |
VARCHAR(45) |
NN |
commission |
- |
DECIMAL(19,4) |
NN |
Clients_idClients |
FK |
INT |
NN |
Cars_idCars |
FK |
INT |
NN |
Diler_idDiler |
FK |
INT |
NN |
Таблица №4. Свойства полей. Договоры.