1142

Создание базы данных Автосалона

Курсовая

Информатика, кибернетика и программирование

Анализ информационных задач и круга пользователей системы. Определение требований к операционной обстановке. Выбор СУБД и других программных средств. Анализ информационных задач и круга пользователей системы. Преобразование ER–диаграммы в схему базы данных.

Русский

2013-01-06

282 KB

901 чел.

СОДЕРЖАНИЕ

1. Инфологическое проектирование…………………………………………………………………………………………………2

1.1. Анализ предметной области…………………………………………………………………………………………………..3

1.2. Анализ информационных задач и круга пользователей системы………………………………………..4

2. Определение требований к операционной обстановке………………………………………………………………4

2.1. Инфологическое проектирование………………………………………………………………………………………….4

2.1.1. Анализ предметной области…………………………………………………………………………………………...4

2.1.2. Анализ информационных задач и круга пользователей системы…………………………………4

3. Выбор СУБД и других программных средств………………………………………………………………………………..5

4. Логическое проектирование реляционной БД……………………………………………………………………………..5

4.1. Преобразование ER–диаграммы в схему базы данных

4.2. Разрешение циклов в ПО………………………………………………………………………………………………..5

4.3. Составление реляционных отношений……………………………………………………………………….5-7

      4.3.1. Нормализация полученных отношений…………………………………………………………..8-12

5. Реализация проекта базы данных…………………………………………………………………………………………..13-15

 5.1. Создание таблиц………………………………………………………………………………………………………......15

            5.2. Создание представлений (готовых запросов)……………………………………………………………15-16

            5.3. Назначение прав доступа……………………………………………………………………………………………16-17

Библиографический список……………………………………………………………………………………………………………….18

  1.  Инфологическое проектирование

                                                         1.1. Анализ предметной области

База данных создается для информационного обслуживания администрации, рабочего персонала и клиентов. БД должна содержать списки всех менеджеров, их клиентов, предоставляемые салоном автомобили, заказы клиентов, а так же информацию о зарплате менеджеров.

В соответствии с предметной областью, БД строится с учетом следующих особенностей:

- Каждый менеджер работает в определенном филиале, в каждом филиале может работать несколько менеджеров.

- Каждый заказ ведёт определенный менеджер, каждый менеджер может вести несколько заказов.

- Каждый заказ принадлежит определенному покупателю, каждый покупатель может сделать несколько заказов.

- Каждое авто находится в определенном филиале, в каждом филиале может находиться несколько авто.

- В каждый заказ входит одно или более авто.

- Каждый менеджер получает определенную зарплату, зарплата выдается ежемесячно.

С помощью выявленных особенностей построим ER-диаграмму предметной области «Автосалона».

Выделим сущности предметной области:

  1.  Филиал.   Атрибуты: название, адрес, телефон, ФИО администратора,                                                                                                                логин администратора.
  2.  Менеджер. Атрибуты: ФИО менеджера, паспортные данные, дата рождения, пол, телефон, логин.
  3.  Покупатель. Атрибуты: ФИО, паспортные данные, телефон.
  4.  Авто.  Атрибуты: Марка, модель, модификация,  цвет, год выпуска, цена, коробка передач, объем двигателя, мощность двигателя, наличие ABS, подушки безопасности, аудиосистема, бортовой компьютер, GPS навигатор, климат контроль, сигнализация, гидроусилитель руля.
  5.  Заказ.  Атрибуты: дата оформления, сроки заказа, дата закрытия заказа, доставка, сумма.
  6.  Зарплата.  Атрибуты: оклад, дата, премия.

Рис. 1. ER-диаграмма предметной области «Автосалон».

1.2. Анализ информационных задач и круга пользователей системы.

Определим группы пользователей, их основные задачи и запросы к БД:

  1.  Администраторы филиалов:

- просмотр списка всех менеджеров филиала;

- просмотр информации конкретного менеджера;

- добавление новых менеджеров;

- просмотр списка всех заказов;

- просмотр информации определенного заказа;

- выдача премий;

  1.  Менеджеры:

- добавление нового покупателя;

- создание нового заказа;

- изменение информации о покупателе;

- просмотр списка своих заказов;

- просмотр списка авто любого филиала;

- поиск авто по определенному параметру;

  1.  Бухгалтеры:

- просмотр информации о зарплатах;

