356 lines
18 KiB
SQL
356 lines
18 KiB
SQL
INSERT INTO films_genres (name) VALUES
|
||
('Боевик'),
|
||
('Комедия'),
|
||
('Драма'),
|
||
('Фантастика'),
|
||
('Ужасы'),
|
||
('Триллер'),
|
||
('Мелодрама'),
|
||
('Приключения'),
|
||
('Фэнтези'),
|
||
('Мистика'),
|
||
('Детектив'),
|
||
('Анимация'),
|
||
('Документальный'),
|
||
('Исторический'),
|
||
('Вестерн');
|
||
|
||
|
||
INSERT INTO films_films (name, duration, release_date) VALUES
|
||
('Звёздные войны: Эпизод IV – Новая надежда', 121, '1977-05-25'),
|
||
('Властелин колец: Братство Кольца', 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'),
|
||
('Криминальное чтиво', 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'),
|
||
('ВАЛЛ·И', 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'),
|
||
('Храбрая сердцем', 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'),
|
||
('Мечтатели', 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); -- Темный рыцарь: Возрождение легенды - Приключения
|
||
|
||
UPDATE films_films
|
||
SET description =
|
||
CASE
|
||
WHEN name = 'Звёздные войны: Эпизод IV – Новая надежда' THEN 'Описание Звёздные войны: Эпизод IV – Новая надежда'
|
||
WHEN name = 'Властелин колец: Братство Кольца' THEN 'Описание Властелин колец: Братство Кольца'
|
||
WHEN name = 'Зеленая миля' THEN 'Описание Зеленая миля'
|
||
WHEN name = 'Форрест Гамп' THEN 'Описание Форрест Гамп'
|
||
WHEN name = 'Побег из Шоушенка' THEN 'Описание Побег из Шоушенка'
|
||
WHEN name = 'Начало' THEN 'Описание Начало'
|
||
WHEN name = 'Матрица' THEN 'Описание Матрица'
|
||
WHEN name = 'Властелин колец: Возвращение Короля' THEN 'Описание Властелин колец: Возвращение Короля'
|
||
WHEN name = 'Интерстеллар' THEN 'Описание Интерстеллар'
|
||
WHEN name = '1+1' THEN 'Описание 1+1'
|
||
WHEN name = 'Криминальное чтиво' THEN 'Описание Криминальное чтиво'
|
||
WHEN name = 'Король Лев' THEN 'Описание Король Лев'
|
||
WHEN name = 'Бойцовский клуб' THEN 'Описание Бойцовский клуб'
|
||
WHEN name = 'Темный рыцарь' THEN 'Описание Темный рыцарь'
|
||
WHEN name = 'Гладиатор' THEN 'Описание Гладиатор'
|
||
WHEN name = 'Пираты Карибского моря: Проклятие Черной жемчужины' THEN 'Описание Пираты Карибского моря: Проклятие Черной жемчужины'
|
||
WHEN name = 'Хороший, плохой, злой' THEN 'Описание Хороший, плохой, злой'
|
||
WHEN name = 'Леон' THEN 'Описание Леон'
|
||
WHEN name = 'Терминатор 2: Судный день' THEN 'Описание Терминатор 2: Судный день'
|
||
WHEN name = 'ВАЛЛ·И' THEN 'Описание ВАЛЛ·И'
|
||
WHEN name = 'Джанго освобожденный' THEN 'Описание Джанго освобожденный'
|
||
WHEN name = 'Исчезнувшая' THEN 'Описание Исчезнувшая'
|
||
WHEN name = 'Храброе сердце' THEN 'Описание Храброе сердце'
|
||
WHEN name = 'Гарри Поттер и Философский камень' THEN 'Описание Гарри Поттер и Философский камень'
|
||
WHEN name = 'Индиана Джонс: В поисках утраченного ковчега' THEN 'Описание Индиана Джонс: В поисках утраченного ковчега'
|
||
WHEN name = 'Красота по-американски' THEN 'Описание Красота по-американски'
|
||
WHEN name = 'Трасса 60' THEN 'Описание Трасса 60'
|
||
WHEN name = 'Храбрая сердцем' THEN 'Описание Храбрая сердцем'
|
||
WHEN name = 'Кунг-фу Панда' THEN 'Описание Кунг-фу Панда'
|
||
WHEN name = 'Рататуй' THEN 'Описание Рататуй'
|
||
WHEN name = 'Голодные игры' THEN 'Описание Голодные игры'
|
||
WHEN name = 'Мадагаскар' THEN 'Описание Мадагаскар'
|
||
WHEN name = 'Человек-паук' THEN 'Описание Человек-паук'
|
||
WHEN name = 'Кунг-фу Панда 2' THEN 'Описание Кунг-фу Панда 2'
|
||
WHEN name = 'Мечтатели' THEN 'Описание Мечтатели'
|
||
WHEN name = 'Гарри Поттер и узник Азкабана' THEN 'Описание Гарри Поттер и узник Азкабана'
|
||
WHEN name = 'Люди Икс' THEN 'Описание Люди Икс'
|
||
WHEN name = 'Хранители' THEN 'Описание Хранители'
|
||
WHEN name = 'Трансформеры' THEN 'Описание Трансформеры'
|
||
WHEN name = 'Темный рыцарь: Возрождение легенды' THEN 'Описание Темный рыцарь: Возрождение легенды'
|
||
END;
|
||
|
||
|
||
-- Заполнение таблицы 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;
|
||
|
||
|