Файл: 1 Детально изучить и описать предметную область.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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