- внесение изменений в данные о зарплатах;

  1.  Покупатели:

- просмотр списка своих заказов.

  1.  Определение требований к операционной обстановке.

Объём внешней памяти, необходимый для функционирования системы, складывается из двух составляющих: память, занимаемая модулями СУБД (ядро, утилиты, вспомогательные программы), и память, отводимая под данные (МД). Для реальных баз данных обычно наиболее существенным является МД.

На основе результатов анализа ПрО можно приблизительно оценить объём памяти, требуемой для хранения данных. Примем ориентировочно, что:

  •  одновременно осуществляется около 200 заказов, работа над заказом продолжается в среднем месяц (по 0,04К на каждый заказ);
  •  в среднем база авто за месяц обновляется на 1000 позиций (по 0,164К на авто);
  •  в компании работают 100 сотрудников (по 0,159К на каждого сотрудника);
  •  ежемесячно выдает в среднем 100 зарплат (по 0,0146К на зарплату);
  •  автосалон состоит из 5 филиалов (по 0,188К);
  •  в среднем в месяц обслуживается 200 покупателей (по 0,146К на покупателя)
  •  устаревшие данные переводятся в архив (накапливаются в архиве БД).

Тогда объём памяти для хранения данных за первый год примерно составит:

Mд = 2(200*0,04*12+1000*0,164*12+100*0,159+100*0,0146*12+0,188*5+200*0,146*12) = 5183,84 К,

Коэффициент 2 необходим для того, чтобы учесть необходимость выделения памяти под дополнительные структуры (например, индексы). Объём памяти будет увеличиваться ежегодно на столько же при сохранении объёма работы.

Требуемый объём оперативной памяти определяется на основании анализа интенсивности запросов и объёма результирующих данных. Для нашей БД требуемый объём памяти мал, поэтому никаких специальных требований к объёму внешней и оперативной памяти компьютера не предъявляется.

  1.  Выбор СУБД и других программных средств.

Анализ информационных задач показывает, что для реализации требуемых функций подходят почти все СУБД для ПЭВМ (FoxPro, Clipper, MS Access и др.). Все они поддерживают реляционную модель данных и предоставляют разнообразные возможности для работы с данными.

В связи с отсутствием особых требований к функциональности СУБД, а также исходя из необходимости минимизации затрат, в качестве СУБД я выбираю MySQL 5.2.

  1.  Логическое проектирование реляционной БД
    1.  Преобразование ER–диаграммы в схему базы данных. 

Рис. 2. Схема РБД, полученная из ER–диаграммы «Автосалон».

  1.  Разрешение циклов в ПО.

Цикл «Филиалы-Менеджеры-Заказы-Авто»

  1.  Составление реляционных отношений

Таблица 1. Схема отношения Филиалы (Filial)

Содержание поля

Имя поля

Тип, длина

Примечания

Номер филиала

ID_FILIAL

N(1)

Первичный ключ

Фамилия, имя, отчество

E_NAME

V(50)

обязательное поле

Название отделения

NAME_filial

V(40)

обязательное поле

Логин администратора

Admin_login

V(15)

обязательное поле

Адрес

A_ADDR

V(50)

 

Телефон

A_PHONE

V(30)

 

Таблица 2. Схема отношения Покупатели (Customers)

Содержание поля

Имя поля

Тип, длина

Примечания

Номер

ID_CUST

N(5)

первичный ключ

Фамилия, имя, отчество

NAME

V(50)

обязательное поле

Паспортные данные

E_PASP

V(50)

обязательное поле

Телефон

A_PHONE

V(30)

 

Таблица 3. Схема отношения Зарплата (Salary)

Содержание поля

Имя поля

Тип, длина

Примечания

Менеджер

ID_MANAG

N(2)

внешний ключ (к Managers)

Оклад

OKLAD

N(5)

Обязательное поле

Дата

DATA_zp

D

обязательное поле

Премия

PREMIYA

N(2)

Необязательное поле  

Таблица 4. Схема отношения Менеджеры (Managers)

Содержание поля

Имя поля

Тип, длина

Примечания

Номер менеджера

ID_MANAG

N(2)

Первичный ключ

Фамилия, имя, отчество

NAME

V(50)

обязательное поле

Паспортные данные

E_PASP

V(50)

обязательное поле

Дата рождения

DATA_born

D

обязательное поле

Пол

SEX

C(1)

