DEV Community

faxridd1n
faxridd1n

Posted on

Sardor

CREATE TABLE Рейсы (
    Номер_рейса INT PRIMARY KEY,
    Тип_рейса VARCHAR(50),
    Самолет INT,
    Дата DATE,
    Время TIME,
    Продолжительность INT,
    Путь_следования VARCHAR(255),
    Авиакомпания INT,
    FOREIGN KEY (Самолет) REFERENCES Самолеты(Код_самолета),
    FOREIGN KEY (Авиакомпания) REFERENCES Авиакомпании(Код)
);

CREATE TABLE Техобслуживание (
    Номер_TO INT PRIMARY KEY,
    Дата DATE,
    Ответственный VARCHAR(255),
    Степень_износа VARCHAR(50),
    Результат VARCHAR(255)
);

CREATE TABLE Самолеты (
    Код_самолета INT PRIMARY KEY,
    Типы VARCHAR(50),
    Рейсы INT,
    Техобслуживание INT,
    Количество_пассажиров INT,
    FOREIGN KEY (Рейсы) REFERENCES Рейсы(Номер_рейса),
    FOREIGN KEY (Техобслуживание) REFERENCES Техобслуживание(Номер_TO)
);

CREATE TABLE Пассажиры (
    Код_пассажира INT PRIMARY KEY,
    ФИО VARCHAR(255),
    Билет INT,
    Контроль VARCHAR(255),
    Рейс INT,
    Путь_следования VARCHAR(255),
    Скидки DECIMAL(5, 2),
    Касса INT,
    Багаж VARCHAR(255),
    FOREIGN KEY (Билет) REFERENCES Билеты(Номер_билета),
    FOREIGN KEY (Рейс) REFERENCES Рейсы(Номер_рейса),
    FOREIGN KEY (Касса) REFERENCES Кассы(Номер_билета)
);

CREATE TABLE Персонал (
    Код_персонала INT PRIMARY KEY,
    ФИО VARCHAR(255),
    Должность VARCHAR(100),
    Летные_часы INT,
    Срок_контракта DATE,
    Возраст INT,
    Семейное_положение VARCHAR(50)
);

CREATE TABLE Авиакомпании (
    Код INT PRIMARY KEY,
    Название VARCHAR(100),
    Дата_создания DATE,
    Представительства VARCHAR(255),
    Самолеты INT,
    Рейсы INT,
    Персонал INT,
    FOREIGN KEY (Самолеты) REFERENCES Самолеты(Код_самолета),
    FOREIGN KEY (Рейсы) REFERENCES Рейсы(Номер_рейса),
    FOREIGN KEY (Персонал) REFERENCES Персонал(Код_персонала)
);

CREATE TABLE Бронь_билета (
    Код_пассажира INT,
    Номер_билета INT,
    Касса INT,
    Время TIME,
    Стоимость DECIMAL(10, 2),
    Срок_оплаты DATE,
    PRIMARY KEY (Код_пассажира, Номер_билета),
    FOREIGN KEY (Код_пассажира) REFERENCES Пассажиры(Код_пассажира),
    FOREIGN KEY (Номер_билета) REFERENCES Билеты(Номер_билета),
    FOREIGN KEY (Касса) REFERENCES Кассы(Номер_билета)
);

CREATE TABLE Билеты (
    Номер_билета INT PRIMARY KEY,
    Код_пассажира INT,
    ФИО VARCHAR(255),
    Рейс INT,
    Номер_рейса INT,
    Номер_места INT,
    Класс VARCHAR(50),
    Время TIME,
    Путь_следования VARCHAR(255),
    Авиакомпания INT,
    FOREIGN KEY (Код_пассажира) REFERENCES Пассажиры(Код_пассажира),
    FOREIGN KEY (Номер_рейса) REFERENCES Рейсы(Номер_рейса),
    FOREIGN KEY (Авиакомпания) REFERENCES Авиакомпании(Код)
);

-- Таблица "Кассы"
CREATE TABLE Кассы (
    Номер_билета INT PRIMARY KEY,
    Авиакомпания INT,
    Время TIME,
    Рейс INT,
    Стоимость DECIMAL(10, 2),
    FOREIGN KEY (Авиакомпания) REFERENCES Авиакомпании(Код),
    FOREIGN KEY (Рейс) REFERENCES Рейсы(Номер_рейса)
);

Enter fullscreen mode Exit fullscreen mode

Image description

-- Отключаем проверку внешних ключей на время заполнения
PRAGMA foreign_keys = OFF;

INSERT INTO Авиакомпании (Код, Название, Дата_создания, Представительства, Самолеты, Рейсы, Персонал) VALUES
(1, 'Аэрофлот', '1923-03-17', 'Москва, Санкт-Петербург', 101, 1, 1),
(2, 'S7 Airlines', '1992-05-01', 'Москва, Новосибирск', 102, 2, 2),
(3, 'Utair', '1967-10-07', 'Москва, Сургут', 103, 3, 3),
(4, 'Победа', '2014-12-01', 'Москва, Сочи', 104, 4, 4),
(5, 'Red Wings', '1999-08-27', 'Москва, Казань', 105, 5, 5);

