constraint CKC_IDZAKAZ_OUT_MARSHRUT check (IDZakaz_Out is null or (IDZakaz_Out >= 1)),
Next_NomerMarshrut numeric null,
DestanationTime int not null default 0
constraint CKC_DESTANATIONTIME_MARSHRUT check (DestanationTime >= 0),
WaitingTime int not null default 0
constraint CKC_WAITINGTIME_MARSHRUT check (WaitingTime >= 0),
constraint PK_MARSHRUT primary key nonclustered (NomerMarshrut)
)
go
/*==============================================================*/
/* Table: Reys */
/*==============================================================*/
create table Reys (
ReisNumber numeric identity,
KodDispetcher numeric null,
KodKolon numeric not null,
NomerMarshrut numeric null,
DateStart datetime not null,
DateFinish datetime not null,
constraint PK_REYS primary key nonclustered (ReisNumber),
constraint CKT_REYS check (DateStart <= DateFinish)
)
go
/*==============================================================*/
/* Table: Tovar */
/*==============================================================*/
create table Tovar (
KodTovar numeric identity,
NaimenTovar char(60) not null,
EdIzmerenTovar char(6) not null,
VesEdiniciTovar float not null default 0
constraint CKC_VESEDINICITOVAR_TOVAR check (VesEdiniciTovar >= 0),
constraint PK_TOVAR primary key nonclustered (KodTovar)
)
go
/*==============================================================*/
/* Table: Transport */
/*==============================================================*/
create table Transport (
KodAvto numeric identity,
GosNumAvto char(6) not null,
MarkaAvto char(20) null,
IspravenAvto bit not null default 1,
GruzopodemAvto int not null default 0
constraint CKC_GRUZOPODEMAVTO_TRANSPOR check (GruzopodemAvto >= 0),
constraint PK_TRANSPORT primary key nonclustered (KodAvto)
)
go
/*==============================================================*/
/* Table: Zakaz */
/*==============================================================*/
create table Zakaz (
IDZakaz numeric identity
constraint CKC_IDZAKAZ_ZAKAZ check (IDZakaz >= 1),
KodMenedger numeric not null,
KodTovar numeric not null,
TovarKolich int not null
constraint CKC_TOVARKOLICH_ZAKAZ check (TovarKolich >= 1),
constraint PK_ZAKAZ primary key nonclustered (IDZakaz)
)
go
alter table Kolonna
add constraint FK_KOLONNA_AVTO_IN_K_TRANSPOR foreign key (KodAvto)
references Transport (KodAvto)
go
alter table Kolonna
add constraint FK_KOLONNA_DRIVER_IN_DRIVER foreign key (KodDriver)
references Driver (KodDriver)
go
alter table Kolonna
add constraint FK_KOLONNA_KOLLONA_I_KOLONNA foreign key (Next_KodKolon)
references Kolonna (KodKolon)
go
alter table Marshrut
add constraint FK_MARSHRUT_CLIENT_IN_CLIENT foreign key (KodKlienta)
references Client (KodKlienta)
go
alter table Marshrut
add constraint FK_MARSHRUT_MARSHRUT__MARSHRUT foreign key (Next_NomerMarshrut)
references Marshrut (NomerMarshrut)
go
alter table Marshrut
add constraint FK_MARSHRUT_ZAKAZ_IN__ZAKAZ_2 foreign key (IDZakaz_IN)
references Zakaz (IDZakaz)
go
alter table Marshrut
add constraint FK_MARSHRUT_ZAKAZ_IN__ZAKAZ foreign key (IDZakaz_Out)
references Zakaz (IDZakaz)
go
alter table Reys
add constraint FK_REYS_DISPETCHE_DISPETCH foreign key (KodDispetcher)
references Dispetcher (KodDispetcher)
go
alter table Reys
add constraint FK_REYS_KOLONNA_I_KOLONNA foreign key (KodKolon)
references Kolonna (KodKolon)
go
alter table Reys
add constraint FK_REYS_MARSHRUT__MARSHRUT foreign key (NomerMarshrut)
references Marshrut (NomerMarshrut)
go
alter table Zakaz
add constraint FK_ZAKAZ_MANAGER_I_MANAGER foreign key (KodMenedger)
references Manager (KodMenedger)
go
alter table Zakaz
add constraint FK_ZAKAZ_TOVAR_IN__TOVAR foreign key (KodTovar)
references Tovar (KodTovar)
go
6 MS SQL Server Diagram
После запуска полученного SQL скрипта в СУБД MS SQL Server 2005 были получены следующие таблицы:
Ниже для них представлена диаграмма.
Рисунок 3 MS SQL Server Diagram
7 Constraint realization
Покажем, что указанные выше ограничения действуют:
7.1 Ограничения на значение
7.1.1 Ограничения на Вес единицы товара
7.1.2 Ограничения на Время остановки
7.1.3 Ограничения на Время поездки (мин.)
7.1.4 Ограничения на Грузоподъемность авто
7.1.5 Ограничения на Категория
7.1.6 Ограничения на Товар количество
7.1.7 Ограничения на Дату начала, Дату конца
7.2 Ограничения на связь
7.2.1 Ограничение на связь Товар – Заказ
Товар
Заказ
7.2.2 Ограничение на связь Менеджер – Заказ
Менеджер
Заказ
7.2.3 Ограничение на связь Клиент – Маршрут
Клиент
Маршрут
7.2.4 Ограничение на связь Маршрут – Рейс
Маршрут
Рейс
7.2.5 Ограничение на связь Заказ – Маршрут
Заказ
Маршрут
Все описанные ограничения выполняются.
8 Interface
Опишем возможных пользователей нашей базы данных и операции, которые для них доступны
8.1 Интерфейс для пользователя «Водитель»
Водители - сотрудники данной организация. Вид деятельности - управление транспортным средством, перевоз груза по заданным маршрутам. Согласно Трудовому Кодексу, в организацию принимаются водители работоспособного возраста.
8.1.1 Доступные таблицы для пользователя «Водитель»
· Транспорт
· Колонна
· Заказ
· Маршрут
· Рейс
8.1.2 Доступные действия для пользователя «Водитель»
· Просмотр транспорта, на котором поедет водителей в заданном рейсе
· Просмотр списка других водителей, с которыми поедет этот водитель
· Просмотр заказа (с указанием веса), который нужно будет забрать или доставить
· Просмотр маршрута, по которому нужно будет ехать водителю
· Просмотр расписания рейсов, в которых участвует данный водитель
8.2 Интерфейс для пользователя «Диспетчер»
Диспетчер. Основная обязанность - формирование колонн и рейсов.
8.2.1 Доступные таблицы для пользователя «Диспетчер»
· Транспорт
· Водитель
· Колонна
· Заказ
· Клиент
· Маршрут
· Рейс
8.2.2 Доступные действия для пользователя «Диспетчер»
· Просмотр транспорта, который будет задействован в колонне
· Просмотр списка водителей, которые будут задействованы в колонне
· Формирование колонны
· Просмотр заказа (с указанием веса), который нужно будет забрать или доставить
· Просмотр маршрута, по которому нужно будет ехать колонне
· Формирование расписания рейсов
8.3 Интерфейс для пользователя «Диспетчер»
Менеджеры - Сотрудники данной организации. Основной обязательностью является формирование заказов в определенную точку, на основе заказов
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.