Информационная система театра

Автор работы: Пользователь скрыл имя, 02 Февраля 2013 в 00:43, курсовая работа

Краткое описание

В ходе выполнения курсовой работы были реализованы данные операции средствами языка SQL. Была спроектирована концептуальная модель БД с помощью программы ERwin и реализована в СУБД MySQL. С помощью языка программирования “PHP” был создан интерфейс к БД.

Вложенные файлы: 1 файл

курсоваяБД 1.doc

— 1.08 Мб (Скачать файл)

Министерство образования  и науки Российской Федерации

Федеральное агентство  по образованию

 

Западно-Сибирский филиал в г. Томске Российского государственного университета инновационных технологий и предпринимательства

(ЗСФ РГУИТП)

 

Кафедра прикладной информатики (ПИ)

 

 

 

 

 

 

 

«Информационная система театра»

 

Курсовая работа

 

 

 

 

 

 

Выполнили:

Студентки гр. 61

Е.А. Горячева

В.М. Соломенникова

«___» __________ 2009 г.

 

Проверил:

М.Н. Головчинер

«___» ___________2009 г.


 

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епеpтуаpе театpа указывается какие спектакли, в какие дни и в какое вpемя будут пpоходить, а также даты пpемьеp. В кассах театpа можно заpанее пpиобpести билеты или абонемент на любые спектакли. Абонемент обычно включает в себя билеты на спектакли либо конкpетного автоpа, либо конкpетного жанpа. Цена билетов зависит от места, и спектакля. Hа пpемьеpы билете доpоже. Администpацией театpа фиксиpуется количество пpоданных билетов на каждый спектакль.

Для данной задачи была разработана  и создана база данных «Theater» со следующими таблицами:

 

  1. Rabotniki – Работники. В данной таблице находиться полная информация о работниках театра, со следующими полями:
  • IDrabotnik – столбец с уникальным именем, который является первичным ключом;
  • fio – ФИО работника;
  • pol – пол работника;
  • born – год рождения;
  • deti – дети;
  • zarplata – заработная плата;
  • dataptiema –дата приема;
  • IDdolzhnos – должность работника;
  • IDpodrazd – подразделение;
  • IDsocstatus – статус.

 

  1. Dolzhnosti – должность работника. В данной таблице располагается данные о должностях:
  • IDdolzhos – является первичным ключом;
  • nazvanie – название.

 

  1. Podrazdeleniya – подразделения. Содержит данные о подразделениях:
  • IDpodrazd – первичный ключ таблицы;
  • nazvaniya – название.

 

  1. vidanniezvaniya – выданные звания. Содержит данные о выданных званиях:
  • IDvydzvani – первичный ключ таблицы;
  • data – дата выдачи;
  • IDrabotnik – работник получивший звание;

IDzvaniya – полученное звание.

 

  1. zvaniya – звания. В данной таблице содержатся данные о званиях:
  • IDzvaniya – первичный ключ таблицы;
  • nazvanie – название.

 

  1. vidannieroli – выданные роли. Таблица содержит  сведения о выданных ролях:
  • IDvydan – первичный ключ таблицы;
  • data – дата выдачи;
  • IDrabotnik – работник получивший звание;
  • IDvseroli – все роли;
  • IDspektakl – спектакль в котором выдана роль.

 

  1. vseroli – все роли. Таблица содержит все роли.
  • IDvseroli – первичный ключ таблицы;
  • nazvanie – название;

 

  1. Spektakli – спектракли. Содержит данные о спектаклях:
  • IDspektakl – первичный ключ таблицы;
  • nazvanie – название;
  • IDzhanr – жанр спектакля;
  • IDauditori – аудитория;
  • IDavtor – автор.

 

  1. auditoriya – аудитория.
  • IDauditori – первичный ключ таблицы;
  • nazvanie – название.

 

  1. avtor – автор спектакля. В данной таблице располагаются сведения об авторе спектакля:
  • IDavtor – первичный ключ таблицы;
  • fio – ФИО автора;
  • vek – век;
  • strana – страна.

 

  1. zhanri – жары. Содержит сведения о жанрах:
  • IDzhanr – первичный ключ таблицы;
  • nazvanie – название.

 

  1. abonement – абонемент. Таблица содержит данные об абонементе:
  • IDassortim – первичный ключ таблицы;
  • IDzhanr – жанр спектакля;
  • data – дата;
  • IDavtor – автор.

 

  1. kassa – касса.
  • IDpoziciya – первичный ключ таблицы;
  • kolichestvob – количество билетов;
  • stoimost – стоимость;
  • mesto – место;
  • IDassortim – абонемент;
  • IDrepert – репертуар;
  • data – дата.

 

  1. repertuar – репертуар. Содержит сведения  о репертуаре:
  • IDrepert – первичный ключ таблицы;
  • IDspektakl – спектакль;
  • premera – премьера;
  • vremya – время;

 

  1. gastroli – гастроли. Таблица содержит сведения о гастролях.
  • IDgastroli – первичный ключ таблицы;
  • Datapriezda – дата приезда.
  • IDvydan – роль с которой актер уехал на гастроли.

 

  1. aktgast – актеры уехавшие на гастроли.
  • IDaktgastr – первичный ключ таблицы;
  • IDgastroli – гастроли;
  • IDvydan – роль с которой актер уехал на гастроли.

 

  1. socstatus – статус.
  • IDsocstatus – первичный ключ таблицы;
  • Nazvanie – название.

 

Чтобы работать с таблицей 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 запросы к созданной БД

Для реализации БД был использован  язык SQL.

 

  1. Получить список и общее число всех pаботников театpа:
  • по стажу работы в театре:

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

 

  1. Получить:
  • перечень спектаклей:

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

  • спектаки указанного жанра на данный сезон, они же за указанный период:

Информация о работе Информационная система театра