CineSync/Документы/Заполнение Кинотеатр.sql

312 lines
16 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

INSERT INTO films_genres (name) VALUES
('Боевик'),
('Комедия'),
('Драма'),
('Фантастика'),
('Ужасы'),
('Триллер'),
('Мелодрама'),
('Приключения'),
('Фэнтези'),
('Мистика'),
('Детектив'),
('Анимация'),
('Документальный'),
('Исторический'),
('Вестерн');
INSERT INTO films_films (name, duration, release_date, description) VALUES
('Звёздные войны: Эпизод IV Новая надежда', 121, '1977-05-25', 'Описание Звёздные войны: Эпизод IV Новая надежда'),
('Властелин колец: Братство Кольца', 178, '2001-12-19', 'Описание Властелин колец: Братство Кольца'),
('Зеленая миля', 189, '1999-12-10', 'Описание Зеленая миля'),
('Форрест Гамп', 142, '1994-06-23', 'Описание Форрест Гамп'),
('Побег из Шоушенка', 142, '1994-09-10', 'Описание Побег из Шоушенка'),
('Начало', 148, '2010-07-16', 'Описание Начало'),
('Матрица', 136, '1999-03-31', 'Описание Матрица'),
('Властелин колец: Возвращение Короля', 201, '2003-12-17', 'Описание Властелин колец: Возвращение Короля'),
('Интерстеллар', 169, '2014-11-06', 'Описание Интерстеллар'),
('1+1', 112, '2011-11-02', 'Описание 1+1'),
('Криминальное чтиво', 154, '1994-09-10', 'Описание Криминальное чтиво'),
('Король Лев', 88, '1994-06-15', 'Описание Король Лев'),
('Бойцовский клуб', 139, '1999-10-15', 'Описание Бойцовский клуб'),
('Темный рыцарь', 152, '2008-07-18', 'Описание Темный рыцарь'),
('Гладиатор', 155, '2000-05-01', 'Описание Гладиатор'),
('Пираты Карибского моря: Проклятие Черной жемчужины', 143, '2003-07-09', 'Описание Пираты Карибского моря: Проклятие Черной жемчужины'),
('Хороший, плохой, злой', 161, '1966-12-23', 'Описание Хороший, плохой, злой'),
('Леон', 110, '1994-09-14', 'Описание Леон'),
('Терминатор 2: Судный день', 137, '1991-07-03', 'Описание Терминатор 2: Судный день'),
('ВАЛЛ·И', 98, '2008-06-27', 'Описание ВАЛЛ·И'),
('Джанго освобожденный', 165, '2012-12-25', 'Описание Джанго освобожденный'),
('Исчезнувшая', 145, '2014-10-02', 'Описание Исчезнувшая'),
('Храброе сердце', 177, '1995-09-08', 'Описание Храброе сердце'),
('Гарри Поттер и Философский камень', 152, '2001-11-16', 'Описание Гарри Поттер и Философский камень'),
('Индиана Джонс: В поисках утраченного ковчега', 115, '1981-06-12', 'Описание Индиана Джонс: В поисках утраченного ковчега'),
('Красота по-американски', 122, '1999-09-08', 'Описание Красота по-американски'),
('Трасса 60', 92, '2001-02-09', 'Описание Трасса 60'),
('Храбрая сердцем', 93, '2012-06-22', 'Описание Храбрая сердцем'),
('Кунг-фу Панда', 92, '2008-06-05', 'Описание Кунг-фу Панда'),
('Рататуй', 111, '2007-06-28', 'Описание Рататуй'),
('Голодные игры', 142, '2012-03-12', 'Описание Голодные игры'),
('Мадагаскар', 86, '2005-05-25', 'Описание Мадагаскар'),
('Человек-паук', 121, '2002-05-03', 'Описание Человек-паук'),
('Кунг-фу Панда 2', 91, '2011-05-26', 'Описание Кунг-фу Панда 2'),
('Мечтатели', 127, '2003-11-19', 'Описание Мечтатели'),
('Гарри Поттер и узник Азкабана', 142, '2004-05-31', 'Описание Гарри Поттер и узник Азкабана'),
('Люди Икс', 104, '2000-07-13', 'Описание Люди Икс'),
('Хранители', 162, '2009-03-06', 'Описание Хранители'),
('Трансформеры', 144, '2007-06-27', 'Описание Трансформеры'),
('Темный рыцарь: Возрождение легенды', 164, '2012-07-16', 'Описание Темный рыцарь: Возрождение легенды');
INSERT INTO films_films_genres (film_id, genre_id) VALUES
(1, 4), -- Звёздные войны: Эпизод IV Новая надежда - Фантастика
(1, 7), -- Звёздные войны: Эпизод IV Новая надежда - Приключения
(2, 4), -- Властелин колец: Братство Кольца - Фантастика
(2, 7), -- Властелин колец: Братство Кольца - Приключения
(3, 3), -- Зеленая миля - Драма
(4, 3), -- Форрест Гамп - Драма
(5, 3), -- Побег из Шоушенка - Драма
(6, 4), -- Начало - Фантастика
(6, 5), -- Начало - Триллер
(7, 4), -- Матрица - Фантастика
(8, 4), -- Властелин колец: Возвращение Короля - Фантастика
(8, 7), -- Властелин колец: Возвращение Короля - Приключения
(9, 4), -- Интерстеллар - Фантастика
(9, 3), -- Интерстеллар - Драма
(10, 3), -- 1+1 - Драма
(10, 8), -- 1+1 - Мелодрама
(11, 5), -- Криминальное чтиво - Ужасы
(12, 7), -- Король Лев - Приключения
(13, 6), -- Бойцовский клуб - Триллер
(13, 5), -- Бойцовский клуб - Ужасы
(14, 6), -- Темный рыцарь - Триллер
(14, 5), -- Темный рыцарь - Ужасы
(15, 6), -- Гладиатор - Триллер
(16, 7), -- Пираты Карибского моря: Проклятие Черной жемчужины - Приключения
(17, 8), -- Хороший, плохой, злой - Мелодрама
(17, 2), -- Хороший, плохой, злой - Комедия
(18, 9), -- Леон - Фэнтези
(18, 6), -- Леон - Триллер
(19, 9), -- Терминатор 2: Судный день - Фэнтези
(19, 4), -- Терминатор 2: Судный день - Фантастика
(20, 1), -- ВАЛЛ·И - Боевик
(20, 4), -- ВАЛЛ·И - Фантастика
(21, 6), -- Джанго освобожденный - Триллер
(22, 6), -- Исчезнувшая - Триллер
(23, 6), -- Храброе сердце - Триллер
(24, 7), -- Гарри Поттер и Философский камень - Приключения
(24, 9), -- Гарри Поттер и Философский камень - Фэнтези
(25, 6), -- Индиана Джонс: В поисках утраченного ковчега - Триллер
(25, 7), -- Индиана Джонс: В поисках утраченного ковчега - Приключения
(26, 8), -- Красота по-американски - Мелодрама
(26, 2), -- Красота по-американски - Комедия
(27, 1), -- Трасса 60 - Боевик
(28, 9), -- Храбрая сердцем - Фэнтези
(28, 6), -- Храбрая сердцем - Триллер
(29, 10), -- Кунг-фу Панда - Мистика
(29, 11), -- Кунг-фу Панда - Детектив
(30, 10), -- Рататуй - Мистика
(30, 11), -- Рататуй - Детектив
(31, 11), -- Голодные игры - Детектив
(31, 6), -- Голодные игры - Триллер
(32, 10), -- Мадагаскар - Мистика
(32, 11), -- Мадагаскар - Детектив
(33, 12), -- Человек-паук - Анимация
(33, 1), -- Человек-паук - Боевик
(34, 10), -- Кунг-фу Панда 2 - Мистика
(34, 11), -- Кунг-фу Панда 2 - Детектив
(35, 3), -- Мечтатели - Драма
(36, 4), -- Гарри Поттер и узник Азкабана - Фантастика
(36, 7), -- Гарри Поттер и узник Азкабана - Приключения
(37, 1), -- Люди Икс - Боевик
(37, 4), -- Люди Икс - Фантастика
(38, 7), -- Хранители - Приключения
(38, 4), -- Хранители - Фантастика
(39, 1), -- Трансформеры - Боевик
(39, 4), -- Трансформеры - Фантастика
(40, 6), -- Темный рыцарь: Возрождение легенды - Триллер
(40, 7); -- Темный рыцарь: Возрождение легенды - Приключения
-- Заполнение таблицы timetable_auditoriums
INSERT INTO timetable_auditoriums (number, row_count) VALUES
('Зал 1', 10), -- Зал 1, 10 рядов
('Зал 2', 8), -- Зал 2, 8 рядов
('Зал 3', 12), -- Зал 3, 12 рядов
('Зал 4', 9), -- Зал 4, 9 рядов
('Зал 5', 11), -- Зал 5, 11 рядов
('Зал 6', 7), -- Зал 6, 7 рядов
('Зал 7', 10); -- Зал 7, 10 рядов
-- Предполагается, что в каждом зале 10 рядов и в каждом ряду 10 кресел.
-- Создаем вспомогательную таблицу numbers с числами от 1 до 10
CREATE TABLE numbers (n INTEGER PRIMARY KEY);
INSERT INTO numbers (n) VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-- Вставляем данные в таблицу timetable_rows для каждого зала
-- Предполагается, что в каждом зале 10 рядов и в каждом ряду 10 кресел.
-- Для Зала 1
INSERT INTO timetable_rows (row_number, column_count, auditorium_id)
SELECT
n AS row_number,
10 AS column_count, -- Количество кресел в ряду
1 AS auditorium_id -- ID Зала 1
FROM
numbers;
-- Для Зала 2
INSERT INTO timetable_rows (row_number, column_count, auditorium_id)
SELECT
n AS row_number,
10 AS column_count, -- Количество кресел в ряду
2 AS auditorium_id -- ID Зала 2
FROM
numbers;
-- Для Зала 3
INSERT INTO timetable_rows (row_number, column_count, auditorium_id)
SELECT
n AS row_number,
10 AS column_count, -- Количество кресел в ряду
3 AS auditorium_id -- ID Зала 3
FROM
numbers;
-- Для Зала 4
INSERT INTO timetable_rows (row_number, column_count, auditorium_id)
SELECT
n AS row_number,
10 AS column_count, -- Количество кресел в ряду
4 AS auditorium_id -- ID Зала 4
FROM
numbers;
-- Для Зала 5
INSERT INTO timetable_rows (row_number, column_count, auditorium_id)
SELECT
n AS row_number,
10 AS column_count, -- Количество кресел в ряду
5 AS auditorium_id -- ID Зала 5
FROM
numbers;
-- Для Зала 6
INSERT INTO timetable_rows (row_number, column_count, auditorium_id)
SELECT
n AS row_number,
10 AS column_count, -- Количество кресел в ряду
6 AS auditorium_id -- ID Зала 6
FROM
numbers;
-- Для Зала 7
INSERT INTO timetable_rows (row_number, column_count, auditorium_id)
SELECT
n AS row_number,
10 AS column_count, -- Количество кресел в ряду
7 AS auditorium_id -- ID Зала 7
FROM
numbers;
-- Определим временной промежуток в рамках рабочего дня кинотеатра (10:00 - 22:00)
WITH RECURSIVE session_times AS (
SELECT strftime('%Y-%m-%d %H:%M', 'now', 'start of day', '+10 hours') AS start_datetime
UNION ALL
SELECT strftime('%Y-%m-%d %H:%M', start_datetime, '+2 hours') FROM session_times
WHERE start_datetime < strftime('%Y-%m-%d %H:%M', 'now', 'start of day', '+22 hours')
)
-- Вставим сеансы для каждого фильма в каждый зал
INSERT INTO timetable_film_sessions (start_datetime, price, auditorium_id, film_id)
SELECT
start_datetime,
10.00 AS price, -- Укажите цену билета здесь
auditoriums.id AS auditorium_id,
films.id AS film_id
FROM
session_times,
films_films AS films,
timetable_auditoriums AS auditoriums
ORDER BY
start_datetime, film_id;
-- Заполнение таблицы Режиссеров (Directors)
INSERT INTO films_directors (first_name, last_name) VALUES
('Кристофер', 'Нолан'),
('Стивен', 'Спилберг'),
('Квентин', 'Тарантино'),
('Мартин', 'Скорсезе'),
('Дэвид', 'Финчер'),
('Питер', 'Джексон'),
('Ридли', 'Скотт'),
('Джеймс', 'Кэмерон'),
('Стэнли', 'Кубрик'),
('Фрэнсис', 'Форд Коппола'),
('Альфред', 'Хичкок'),
('Джордж', 'Лукас');
-- Заполнение таблицы Актеров (Actors)
INSERT INTO films_actors (first_name, last_name) VALUES
('Том', 'Хэнкс'),
('Леонардо', 'ДиКаприо'),
('Мэттью', 'МакКонахи'),
('Дензел', 'Вашингтон'),
('Брэд', 'Питт'),
('Мэрил', 'Стрип'),
('Натали', 'Портман'),
('Джонни', 'Депп'),
('Кейт', 'Бланшетт'),
('Энди', 'Серкис'),
('Сигурни', 'Уивер'),
('Кейт', 'Уинслет');
-- Заполнение таблицы Стран (Countries)
INSERT INTO films_countries (name) VALUES
('США'),
('Великобритания'),
('Франция'),
('Германия'),
('Италия'),
('Канада'),
('Япония'),
('Индия'),
('Австралия'),
('Россия'),
('Китай'),
('Испания');
-- Добавление режиссеров к фильмам
INSERT INTO films_films_directors (film_id, director_id)
SELECT f.id AS film_id, d.id AS director_id
FROM films_films AS f
JOIN films_directors AS d ON d.id <= f.id
WHERE f.id BETWEEN 1 AND 40;
-- Добавление актеров к фильмам
INSERT INTO films_films_actors (film_id, actor_id)
SELECT f.id AS film_id, a.id AS actor_id
FROM films_films AS f
JOIN films_actors AS a ON a.id <= f.id
WHERE f.id BETWEEN 1 AND 40;
-- Добавление стран к фильмам
INSERT INTO films_films_countries (film_id, country_id)
SELECT f.id AS film_id, c.id AS country_id
FROM films_films AS f
JOIN films_countries AS c ON c.id <= f.id
WHERE f.id BETWEEN 1 AND 40;