INSERT INTO Самолеты (Код_самолета, Типы, Рейсы, Техобслуживание, Количество_пассажиров) VALUES
(101, 'Boeing 737', 1, 1, 180),
(102, 'Airbus A320', 2, 2, 160),
(103, 'Boeing 777', 3, 3, 300),
(104, 'Airbus A350', 4, 4, 350),
(105, 'Cessna 208', 5, 5, 12);

INSERT INTO Рейсы (Номер_рейса, Тип_рейса, Самолет, Дата, Время, Продолжительность, Путь_следования, Авиакомпания) VALUES
(1, 'Международный', 101, '2024-12-20', '10:30:00', 180, 'Москва - Лондон', 1),
(2, 'Внутренний', 102, '2024-12-21', '15:00:00', 120, 'Москва - Санкт-Петербург', 2),
(3, 'Международный', 103, '2024-12-22', '08:45:00', 240, 'Москва - Париж', 3),
(4, 'Чартерный', 104, '2024-12-23', '23:00:00', 300, 'Москва - Нью-Йорк', 4),
(5, 'Грузовой', 105, '2024-12-24', '12:15:00', 90, 'Москва - Казань', 5);

INSERT INTO Техобслуживание (Номер_TO, Дата, Ответственный, Степень_износа, Результат) VALUES
(1, '2024-12-01', 'Иванов И.И.', 'Средний', 'Исправен'),
(2, '2024-12-02', 'Петров П.П.', 'Низкий', 'Исправен'),
(3, '2024-12-03', 'Сидоров С.С.', 'Высокий', 'Требуется ремонт'),
(4, '2024-12-04', 'Кузнецов К.К.', 'Средний', 'Исправен'),
(5, '2024-12-05', 'Новиков Н.Н.', 'Низкий', 'Исправен');

INSERT INTO Персонал (Код_персонала, ФИО, Должность, Летные_часы, Срок_контракта, Возраст, Семейное_положение) VALUES
(1, 'Иванов И.И.', 'Пилот', 1500, '2025-12-31', 45, 'Женат'),
(2, 'Петров П.П.', 'Бортпроводник', 800, '2026-12-31', 30, 'Холост'),
(3, 'Сидоров С.С.', 'Пилот', 2000, '2025-12-31', 50, 'Женат'),
(4, 'Кузнецов К.К.', 'Механик', 0, '2026-12-31', 35, 'Холост'),
(5, 'Новиков Н.Н.', 'Диспетчер', 0, '2027-12-31', 40, 'Женат');

INSERT INTO Пассажиры (Код_пассажира, ФИО, Билет, Контроль, Рейс, Путь_следования, Скидки, Касса, Багаж) VALUES
(1, 'Алексей Смирнов', 1, 'Пройден', 1, 'Москва - Лондон', 5.00, 1, '2 сумки'),
(2, 'Мария Иванова', 2, 'Пройден', 2, 'Москва - Санкт-Петербург', 10.00, 2, 'Рюкзак'),
(3, 'Олег Петров', 3, 'Пройден', 3, 'Москва - Париж', 0.00, 3, 'Чемодан'),
(4, 'Анна Сидорова', 4, 'Пройден', 4, 'Москва - Нью-Йорк', 15.00, 4, 'Чемодан, рюкзак'),
(5, 'Игорь Новиков', 5, 'Пройден', 5, 'Москва - Казань', 20.00, 5, 'Пакет');

INSERT INTO Билеты (Номер_билета, Код_пассажира, ФИО, Рейс, Номер_рейса, Номер_места, Класс, Время, Путь_следования, Авиакомпания) VALUES
(1, 1, 'Алексей Смирнов', 1, 1, 12, 'Бизнес', '10:30:00', 'Москва - Лондон', 1),
(2, 2, 'Мария Иванова', 2, 2, 18, 'Эконом', '15:00:00', 'Москва - Санкт-Петербург', 2),
(3, 3, 'Олег Петров', 3, 3, 24, 'Бизнес', '08:45:00', 'Москва - Париж', 3),
(4, 4, 'Анна Сидорова', 4, 4, 1, 'Первый', '23:00:00', 'Москва - Нью-Йорк', 4),
(5, 5, 'Игорь Новиков', 5, 5, 15, 'Эконом', '12:15:00', 'Москва - Казань', 5);

INSERT INTO Бронь_билета (Код_пассажира, Номер_билета, Касса, Время, Стоимость, Срок_оплаты) VALUES
(1, 1, 1, '12:00:00', 15000.00, '2024-12-18'),
(2, 2, 2, '14:30:00', 5000.00, '2024-12-19'),
(3, 3, 3, '10:15:00', 20000.00, '2024-12-20'),
(4, 4, 4, '16:45:00', 45000.00, '2024-12-21'),
(5, 5, 5, '09:00:00', 2500.00, '2024-12-22');

INSERT INTO Кассы (Номер_билета, Авиакомпания, Время, Рейс, Стоимость) VALUES
(1, 1, '12:00:00', 1, 15000.00),
(2, 2, '14:30:00', 2, 5000.00),
(3, 3, '10:15:00', 3, 20000.00),
(4, 4, '16:45:00', 4, 45000.00),
(5, 5, '09:00:00', 5, 2500.00);

-- Включаем проверку внешних ключей обратно
PRAGMA foreign_keys = ON;

Enter fullscreen mode Exit fullscreen mode

Image description

Image description

Top comments (0)