- •Оглавление
- •1) Постановка задачи:
- •Vipolneno
- •2) Описание модели данных и таблиц исходных и справочных данных:
- •Vipolneno
- •3) Скрипт бд
- •Vipolneno:
- •4) Диаграмма, демонстрирующая связи между таблицами:
- •5) Таблицы базы данных
- •Vipolneno
- •6) Запросы бд
- •7) Триггеры
- •If exists (select * from otmena o
Vipolneno
№ |
Идентификатор поля |
Ограничение целостности |
Тип данных и длина |
Ограничения |
Ключи |
1 |
N_reis |
|
Целочисленный (int), 4 символа |
|
Primarykey |
2 |
Data_otp |
NULL |
Datetime,8 символов |
|
|
3 |
Kolvo_prod_mest |
NULL |
Целочисленный (int), 4 символа |
|
|
4 |
Summa |
NULL |
Decimal, 9 симолов |
[summa]=>0 |
|
5 |
Time_otp |
NULL |
Datetime,8 символов |
|
|
3) Скрипт бд
Reis:
Create table reis
(N_reis int not null,
Tip char(30) not null,
Time_otp datetime not null,
Time_prib datetime not null,
Primary key(N_reis,time_otp,data_otp))
Adress_shem:
Create table adress_shem
(N_reis int foreign key FK reis(N_reis) primary key,
dni_otp char(10) not null,
marshr char(10) not null,
KM int not null,
Cena int not null)
Passajir:
Create table passajir
(kod_pass int primary key,
FIO char(50) not null,
Passport varchar(50) unique not null)
Kassa:
Create table kassa
(N_reis int not null,
dni_otp char(10) not null,
marshr char(10) not null,
KM int not null,
Cena int not null check(cena>0),
Kod_pass int foreign key FK passajir(kod_pass)
Time_otp datetime not null,
Data_otp datetime not null,
Primary key(N_reis, kod_pass))
Otmena:
Create table otmena
(N_reis int primary key foreign key FK spravka(N_reis) ,
Data datetime not null,
Prichina char(60) not null)
Spravka:
Create table spravka
(N_reis int foreign key FK kassa(N_reis) primary key,
Svobod_mest int check(svobod_mest>=0) not null,
Data_otp datetime not null)
Tip_avto:
Create table tip_avto
(n_reis int primary key foreign key FK reis(N_reis),
Kolvo_mest int check(kolvo_mest>=0) not null,
Nomer varchar(8) not null)
Vipolneno:
Create table vipolneno
(N_reis int primary key foreign key FK reis(N_reis),
Data_otp datetime not null,
Kolvo_prod_mest int not null,
Summa decimal check(summa>=0) not null,
Time_otp datetime not null)
4) Диаграмма, демонстрирующая связи между таблицами:
5) Таблицы базы данных
Adressa_shem:
N_reis |
Dni_otp |
Marshr |
KM |
Cena |
601 |
вт-пт |
Новосибирск-Бийск |
377 |
666 |
613 |
вт-ср |
Новосибирск-Бердск |
60 |
150 |
625 |
пн-ср |
Новосибирск-Горный |
90 |
120 |
637 |
сб |
Новосибирск-Кемерово |
274 |
485 |
649 |
пн-ср |
Новосибирск-Барнаул |
227 |
450 |
661 |
сб |
Новосибирск-Омск |
641 |
850 |
673 |
чт |
Новосибирск-Барнаул |
227 |
450 |
685 |
пн-ср |
Новосибирск-Кемерово |
274 |
485 |
697 |
ср |
Новосибирск-Бийск |
377 |
666 |
709 |
вс |
Новосибирск-Барнаул |
227 |
450 |
721 |
пн-вс |
Новосибирск-Юрга |
176 |
325 |
733 |
чт |
Новосибирск-Кемерово |
274 |
485 |
745 |
вс |
Новосибирск-Барнаул |
227 |
450 |
757 |
вс |
Новосибирск-Бийск |
377 |
666 |
Kassa:
N_reis |
N_mesta |
Cena |
Kod_Pass |
Time_otp |
Data_otp |
601 |
1 |
666 |
1 |
18:10:00 |
20.12.2012 |
601 |
2 |
666 |
2 |
18:10:00 |
20.12.2012 |
601 |
3 |
666 |
3 |
18:10:00 |
20.12.2012 |
601 |
4 |
666 |
4 |
18:10:00 |
20.12.2012 |
601 |
20 |
666 |
5 |
18:10:00 |
20.12.2012 |
601 |
12 |
666 |
6 |
18:10:00 |
20.12.2012 |
601 |
11 |
256 |
8 |
13:00:00 |
20.12.2012 |
601 |
20 |
666 |
20 |
18:10:00 |
20.12.2012 |
601 |
24 |
666 |
24 |
18:10:00 |
20.12.2012 |
613 |
2 |
150 |
2 |
12:05:00 |
25.12.2012 |
613 |
21 |
150 |
21 |
12:05:00 |
25.12.2012 |
625 |
3 |
120 |
3 |
18:40:00 |
25.12.2012 |
637 |
4 |
485 |
4 |
12:30:00 |
05.01.2013 |
649 |
5 |
450 |
5 |
12:20:00 |
16.01.2013 |
649 |
15 |
450 |
15 |
12:20:00 |
16.01.2013 |
661 |
6 |
850 |
6 |
21:10:00 |
02.02.2013 |
661 |
18 |
850 |
18 |
21:10:00 |
02.02.2013 |
661 |
23 |
850 |
23 |
21:10:00 |
02.02.2013 |
673 |
2 |
450 |
3 |
13:00:00 |
07.02.2013 |
673 |
7 |
450 |
7 |
13:00:00 |
07.02.2013 |
673 |
11 |
450 |
11 |
13:00:00 |
07.02.2013 |
673 |
12 |
450 |
12 |
13:00:00 |
07.02.2013 |
673 |
14 |
450 |
13 |
13:00:00 |
07.02.2013 |
673 |
20 |
450 |
23 |
13:00:00 |
07.02.2013 |
673 |
26 |
450 |
26 |
13:00:00 |
07.02.2013 |
685 |
15 |
485 |
2 |
15:30:00 |
12.12.2012 |
685 |
13 |
485 |
4 |
15:30:00 |
12.12.2012 |
685 |
8 |
485 |
8 |
15:30:00 |
12.12.2012 |
685 |
10 |
485 |
11 |
15:30:00 |
12.12.2012 |
685 |
9 |
485 |
12 |
15:30:00 |
12.12.2012 |
685 |
16 |
485 |
16 |
15:30:00 |
12.12.2012 |
685 |
9 |
485 |
18 |
15:30:00 |
12.12.2012 |
685 |
22 |
485 |
22 |
15:30:00 |
12.12.2012 |
685 |
14 |
485 |
24 |
15:30:00 |
12.12.2012 |
685 |
25 |
485 |
25 |
15:30:00 |
12.12.2012 |
685 |
30 |
485 |
30 |
15:30:00 |
12.12.2012 |
697 |
9 |
666 |
9 |
13:00:00 |
02.01.2013 |
709 |
10 |
450 |
10 |
13:30:00 |
06.01.2013 |
709 |
17 |
450 |
17 |
13:30:00 |
06.01.2013 |
709 |
28 |
450 |
28 |
13:30:00 |
06.01.2013 |
721 |
19 |
325 |
19 |
18:40:00 |
05.01.2013 |
733 |
12 |
485 |
12 |
13:50:00 |
27.12.2012 |
745 |
23 |
450 |
1 |
13:50:00 |
16.12.2012 |
745 |
13 |
450 |
13 |
13:50:00 |
16.12.2012 |
745 |
27 |
450 |
27 |
13:50:00 |
16.12.2012 |
745 |
29 |
450 |
29 |
13:50:00 |
16.12.2012 |
757 |
4 |
666 |
4 |
16:00:00 |
23.12.2012 |
757 |
14 |
666 |
14 |
13:00:00 |
23.12.2012 |
757 |
24 |
666 |
24 |
13:00:00 |
23.12.2012 |
Otmena
N_reis |
Data |
Prichina |
|
|
|
Passajir
Kod_pass |
FIO |
Passport |
1 |
Петров И.И |
7600289012 |
2 |
Иванов С.С |
7600289135 |
3 |
Сидорова Ю.А |
7600289258 |
4 |
Степанчук Л.И |
7600289381 |
5 |
Прокопенко М.И |
7600289504 |
6 |
Ким Е.П |
7600289627 |
7 |
Белых В.С |
7600289750 |
8 |
Якоби В.А |
7600289873 |
9 |
Агапова С.А |
7600289996 |
10 |
Кот П.С |
7600290119 |
11 |
Ленин В.И |
7600290242 |
12 |
Мельникова А.А |
7600290365 |
13 |
Белый В.С |
7600290488 |
14 |
Мороз А.В |
7600290611 |
15 |
Голубина А.П |
7600290734 |
16 |
Винс А.П |
7600290857 |
17 |
Семченков Ю.Б |
7600290980 |
18 |
Дромашко Б.Б |
7600291103 |
19 |
Немец П.А |
7600291226 |
20 |
Наумова В.Е |
7600291349 |
21 |
Охлобыстин А.А |
7600291472 |
22 |
Стычкин В.С |
7600291595 |
23 |
Фандера А.П |
7600291718 |
24 |
Жижикин И.И |
7600291841 |
25 |
Бодюк И.Т |
7600291964 |
26 |
Стреженов А.Р |
7600292087 |
27 |
Прилучный Т.А |
7600292210 |
28 |
Сухинин И.Т |
7600292333 |
29 |
Светлоков А.П |
7600292456 |
30 |
Брежнева Ю.С |
7600292579 |
Reis
N_reis |
Tip |
Time_otp |
Time_prib |
Data_otp |
601 |
Mersedes |
18:10:00 |
23:25:00 |
20.12.2012 |
613 |
ПАЗ |
12:05:00 |
12:44:00 |
25.12.2012 |
625 |
Ikarus |
18:40:00 |
20:20:00 |
25.12.2012 |
637 |
Nissan |
12:30:00 |
16:51:00 |
05.01.2013 |
649 |
ПАЗ |
14:20:00 |
18:50:00 |
16.01.2013 |
649 |
Ikarus |
12:20:00 |
16:50:00 |
16.01.2013 |
661 |
ПАЗ |
21:10:00 |
7:40:00 |
02.02.2013 |
673 |
Daewoo |
13:00:00 |
17:30:00 |
07.02.2013 |
685 |
Daewoo |
15:30:00 |
20:00:00 |
12.12.2012 |
697 |
ПАЗ |
13:00:00 |
6:20:00 |
02.01.2013 |
709 |
BMW |
13:30:00 |
18:00:00 |
06.01.2013 |
721 |
ПАЗ |
18:40:00 |
21:55:00 |
05.01.2013 |
733 |
МАЗ |
13:50:00 |
18:20:00 |
27.12.2012 |
745 |
Ikarus |
13:50:00 |
18:19:00 |
16.12.2012 |
757 |
Ikarus |
16:00:00 |
9:20:00 |
23.12.2012 |
757 |
ПАЗ |
13:00:00 |
6:20:00 |
23.12.2012 |
Spravka
N_reis |
svobod_mest |
Data_otp |
601 |
31 |
20.12.2012 |
613 |
0 |
25.12.2012 |
625 |
24 |
25.12.2012 |
637 |
14 |
05.01.2013 |
649 |
24 |
16.01.2013 |
661 |
20 |
02.02.2013 |
673 |
22 |
07.02.2013 |
685 |
27 |
12.12.2012 |
697 |
22 |
02.01.2013 |
709 |
29 |
06.01.2013 |
721 |
22 |
05.01.2013 |
Tip_avto
N_reis |
Kolvo_mest |
nomer |
601 |
40 |
Е231КА |
613 |
23 |
А675ЕН |
625 |
25 |
А453КА |
637 |
15 |
О278КА |
649 |
25 |
Х444АМ |
661 |
23 |
В647АО |
673 |
30 |
В446ВО |
685 |
38 |
О333ОО |
697 |
23 |
Т455АМ |
709 |
32 |
О001ОО |
721 |
23 |
А331ТМ |
733 |
25 |
В432КО |
745 |
30 |
Т433ТО |
757 |
23 |
А123ЕН |