обязательное поле ‘м’ или ‘ж’

Номер филиала

ID_FILIAL

N(1)

Внешний ключ к FILIAL

Телефон

A_PHONE

V(30)

 

Логин

LOGIN_MANAG

V(15)

обязательное поле

Таблица 5. Схема отношения Заказы (Orders)

Содержание поля

Имя поля

Тип, длина

Примечания

Номер заказа

ID_ORDER

N(5)

Первичный ключ

Кузовной номер

ID_AUTO

N(6)

Внешний ключ к AUTO многозначное поле

Менеджер

ID_MANAG

N(2)

Внешний ключ к MANAG

Покупатель

ID_CUST

N(5)

Внешний ключ к CUSTOMER

Сумма

SYMMA

N(7)

обязательное поле

Дата оформления заказа

DATA_nachalo

D

обязательное поле

Сроки заказа

DATA_srok

D

обязательное поле >= даты оформления заказа

Даты закрытия заказа

DATA_konec

D

Необязательное поле > даты оформления заказа

Доставка

DOSTAVKA

C(1)

‘+’ или ‘–‘ , если +, тогда прибавляем к сроку заказа неделю.

Таблица 6. Схема отношения Авто (Auto)

Содержание поля

Имя поля

Тип, длина

Примечания

Кузовной номер

ID_AUTO

N(6)

обязательное поле

Номер заказа

ID_ORDER

N(5)

внешний ключ к order

Заказано

ZAKAZANO

N(1)

обязательное поле, сравнение филиала менеджера, ведущего заказ и филиала, которому принадлежит машина

Номер филиала

ID_FILIAL

N(1)

внешний ключ к filial

Марка

MARKA

V(20)

первичный ключ

Модель

MODEL

V(20)

обязательное поле

Сидения

SUDENUA

N(2)

обязательное поле

Модификация

MODE

V(20)

ограничения 'хетчбек', 'классика' , 'универсал'

комплектация

KOMPL

V(20)

внешний ключ к таблице komplect, ограничение на вводимые значения = 'LUXE', 'SUPERLUXE', 'STANDART'

Цвет

COLOR

V(20)

ограничение по значением стандартной политры

Год выпуска

GOD_VIPYSKA

D

не меньше 1980

Цена

CASH

N(7)

обязательное поле

Коробка передач

PEREDACHA

V(10)

Ограничение - 'ручная', 'автомат'

Объем двигателя

V

N(1,1)

Мощность двигателя

P

N(1,1)

Наличие ABS

ABS

C(1)

Подушки безопасности

PODYSHKI

C(1)

Аудиосистема

AUDIO

C(1)

Бортовой компьютер

KOMPL

C(1)

GPS навигатор

GPS

C(1)

Климат контроль

KLIMAT

C(1)

Сигнализация

SIGNAL

C(1)

Гидроусилитель руля

GIDRO

C(1)

  1.  Нормализация полученных отношений

 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. Окончательная схема БД Автосалона.

  1.  Реализация проекта базы данных
    1.  Создание таблиц

  1.  Отношение FILIAL (Филиалы):

create table filial (

FILIAL_ID numeric(2) primary key,

FILIAL_NAME varchar(30) not null,

FILIAL_FNAME varchar(25) not null,

FILIAL_LNAME varchar(30) not null,

FILIAL_LOGIN varchar(15) not null);

  1.  Отношение MANAG (Менеджеры):

create table MANAG (

MANAG_ID numeric(2) primary key,

MANAG_FNAME varchar(30) not null,

MANAG_LNAME varchar(25) not null,

MANAG_PASP numeric(11) not null,

MANAG_VIDAN varchar(40) not null,

MANAG_DATA date not null,

MANAG_BORN date not null,

MANAG_SEX char(1) CHECK (Manag_sex in ('male','female')),

MANAG_FILIAL numeric(1) references FILIAL,

MANAG_NUMBER numeric(20) not null,

MANAG_LOGIN varchar(25) not null);

  1.  Отношение CUSTOMER (Покупатели):

create table customer (

CUST_ID numeric(4) primary key,

CUST_FNAME varchar(20) not null,

CUST_LNAME varchar(20) not null,

CUST_PASP numeric(11) not null,

CUST_VIDAN varchar(30) not null,

CUST_DATA date not null,

CUST_NUMBER numeric(30) not null);

  1.  Отношение ZP (Зарплата):

