
- •Содержание
- •Инфологическое проектирование
- •1.1. Анализ предметной области
- •1.2. Анализ информационных задач и круга пользователей системы.
- •Определение требований к операционной обстановке.
- •Выбор субд и других программных средств.
- •Нормализация полученных отношений
- •Реализация проекта базы данных
- •Создание таблиц
- •5.2. Создание представлений (готовых запросов)
- •1. Прибыль за отчетный период
- •2. Просмотр марок всех моделей
- •3. Полная информация о всех заказах
- •4. Все заказы всех менеджеров
- •5.Все машины всех филиалов
- •5.3.Назначение прав доступа
- •Триггер
- •Библиографический список
Нормализация полученных отношений
I Нормальная форма.
Разделим сложные атрибуты («ФИО», «Паспортные данные») отношений «Покупатели» и «Менеджеры» на простые ( «Фамилия», «Имя, Отчество», «Серия и номер паспорта», «Кем выдан», «Когда выдан»). Многозначный атрибут «Телефоны» и «Адреса» из отношения «Филиалы» , вынесем в отдельное отношение «Адреса-Телефоны».
II Нормальная форма
Все отношения в 1НФ имеют простой первичный ключ, значит, они сразу находится во второй нормальной форме
III Нормальная форма.
В отношении «Авто» атрибут «Марка» зависит от атрибута «Модель», а так же атрибуты «Сидения» и «Модификация» зависят от атрибута «Модель», а не от первичного ключа, поэтому их следует вынести в отдельные отношения «Марки» и «Модели». Т.к. каждое авто будет содержать различные вариации Доп. устройств («Наличие ABS», «Подушки безопасности», «Аудиосистема», «Бортовой компьютер», «GPS навигатор», «Климат контроль», «Сигнализация», «Гидроусилитель руля»), то вынесем все возможные доп. устройства в отдельное отношение «Комплектация» и организуем связь между отношениями «Комплектация» и «Авто» по средствам вспомогательного отношения «Список».
IV Нормальная форма.
Нетривиальные многозначные зависимости в нормализуемых отношениях отсутствуют.
Отношения, полученные после нормализации.
Таблица 1. Схема отношения ПОКУПАТЕЛЬ(customer) |
||||||||
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
|||||
Номер |
CUST_ID |
N(5) |
первичный ключ |
|||||
Фамилия |
CUST_FNAME |
V(25) |
обязательное поле |
|||||
Имя, отчество |
CUST_LNAME |
V(30) |
обязательное поле |
|||||
Серия и номер паспорта |
CUST_PASP |
C(10) |
обязательное уникальное поле |
|||||
Кем выдан |
CUST_VIDAN |
V(50) |
обязательное поле |
|||||
Когда выдан |
CUST_DATE |
D |
обязательное поле |
|||||
Телефон |
CUST_PHONE |
V(30) |
|
|||||
|
|
|
|
|||||
Таблица 2. Схема отношения АВТО (auto) |
||||||||
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
|||||
Кузовной номер |
AUTO_ID |
N(6) |
первичный ключ |
|||||
Номер заказа |
AUTO_ORDER |
N(5) |
внешний ключ к order |
|||||
Объем двигателя |
AUTO_V |
N(1,1) |
обязательное поле |
|||||
Мощность двигателя |
AUTO_P |
N(1,1) |
обязательное поле |
|||||
Номер филиала |
AUTO_FILIAL |
N(1) |
внешний ключ к filial |
|||||
Цвет |
AUTO_COLOR |
V(20) |
ограничение по значением стандартной политры |
|||||
Год выпуска |
GOD_VIPYSKA |
D |
не меньше 1980 |
|||||
Модель |
AUTO_Model |
V(20) |
внешний ключ к Marks |
|||||
Таблица 3. Схема отношения ЗАКАЗ(order) |
||||||||
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
|||||
Номер заказа |
ORDER_ID |
N(5) |
Первичный ключ |
|||||
Кузовной номер |
ORDER_AUTO |
N(6) |
Внешний ключ к AUTO многозначное поле |
|||||
Менеджер |
ORDER_MANAG |
N(2) |
Внешний ключ к MANAG |
|||||
Покупатель |
ORDER_CUST |
N(5) |
Внешний ключ к CUSTOMER |
|||||
Сумма |
ORDER_SYMMA |
N(7) |
обязательное поле |
|||||
Дата оформления заказа |
DATA_nachalo |
D |
обязательное поле |
|||||
Сроки заказа |
DATA_srok |
D |
обязательное поле >= даты оформления заказа |
|||||
Даты закрытия заказа |
DATA_konec |
D |
Необязательное поле > даты оформления заказа |
|||||
Доставка |
ORDER_DOSTAVKA |
C(1) |
|
|||||
|
|
|
|
|||||
Таблица 4. Схема отношения МЕНЕДЖЕР (MANAG) |
||||||||
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
|||||
Номер менеджера |
MANAG_ID |
N(2) |
Первичный ключ |
|||||
Фамилия |
MANAG_FNAME |
V(25) |
обязательное поле |
|||||
Имя, отчество |
MANAG_LNAME |
V(30) |
обязательное поле |
|||||
Серия и номер паспорта |
MANAG_PASP |
C(10) |
обязательное уникальное поле |
|||||
Кем выдан |
MANAG_VIDAN |
V(50) |
обязательное поле |
|||||
Когда выдан |
MANAG_DATE |
D |
обязательное поле |
|||||
Дата рождения |
MANAG_born |
D |
обязательное поле |
|||||
Пол |
MANAG_SEX |
C(1) |
обязательное поле ‘м’ или ‘ж’ |
|||||
Номер филиала |
MANAG_FILIAL |
N(1) |
Внешний ключ к FILIAL |
|||||
Телефон |
MANAG_PHONE |
V(30) |
|
|||||
Логин |
MANAG_LOGIN |
V(15) |
обязательное поле |
|||||
Таблица 5. Схема отношения ЗАРПЛАТА (zp) |
||||||||
Содержание поля |
Имя поля |
Тип, длина |
Примечания * |
|||||
Менеджер |
ID_MANAG |
N(2) |
внешний ключ (к MANAG) |
|||||
Оклад |
OKLAD |
N(5) |
Обязательное поле |
|||||
Дата |
DATA_zp |
D |
обязательное поле |
|||||
Премия |
PREMIYA |
N(2) |
Необязательное поле |
|||||
|
|
|
|
|||||
Таблица 6. Схема отношения ФИЛИАЛ (filial) |
||||||||
|
|
|
|
|||||
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
|||||
Номер филиала |
FILIAL_ID |
N(1) |
Первичный ключ |
|||||
Название отделения |
FILIAL_NAME |
V(40) |
обязательное поле |
|||||
Фамилия Адм-ра |
FILIAL_FNAME |
V(25) |
обязательное поле |
|||||
Имя, отчество Адм-ра |
FILIAL_LNAME |
V(30) |
обязательное поле |
|||||
Логин администратора |
FILIAL_login |
V(15) |
обязательное поле |
|||||
|
|
|
|
|||||
Таблица 7. Схема отношения Модели (Models) |
||||||||
id марки |
MARK_ID |
N(2) |
внешний ключ к MARKS |
|||||
модель |
MODEL |
V(20) |
первичный ключ |
|||||
Сидения |
SUDENUA |
N(2) |
обязательное поле |
|||||
Модификация |
MODE |
V(20) |
ограничения 'хетчбек', 'классика' , 'универсал' |
|||||
|
|
|
|
|||||
|
|
|
|
|||||
Таблица 8. Схема отношения Список (Spisok) |
||||||||
Куз. Номер |
ID_AUTO |
V(5) |
внешний ключ к AUTO |
|||||
номер услуги |
id_yslyga |
N(2) |
внешний ключ к KOMPL |
|||||
|
|
|
|
|||||
|
|
|
|
|||||
|
|
|
|
|||||
Таблица 9. Схема отношения Комплектация (Kompl) |
||||||||
Название комплектации |
KOMPL |
V(20) |
обязательное поле |
|||||
примечание |
comment |
V(50) |
|
|||||
номер услуги |
id_yslyga |
N(2) |
Первичный ключ |
|||||
цена |
price |
N(5) |
обязательное поле |
|||||
|
|
|
|
|||||
Таблица 10. Схема отношения Адреса-Телефоны Филиалов (ADDR_number) |
||||||||
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
|||||
Номер филиала |
ID_FILIAL |
N(1) |
Внешний ключ к (Filial) |
|||||
Адрес |
A_ADDR |
V(50) |
|
|||||
Телефон |
A_PHONE |
V(30) |
|
|||||
Таблица 11. Схема отношения Марки |
||||||||
Марка |
MARK |
V(10) |
обязательное поле |
|||||
идент.номер марки |
MARK_ID |
N(2) |
первичный ключ |
Рис. 3. Окончательная схема БД Автосалона.