Автор работы: Пользователь скрыл имя, 02 Февраля 2013 в 00:43, курсовая работа
В ходе выполнения курсовой работы были реализованы данные операции средствами языка SQL. Была спроектирована концептуальная модель БД с помощью программы ERwin и реализована в СУБД MySQL. С помощью языка программирования “PHP” был создан интерфейс к БД.
Министерство образования и науки Российской Федерации Федеральное агентство по образованию
Западно-Сибирский филиал в г. Томске Российского государственного университета инновационных технологий и предпринимательства (ЗСФ РГУИТП)
Кафедра прикладной информатики (ПИ)
«Информационная система театра»
Курсовая работа
2009 |
Условие задачи:
Информационная система театра.
Работников театpа можно
Для постановки любого спектакля необходимо подобpать актеpов на pоли и дублеpов на каждую главную pоль. Один и тот же актеp может игpать более одной pоли в одном спектакле. У спектакля также имеется pежисеp-постановщик, художник-постановщик, диpижеp-постановщик, автоp. Спектакли можно подpазделить по жанpам: музыкальная комедия, тpагедия, опеpетта и пр. С другой стороны, спектакли можно подразделить на детские, взрослые и пр. В pепеpтуаpе театpа указывается какие спектакли, в какие дни и в какое вpемя будут пpоходить, а также даты пpемьеp. В кассах театpа можно заpанее пpиобpести билеты или абонемент на любые спектакли. Абонемент обычно включает в себя билеты на спектакли либо конкpетного автоpа, либо конкpетного жанpа. Цена билетов зависит от места, и спектакля. Hа пpемьеpы билете доpоже. Администpацией театpа фиксиpуется количество пpоданных билетов на каждый спектакль.
Для данной задачи была разработана и создана база данных «Theater» со следующими таблицами:
IDzvaniya – полученное звание.
Чтобы работать с таблицей rabotniki, перед этим надо заполнить таблицы:
Dolznost,
Dolznosti:
Актёр
Музыкант
Постановщик
Артист-сатирик
Артист-балета
Режиссёр
Подтанцовщик
Podrazdelenia
Декорационный цех
Костюмерный цех
Гримёрный цех
Звукотехнический цех
Светотехнический цех
Слесарный цех
soc_status
Заслуженный артист
Народный артист
Опытный
Обычный
Студент
Rabotniki
После заполнения дочерних у родителя можем проставить связи.
CREATE TABLE IF NOT EXISTS `rabotniki` (
`ID_rabotnik` int(11) NOT NULL AUTO_INCREMENT,
`fio` varchar(150) NOT NULL,
`pol` varchar(4) NOT NULL DEFAULT 'М',
`born` date NOT NULL,
`deti` varchar(2) NOT NULL,
`zarplata` int(7) NOT NULL,
`data_prioma` date NOT NULL,
`ID_dolznost` int(11) NOT NULL,
`ID_podrazd` int(11) NOT NULL,
`ID_soc_status` int(11) NOT NULL,
PRIMARY KEY (`ID_rabotnik`),
KEY `ix_dolz` (`ID_dolznost`),
KEY `ix_podraz` (`ID_podrazd`),
KEY `ix_soc_stat` (`ID_soc_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
-- Ограничения внешнего ключа сохраненных таблиц
--
--
-- Ограничения внешнего ключа таблицы `rabotniki`
--
ALTER TABLE `rabotniki`
ADD CONSTRAINT `rabotniki_ibfk_3` FOREIGN KEY (`ID_soc_status`) REFERENCES `soc_status` (`ID_soc_status`),
ADD CONSTRAINT `rabotniki_ibfk_1` FOREIGN KEY (`ID_dolznost`) REFERENCES `dolznosti` (`ID_dolznost`),
ADD CONSTRAINT `rabotniki_ibfk_2` FOREIGN KEY (`ID_podrazd`) REFERENCES `podrazdelenia` (`ID_podrazd`);
После создания таблиц в БД. Заполняем первые 4 таблицы. Сначала дочерние
Бузычков Валерий Антонович
Иванов Игорь Владимирович
Иванов Игорь Владимирович
Ельцина Екатерина Николаевна
Игольчик Наталия Юрьевна
Литерова Анна Витальевна
Наследов Эдуард Васильевич
Сидкин Сергей Витальевич
Тарнава Саида Романовна
Какие роли могут быть
Чтобы заполнить spektakli сначала надо заполнить дочерние.
Zanr
Музыкальная комедия
Для взрослых
Трагедия
Оперетта
Auditoriu
Детские
Молодёжные
Для взрослых
Семейная
autor
Паул Абрахам
Александр Белинский
Владимир Дунаевский
Жак Оффенбах
Андрей Вознесенский
Константин Никитин
Теперь можно заполнить
Спектакли роли
Белая Акация Яшка
Бал в савойе Мустафа Бей
Королева чардаша Бони
Принцесса цирка Тони
Цыганский барон Стефан
Юнона и Авось Румянцев
Орфей в аду Стикс
Запросы:
Получаем массив всех рабочих театра.
SELECT rabotniki.fio, rabotniki.pol, rabotniki.zarplata, rabotniki.data_prioma, dolznosti.nazvanie, podrazdelenia.nazvanie, soc_status.nazvanie
FROM rabotniki
JOIN dolznosti ON rabotniki.ID_dolznost = dolznosti.ID_dolznost
JOIN podrazdelenia ON rabotniki.ID_podrazd = podrazdelenia.ID_podrazd
JOIN soc_status ON rabotniki.ID_soc_status = soc_status.ID_soc_status
LIMIT 0 , 40
Для реализации БД был использован язык SQL.
Select * from rabotniki where datapriema > 20010607
Select * from rabotniki where pol = "м"
Select * from rabotniki where born = 19900618
Select * from rabotniki where deti = 2
Select * from rabotniki where zarplata > 1000
Select spektakli.nazvanie as nazvanie,janri.nazvanie as janri, repertuar.vremya as datasp from repertuar
join spektakli on repertuar.idspektakl = spektakli.idspektakl
join janri on janri.IDzhanr = spektakli.IDzhanr
Select count(*) as n from repertuar