create table zp (

ID_MANAG numeric(2) references MANAG,

OKLAD numeric(6) not null,

DATA_ZP date not null,

PREMIA varchar(5) default null);

  1.  Отношение KOMPL (Комплектация):

create table KOMPL (

Y_ID numeric(2) primary key,

Y_NAME varchar(30) not null,

Y_PRIMECHANIE varchar(100),

Y_PRICE numeric(10) not null);

  1.  Отношение SPISOK (Список):

create table spisok (

ID_AUTO numeric(6) references AUTO,

ID_YSLYGI numeric(2) references KOMPL);

  1.  Отношение MARKS (Марки):

create table marks (

MARK_ID numeric(2) primary key,

MARK_NAME varchar(20) not null);

  1.  Отношение MODELS (Модели):

create table models (

MODEL varchar(10) primary key,

MARK_ID numeric(2) references marks,

SUDENIA numeric(1),

KUZOV varchar(15) CHECK (KUZOV in ('hatchbak','classik','universal')));

  1.  Отношение AUTO (Авто):

create table auto (

AUTO_ID numeric(6) primary key,

AUTO_ORDER numeric(4) references orders,

AUTO_FILIAL numeric(2) references filial,

AUTO_COLOR varchar(20) not null,

AUTO_YEAR date not null,

AUTO_MODEL varchar(10) references MODELS,

AUTO_MOSHNOST decimal(2,1) not null,

AUTO_OBIEM decimal(2,1) not null);

  1.  Отношение ORDERS (Заказы):

create table orders (

ORDER_ID numeric(4) primary key,

ORDER_CUST numeric(4) references customer,

ORDER_MANAG numeric(2) references manag,

ORDER_SUMM numeric(7) not null,

ORDER_OFORM date not null,

ORDER_SROK date not null CHECK (ORDER_OFORM<ORDER_SROK),

ORDER_KONEC date  check (ORDER_KONEC>ORDER_OFORM),

ORDER_DOSTAVKA char(1) check ( ORDER_DOSTAVKA in ('y','n')));

  1.  Отношение ADDR_NUMBER (Адреса-Телефоны Филиалов):

create table ADDR_number (

FILIAL_ID numeric(2) references filial,

address varchar(20) not null,

number numeric(11) not null);

5.2. Создание представлений (готовых запросов)

1. Прибыль за отчетный период

Select sum(ORDER_SUMM) CASH

From orders

Where order_oform >= начальная дата and order_oform <=конечная дата;

2. Просмотр марок всех моделей

select marks.mark_name,models.model,models.kuzov

from marks,models

where marks.mark_id=models.mark_id;

3. Полная информация о всех заказах

select customer.cust_fname,

customer.cust_lname,

models.model,

orders.order_summ,

auto.auto_color,auto.auto_moshnost,auto.auto_obiem,

manag.manag_fname,manag.manag_lname,

manag.manag_number,

models.kuzov,models.sudenia

from auto,orders,manag,models,customer

where orders.order_id=auto.auto_order and orders.order_manag=manag.manag_id and

models.model=auto.auto_model and orders.order_cust=customer.cust_id;

4. Все заказы всех менеджеров

select 

manag.manag_fname,

manag.manag_lname,

customer.cust_fname,

customer.cust_lname,

orders.order_SUMM,

orders.order_oform,

orders.order_srok,

manag.manag_number,

manag.manag_filial,

manag.manag_sex,

manag.manag_born

from orders,manag,customer

where orders.order_manag=manag.manag_id and orders.order_cust=customer.cust_id;

5.Все машины всех филиалов

select auto.auto_id,auto.auto_color,auto.auto_model,filial.filial_name

from filial,auto

where auto.auto_filial=filial.filial_id;

5.3.Назначение прав доступа

Таблицы

Группы пользователей (роли)

Администраторы

Менеджеры

Покупатели

Бухгалтеры

Филиалы

SIUD

S

S

Менеджеры

SIUD

S

Заказы

SIUD

SIUD

Авто

SIUD

Покупатели

SIUD

Адреса-Телефоны

SIUD

S

Марки

SIUD

S

Модели

SIUD

S

Зарплата

SIUD

SIUD

Комплектация

SIUD

S

Список

SIUD

Создание пользователей и назначение им прав:

create user 'bygalter'@'localhost' IDENTIFIED BY '123';

