Здраствуйте, помогите решить задачку:
| Цитата | Продажа билетов в кинотеатре: БД должна содержать информацию о идущих фильмах: "Название", "Жанр", "Продолжительность", "Атёры", "Годы выпуска", "Производитель", "Страна", и др. О сеансах: "Начало", "Окончание", "Продолжительность". О ценах на билеты, о продаже билетов, о свободных местах.
Разработка структуры: 1) Уточнение задания 2) Анализ предметной области, определение сущностей и связей 3) Нормализация 4) Проектирование таблиц
Язык SQL: 1) Создать все таблицы в БД 2) Заполнить таблицы информацией(по 5-10 записей) 3) Выборка данных(примерно 10 запросов по всем изученным возможностям) 4) По каждому запросу подробные комментарии и результат выполнения, если запрос на работу с данными для каждого запроса из п.3 приветсти содержание постановки.
|
Решение:
| Код | /*Создаём базу данных и именем Cinema*/ CREATE DATABASE IF NOT EXISTS `Cinema`; /*Все последующие действия будем вести с ней*/ USE `Cinema`;
/*Создаём таблицы*/
/*Структура таблицы `films`*/ CREATE TABLE IF NOT EXISTS `films` ( /*идентификатор*/ `id` int(11) NOT NULL AUTO_INCREMENT, /*название*/ `name` text NOT NULL, /*жанр*/ `genre` text NOT NULL, /*продолжительность*/ `duration` int(5) NOT NULL, /*актёры*/ `actors` text NOT NULL, /*дата выпуска*/ `release_date` date NOT NULL, /*производитель*/ `developer` varchar(50) NOT NULL, /*страна*/ `country` varchar(40) NOT NULL, /*ключевое поле id*/ UNIQUE KEY `id` (`id`) );
/*Дамп данных таблицы `films`, т.е. заполнение таблицы значениями*/ /* Существуют следующие типы запросов: SELECT – выбрать строки из таблиц; INSERT – добавить строки в таблицу; UPDATE – изменить строки в таблице; DELETE – удалить строки в таблице; */
/*В данном запросе мы добавляем данные в таблицу films*/ INSERT INTO `films` (`id`,`name`, `genre`, `duration`, `actors`, `release_date`, `developer`, `country`) VALUES /*тут данные вбиваемые в талицу*/;
/*Структура таблицы `seanses`*/ CREATE TABLE IF NOT EXISTS `seanses` ( /*идентификатор*/ `id` int(11) NOT NULL AUTO_INCREMENT, /*идентификатор фильма*/ `film_id` int(11) NOT NULL, /*дата сеанса*/ `seanse_date` date NOT NULL default, /*начало*/ `start` datetime NOT NULL, /*конец*/ `stop` datetime NOT NULL, /*В результате нормализации таблиц поле "продолжительность" - было решено убрать из данной таблицы*/ UNIQUE KEY `id` (`id`) );
|
И в этом месте всё застопорилось.
Как таблицу seanses заполнить таким образом, чтобы вручную вводить только start, а stop рассчитывался из условий: start + duration(продолжительность сеанса из таблицы films)?
Какие будут предлложения по определению структуры оставшейся части БД? |