Главная страница
Навигация по странице:

  • Приложение

  • продажа авиабилетов. продаж авиабилетов. 1 Детально изучить и описать предметную область


    Скачать 5.96 Mb.
    Название1 Детально изучить и описать предметную область
    Анкорпродажа авиабилетов
    Дата28.03.2023
    Размер5.96 Mb.
    Формат файлаdocx
    Имя файлапродаж авиабилетов.docx
    ТипДокументы
    #1020885
    страница3 из 4
    1   2   3   4

    Список использованной литературы

    ) Хелен Б. 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
    1   2   3   4


    написать администратору сайта