create user 'admin_filial'@'localhost' IDENTIFIED BY '222';

create user 'manager'@'localhost' IDENTIFIED BY '111';

create user 'customer'@'localhost' IDENTIFIED BY '321';

GRANT select, update, delete, insert ON MANAG TO 'admin_filial'@'localhost';

GRANT select, update, delete, insert ON FILIAL TO 'admin_filial'@'localhost';

GRANT select, update, delete, insert ON ADD_NUMB TO 'admin_filial'@'localhost';

GRANT select, update, delete, insert ON ORDERS TO 'admin_filial'@'localhost';

GRANT select, update, delete, insert ON ZP TO 'admin_filial'@'localhost';

GRANT select, update, delete, insert ON KOMPL TO 'admin_filial'@'localhost';

GRANT select, update, delete, insert ON MODELS TO 'admin_filial'@'localhost';

GRANT select, update, delete, insert ON MARKS TO 'admin_filial'@'localhost';

GRANT select, update, delete, insert ON CUSTOMER TO 'manager'@'localhost';

GRANT select, update, delete, insert ON ORDERS TO 'manager'@'localhost';

GRANT select, update, delete, insert ON SPISOK TO 'manager'@'localhost';

GRANT select ON KOMPL TO 'manager'@'localhost';

GRANT select ON FILIAL TO 'manager'@'localhost';

GRANT select, update, delete, insert ON AUTO TO 'manager'@'localhost';

GRANT select ON MARKS TO 'manager'@'localhost';

GRANT select ON MODELS TO 'manager'@'localhost';

GRANT select, update,delete,insert ON ZP TO 'bygalter'@'localhost';

GRANT select ON FILIAL TO 'bygalter'@'localhost';

GRANT select ON MANAG TO 'bygalter'@'localhost';

GRANT select ON MANAG TO 'admin_filial'@'localhost';

  1.  Триггер

В случае, когда Авто находится не в том филиале, в котором был произведен заказ, в отношении «Заказ»  атрибут «Доставка» принимает значение «Да», иначе «Нет». Данное событие реализуем по средствам триггера. При событии заказа авто ( т.е. заполнения поля «ID Заказа» в отношении «Авто») , будет происходить сравнение принадлежности авто и менеджера, оформившего заказ, одному филиалу.

DELIMITER $$

CREATE TRIGGER `test6` after update ON auto

for each  row

BEGIN

IF new.auto_filial<>

   (select manag_filial from manag,orders where manag.manag_id=orders.order_manag

   and orders.order_id=new.auto_order)

   THEN UPDATE orders set `order_dostavka`='y' where orders.order_id=new.auto_order;   

END IF;

END

$$

Библиографический список

  1.  Карпова И.П. Базы данных: Учебное пособие по курсу "Базы данных". – М., РИО МГИЭМ, 2009.


 

А также другие работы, которые могут Вас заинтересовать

35644. Творческий проект «Тигр». В технике холодный батик 246.84 KB
  Что означает слово батик. Влияние батика на новое поколение. На уроках технологии я научилась рисовать батиком.
35645. Бижутерия. Творческий проект 64.68 KB
  Бисер - (от араб. бусра – фальшивый жемчуг) - мелкие разноцветные стеклянные бусины с отверстиями, употребляемые главным образом для вышивания (на предметах быта, женской одежде и т. д.). Бисер плотно вошел в нашу жизнь, заявив о себе в разных сферах жизни человека. Бисер можно использовать как элемент декора интерьера, как эксклюзивное украшение, для некоторых людей бисер является неотъемлемой частью их жизни. Маленькие разноцветные шарики с отверстиями несут в себе магическую силу притяжения. И столкнувшись один раз с бисером, вы оказываетесь под его влиянием.
35648. Пошив фартука. Творческий проект 468.57 KB
  Техническая последовательность Сначала мы сняли мерки потом начертили части фартука размером 1к4 в тетради в настоящую величину специальными булавками прикрепили на ткань. Скоро мы сшили карманы и низ фартука.
35649. Вязаная сумочка под различные мелочи 800.13 KB
  Затраты на изделие=стоимость ниток стоимость Крючка Стоимость всей пряжи:60 рублей. Стоимость крючка:10 рублей.
35650. Краснодара Творческий проект Би. 22.55 KB
  170 руб. 2 200 руб. 3 220 руб. 4 250 руб.