ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 61
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
. Реализованы запросы по извлечению информации из базы данных.
Так как цели курсовой работы были достигнуты, курсовая работа выполнена.
1
8
Список использованной литературы
) Хелен Б. – Firebird. Руководство разработчика баз данных /
Александр Бондарь - СПб: БХВ-Петербург, 2010. - 48 с.
) Кириллов В.В. Введение в реляционные базы данных / В. В.
Кириллов, Г. Ю. Громов. – Спб.: БХВ-Петербург, 2009. – 464 с.
Нормальная форма [Электронный ресурс].
https://ru.wikipedia.org/wiki/Нормальная_форма (дата обращения: 14.06.2021).
1
2
3
)
-
URL:
1
9
Приложение А
Создание таблицы «airlainer»
createtableairlainer(
airlainer_codeintprimary key,
aircraft_model varchar (70) not null,
allowed_places int not null
);
Создание таблицы « board »
create table board(
board_number int primary key,
airlainer_code int not null,
foreign key (airlainer_code) references airlainer(airlainer_code)
);
Создание таблицы « class »
create table class(
class_id int primary key,
class_name varchar(50) not null
);
Создание таблицы « board_has_class »
create table board_has_class(
class_id int not null,
board_number int not null,
places_in_class int not null,
primary key(class_id, board_number),
foreign key (class_id) references class(class_id),
foreign key (board_number) references board(board_number)
2
0
);
Создание таблицы « passanger »
create table passanger(
pasport varchar(10) primary key,
visa varchar(15),
name varchar(80) not null,
surname varchar(80) not null,
patronymic varchar(80),
birthday date not null
);
Создание таблицы « city »
create table city(
city_code int primary key,
city_name varchar(80) not null
);
Создание таблицы « route »
create table route(
route_number int primary key,
city_code_start int not null,
city_code_end int not null,
foreign key (city_code_start) references city(city_code),
foreign key (city_code_end) references city(city_code)
);
Создание таблицы « flight »
create table flight(
flight_number int primary key,
flight_start time not null,
2
1
flight_end time not null,
flight_start_date date not null,
flight_end_date date not null,
route_number int not null,
board_number int not null,
foreign key (route_number) references route(route_number),
foreign key (board_number) references board(board_number)
);
Создание таблицы «ticket»
create table ticket(
ticket_id int primary key,
pasport varchar(10) not null,
sit_place int not null,
flight_number int not null,
class_id int not null,
price float not null,
foreign key (flight_number) references flight(flight_number),
foreign key (class_id) references class(class_id)
);
Заполнение таблицы «airlainer»
insert into airlainer
values (737, 'Boeing 737', 750)
(320, 'Airbus 320', 550)
(777, 'Boeing 777', 320)
Заполнение таблицы «board»
insert into board
values (10, 737)
2
2
(11, 737)
(12, 777)
(13, 320)
Заполнение таблицы «class»
insert into class
values (0, 'Эконом')
(1, 'Бизнес')
Заполнение таблицы «board_has_class»
insert into board_has_class
values (0, 10, 500)
(1, 10, 250)
(1, 11, 550)
(0, 12, 230)
Заполнение таблицы «city»
insert into city
values (0, 'Москва')
(1, 'Вашингтон')
(2, 'Лондон')
(3, 'Париж')
(4, 'Прага')
Заполнение таблицы «route»
insert into route
values (0, 0, 3)
(1, 4, 3)
(2, 2, 4)
(3, 0, 1)
2
3
Заполнение таблицы «passanger»
insert into passanger
values ('8463526754', null, 'Petya', 'Cozurev', null, '30.01.1987')
('5426632352', '82746274626', 'Anya', 'Arbuzova', null, '26.05.1977')
('9583675823', '56578999213', 'Viktor', 'Barabanov', 'Vitalievich',
16.09.1998')
'
Заполнение таблицы «flight»
insert into flight
values (0, '10:00:00', '15:00:00', '17.05.2019', '17.05.2019', 1, 10)
(1, '23:00:00', '02:00:00', '05.01.2019', '06.01.2019', 3, 13)
Заполнение таблицы «ticket »
insert into ticket
values (0, '5426632352', 44, 0, 1, 1000.99)
(1, '5426632352', 45, 0, 1, 1000.99)
(2, '8463526754', 230, 0, 1, 800.00)
(3, '9583675823', 229, 0, 1, 800.00)
2
4
Приложение Б
Вывод всех бортов
select board.board_number, airlainer.aircraft_model from board, airlainer
where board.airlainer_code = airlainer.airlainer_code
Вывод всех билетов и данных пассажиров, оформивших билет
select
ticket.ticket_id,
ticket.flight_number,
class.class_name,
ticket.sit_place,
passanger.surname, passanger.name from ticket left join passanger
on ticket.pasport = passanger.pasport left join class
on class.class_id = ticket.class_id
Вывод рейсов
select
distinct
flight.flight_number,
flight.flight_start,
flight.flight_start_date,
airlainer.aircraft_model, flight.route_number
from flight, board, airlainer, route, city
where flight.board_number = board.board_number and
board.airlainer_code = airlainer.airlainer_code
Вывод всех классов для всех самолетов
select airlainer.aircraft_model, board.board_number, class.class_name,
board_has_class.places_in_class from board_has_class inner join class on
board_has_class.class_id = class.class_id inner join board on
board_has_class.board_number = board.board_number inner join airlainer
on
board.airlainer_code = airlainer.airlainer_code
Вывод всех стартовых точек маршрутов
select route.route_number, city.city_name from route inner join city on
city.city_code = route.city_code_start
2
5
Приложение В
Триггер, проверяющий, что в самолете не может быть больше мест, чем
максимально установленное кол-во производителем
create exception