Вход

Агентство по продаже билетов

Курсовая работа*
Код 103481
Дата создания 2016
Страниц 10
Покупка готовых работ временно недоступна.
1 520руб.

Содержание

СОДЕРЖАНИЕ
1. Агентство по продаже билетов 3
2. Схема базы данных, описание таблиц 4
3. SQL скрипты создания таблиц 5
4. Примеры запросов к базе данных 10

Фрагмент работы для ознакомления

description AS event_,
p.description AS place_,
p.address AS adress_,
s.name AS section_,
pr.price AS price_
FROM
section s,
tour t,
place p,
event e,
price pr
WHERE
s.id_place = p.id AND t.event_id = e.id
AND pr.tour_id = t.id
AND pr.section_id = s.id
ORDER BY t.datetime , e.description
Создадим функцию для проверки возраста покупателя. Функция принимает параметры: id_c – уникальный идентификатор покупателя, id_e – уникальный идентификатор мероприятия, функция возвращает 1, если возраст подходящий и 0 если нет.
CREATE FUNCTION `check_age`(id_c INT, id_e INT) RETURNS tinyint(1)
BEGIN
IF (SELECT
(YEAR(CURRENT_DATE)-YEAR(c.birthdate)) - RIGHT(CURRENT_DATE,5)<(RIGHT(c.birthdate,5))-e.agelimit
FROM customer c, event e
WHERE c.id=id_c
AND e.id=id_e)>0 THEN RETURN 1; ELSE RETURN 0; END IF;
END
Напишем процедуру создания билетов в базе данных.
CREATE PROCEDURE `new_tickets`(id_section INT, id_tour INT)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE j INT DEFAULT 1;
WHILE i<20 DO
SET j=1;
WHILE j<25 DO
INSERT INTO `mydb`.`ticket` (`lane`, `seat`, `id_section`, `id_tour`) VALUES (i, j, id_section, id_tour);
SET j=j+1;
END WHILE;
SET i=i+1;
END WHILE;
END
Создадим триггер, который перед вставкой в таблицу SALE будет вызывать функцию check_age. Продажи билета не будет, если возраст покупателя не подходит.

CREATE TRIGGER `sale_BEFORE_INSERT` BEFORE INSERT ON `sale` FOR EACH ROW
BEGIN
IF (SELECT check_age(NEW.id_ticket,NEW.id_customer))=1 THEN
SET NEW.id_ticket=NEW.id_ticket,
NEW.id_customer=NEW.id_customer,
NEW.DATETIME=NEW.DATETIME;
ELSE
SET NEW.id_ticket=0,
NEW.id_customer=NEW.id_customer,
NEW.DATETIME=NOW();
END IF;
END
Примеры запросов к базе данных
К полученной базе можно обращаться с помощью SQL запросов. Например, выберем все мероприятия, которые пройдут в определенном месте из расписания (представление SHEDULE).
SELECT * FROM mydb.shedule
WHERE place_='Большой Концертный Зал'
AND datetime_>NOW();
Или всех клиентов купивших билет на концерт.
SELECT c.name, t.id, e.description FROM
mydb.customer c,
mydb.sale s,
mydb.ticket t,
mydb.tour tr,
mydb.event e
WHERE c.id=s.id_customer
AND s.id_ticket=t.id
AND tr.id=t.id_tour
AND tr.event_id=e.id
2
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала, который не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, но может использоваться в качестве источника для подготовки работы указанной тематики.
Сколько стоит
консультация по подготовке материалов?
1
Заполните заявку - это бесплатно и ни к чему вас не обязывает. Окончательное решение вы принимаете после ознакомления с условиями выполнения работы.
2
Менеджер оценивает работу и сообщает вам стоимость и сроки.
3
Вы вносите предоплату 25% и мы приступаем к работе.
4
Менеджер найдёт лучшего автора по вашей теме, проконтролирует выполнение работы и сделает всё, чтобы вы остались довольны.
5
Автор примет во внимание все ваши пожелания и требования вуза, оформит работу согласно ГОСТ, произведёт необходимые доработки БЕСПЛАТНО.
6
Контроль качества проверит работу на уникальность.
7
Готово! Осталось внести доплату и работу можно скачать в личном кабинете.
После нажатия кнопки "Узнать стоимость" вы будете перенаправлены на сайт нашего официального партнёра Zaochnik.com
© Рефератбанк, 2002 - 2018