Uploaded by nazboodin1234567890

Курсовая по АИС театр

advertisement
РЕФЕРАТ
Пояснительная записка содержит __ листов, 37 рисунков, 6 таблиц, 5
использованных источников и 4 приложения.
MS SQL SERVER 2008, СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ
(СУБД),
ТАБЛИЦЫ,
ЗАПРОСЫ,
ИНФОРМАЦИОННАЯ
СИСТЕМА,
ПРЕДМЕТНАЯ ОБЛАСТЬ.
Объектом
разработки
информационной
системы,
является
база
созданной
данных
с
и
серверная
использованием
часть
средств,
представляемых современными СУБД реляционного типа, для предметной
области "Театр".
Цель
работы
-
разработка
базы
данных
и
серверной
части
информационной системы для предметной области "Театр"
Полученные результаты: в процессе разработки проводилось изучение
основных средств, представляемых средой MS SQL SERVER 2008, и на их
основе разработана и отлажена программа создания базы данных и серверной
части информационной системы.
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
1. РЕАЛИЗАЦИЯ БАЗЫ ДАННЫХ И СЕРВЕРНОЙ ЧАСТИ ИНФОРМАЦИОННОЙ СИСТЕМЫ
СКЛАДА СРЕДСТВАМИ СУБД MICROSOFT SQL SERVER
1.1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
1.2 АНАЛИЗ ИНФОРМАЦИОННЫХ ЗАДАЧ И КРУГА ПОЛЬЗОВАТЕЛЬСКОЙ СИСТЕМЫ
1.3 ВЫРАБОТКА ТРЕБОВАНИЙ И ОГРАНИЧЕНИЙ
1.4 ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
1.5 ПРОГРАММА РЕАЛИЗАЦИИ ПРОЕКТА БАЗЫ ДАННЫХ
1.6 РАЗРАБОТКА ХРАНИМЫХ ПРОЦЕДУР ДЛЯ ПОДДЕРЖКИ СЛОЖНЫХ ОГРАНИЧЕНИЙ
ЦЕЛОСТНОСТИ В БАЗЕ ДАННЫХ
1.7 РАЗРАБОТКА ТРИГГЕРОВ ДЛЯ ПОДДЕРЖКИ СЛОЖНЫХ ОГРАНИЧЕНИЙ ЦЕЛОСТНОСТИ
В БАЗЕ ДАННЫХ
1.8 ЗАПРОСЫ
1.9 ПРЕДСТАВЛЕНИЯ
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЯ
ВВЕДЕНИЕ
АВТОМАТИЗИРОВАННАЯ ИНФОРМАЦИОННАЯ СИСТЕМА (АИС) "ТЕАТР"
ЯВЛЯЕТСЯ ВАЖНЫМ ИНСТРУМЕНТОМ ДЛЯ ЭФФЕКТИВНОГО УПРАВЛЕНИЯ И
ОРГАНИЗАЦИИ РАБОТЫ ТЕАТРАЛЬНЫХ УЧРЕЖДЕНИЙ. ОНА ПРЕДОСТАВЛЯЕТ
ВОЗМОЖНОСТЬ АВТОМАТИЗИРОВАТЬ РАЗЛИЧНЫЕ АСПЕКТЫ РАБОТЫ ТЕАТРА,
ВКЛЮЧАЯ УПРАВЛЕНИЕ СПЕКТАКЛЯМИ, БИЛЕТНОЙ КАССОЙ, АКТЕРСКИМ
СОСТАВОМ, РЕКЛАМОЙ И МАРКЕТИНГОМ. ЦЕЛЬ ДАННОЙ КУРСОВОЙ РАБОТЫ РАССМОТРЕТЬ ПРОЦЕСС ПРОЕКТИРОВАНИЯ И РАЗРАБОТКИ ПО АИС "ТЕАТР", А
ТАКЖЕ ОПИСАТЬ ОСНОВНЫЕ ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ И
ПРЕИМУЩЕСТВА ДАННОЙ СИСТЕМЫ.
АВТОМАТИЗИРОВАННАЯ ИНФОРМАЦИОННАЯ СИСТЕМА (АИС) "ТЕАТР" ЯВЛЯЕТСЯ
ВАЖНЫМ ИНСТРУМЕНТОМ ДЛЯ ЭФФЕКТИВНОГО УПРАВЛЕНИЯ И ОРГАНИЗАЦИИ
РАБОТЫ ТЕАТРАЛЬНЫХ УЧРЕЖДЕНИЙ. ОНА ПРЕДОСТАВЛЯЕТ ВОЗМОЖНОСТЬ
АВТОМАТИЗИРОВАТЬ РАЗЛИЧНЫЕ АСПЕКТЫ РАБОТЫ ТЕАТРА, ВКЛЮЧАЯ
УПРАВЛЕНИЕ СПЕКТАКЛЯМИ, БИЛЕТНОЙ КАССОЙ, АКТЕРСКИМ СОСТАВОМ,
РЕКЛАМОЙ И МАРКЕТИНГОМ. ЦЕЛЬ ДАННОЙ КУРСОВОЙ РАБОТЫ - РАССМОТРЕТЬ
ПРОЦЕСС ПРОЕКТИРОВАНИЯ И РАЗРАБОТКИ ПО АИС "ТЕАТР", А ТАКЖЕ ОПИСАТЬ
ОСНОВНЫЕ ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ И ПРЕИМУЩЕСТВА ДАННОЙ
СИСТЕМЫ.
1.1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
В рамках данной работы в качестве предметной области выбрана
информация о спектаклях и участвующих в них актерах, а также о концертах
некоего театра. Программное обеспечение позволяет моделировать работу
театра, используя введенные пользователем данные, а также подключив
простейшую
файловую
базу
данных
расположена
в
или
нескольких
одном
(вся
необходимая
текстовых
информация
файлах);
основным
предназначением программы является учет спектаклей и концертов, а также
актеров, задействованных в театре и играющих в тех или иных спектаклях.
Программа также позволяет анализировать популярность спектаклей по
различным критериям, используя механизм моделирования работы театральной
кассы (продавая, таким образом, билеты на тот или иной спектакль или концерт
покупателю). С наступлением XXI века подобный учет обеспечивают
прикладные
компьютерные
программы,
позволяющие
накапливать
пользовательскую информацию, выполнять поиск (и в некоторых случаях
сортировку)
необходимых
разрабатываемому
данных.
программного
Использование
обеспечения
позволяет
аналогичного
предпринимать
необходимые действия, связанные с управлением данными о спектаклях,
концертах и актера.
В соответствии с предметной областью система строится с учетом
следующих особенностей:
) Каждый спектакль имеет уникальный номер и название;
) Каждый актер имеет свой уникальный номер и свой уникальный
актерский стаж;
) Актеры играют в разных спектаклях, при этом фиксируется уникальный
номер актерской занятости;
) Каждое актерское звание имеет уникальный номер и свое название;
) Каждый спектакль имеет жанр, а каждый жанр в свою очередь имеет
уникальный номер и название.
Выделим следующие базовые сущности нашей области:
1) Актеры (Код актера, Фамилия, Имя, Отчество, Код звания, Стаж)
2) Спектакли (Код спектакля, Название, Год постановки, Код жанра,
Бюджет)
3) Занятость актеров (Код занятости, Код актера, Код спектакля, Роль)
4) Звание (Код звания, Название)
5) Жанр (Код жанра, Название жанра).
Согласно поставленной задаче, разрабатываемая программа должна
выполнять следующие основные функции: 1. Автоматически при запуске
загружать текстовые файлы, содержащие информацию о спектаклях или
концертах (в общем – о представлении: т.ч. названии, дате, когда оно состоится;
играется ли основным составом или дублерским. 2. Обеспечить вывод билета
для клиента при покупке билета на тот или иной сеанс. 3. Реализовать модель
работы театральной кассы (возможность покупки нескольких билетов на разные
спектакли и концерты). 4. Определить наиболее популярный спектакль. 5.
Определить выручку кассы. Определить количество проданных билетов по
каждому спектаклю.
1.2 АНАЛИЗ ИНФОРМАЦИОННЫХ ЗАДАЧ И КРУГА ПОЛЬЗОВАТЕЛЬСКОЙ СИСТЕМЫ
Система создается для обслуживания следующих пользователь:
) Актеры;
) Посетители театра.
Функциональные возможности:
1) Ведение БД (запись, чтение, удаление, модификация);
) Обеспечение логической непротиворечивости БД;
) Реализация наиболее часто встречающихся запросов и представлений
для пользователей в готовом виде;
) Реализация хранимых процедур и триггеров для поддержания сложных
ограничений целостности в БД.
1.3 ВЫРАБОТКА ТРЕБОВАНИЙ И ОГРАНИЧЕНИЙ
Основные ограничения целостности:
) Значения всех числовых атрибутов не должны быть отрицательными и
ограничены значениями из соображений логики функций, которые она
выполняют.
Коды, являющиеся первичными ключами для каждой сущности,
имеют ограничения от 0001 до 9999 или от 200000 до 2000000000.
Даты начала проката спектаклей ограничены по году от 1960 до
2030.
Жанры спектаклей ограничены по номеру от 1 до 6.
2) Символьные атрибуты должны выполнять все требования для функции,
которую они выполняют
Названия имеют 30-50 символов кириллицы, пробел, запятая, дефис.
1.4 ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
Диаграмма БД
Рисунок 1 - Структура БД
1.5 ПРОГРАММА РЕАЛИЗАЦИИ ПРОЕКТА БАЗЫ ДАННЫХ
Программная реализация проекта базы данных выполнена с помощью
операторов языка SQL: USE, CRETE, DROP, UPDATE, ALTER, INSERT
Текст программы создания базы данных приведён в приложении А.
Для спроектированной базы данных средствами СУБД Microsoft SQL
Server 2008 построена диаграмма, которая приведена в приложении Б.
Текст программы ввода тестовых данных приведён в приложении В.
1.6 РАЗРАБОТКА ХРАНИМЫХ ПРОЦЕДУР ДЛЯ ПОДДЕРЖКИ СЛОЖНЫХ ОГРАНИЧЕНИЙ
ЦЕЛОСТНОСТИ В БАЗЕ ДАННЫХ
Для облегчения работы с БД и реализации сложных ограничений были
разработаны следующие процедуры:
. Процедура без параметров.
Процедура выводит информацию об актерской династии Исаковых.
Рисунок 2
. Процедура с параметром.
Процедура для получения данных об актеров по званию.
Рисунок 3
. Процедура с параметрами.
Процедура для получения информации об актере по фамилии и стажу.
Рисунок 4
. Процедура с параметром и значением по умолчанию.
Процедура поиска актеров по маске.
Рисунок 5
AllActorsDefaultData 'Ше%';
Рисунок 6
AllActorsDefaultData '%г%', 'Народный%';
Рисунок 4
. Процедура с входными и выходными значениями.
Процедура для вывода количества актеров определенного звания.
Рисунок 8
. Использование вложенных процедур.
Процедура для вывода жанра спектакля и ролей в спектакле по названию
спектакля.
Процедура определения жанра спектакля:
Рисунок 9
1.7 РАЗРАБОТКА ТРИГГЕРОВ ДЛЯ ПОДДЕРЖКИ СЛОЖНЫХ ОГРАНИЧЕНИЙ
ЦЕЛОСТНОСТИ В БАЗЕ ДАННЫХ
Для поддержания логической целостности базы данных и реализации
сложных ограничений были разработаны следующие триггеры:
. При добавлении записи о спектакле в таблицу Representations,
проверяется, чтобы год начала проката не был больше 2015 года.
Запрос для проверки работы триггера.
Рисунок 5
. При добавлении записи о новом актере, проверяется, чтобы его стаж по
году был меньше 2016.
Рисунок 11
. Триггер для команды UPDATE, при смене значения бюджета спектакля,
старое и новое значение бюджета отдельно сохраняются в другую таблицу.
Создадим таблицу:table LogsRepresentations
END
Запрос для проверки работы триггера:
Update Representations set Budget = 3000000ID_Representation = 7;
Результаты:
Основная таблица Representations до транзакции
Рисунок 12
Основная таблица Representations после транзакции
Рисунок 6
Дополнительная таблица после транзакции
Рисунок 7
. Триггер с процедурой, при удалении информации об актере будет
выводиться специальное сообщение о произведенной транзакции и будут
выводиться Имя, Фамилия и Отчество удаленного актера
Создадим процедуру для триггера:procedure DeletingActor
@name Varchar (100)Print 'Удалена запись об актере'+ @name;
Вид таблицы до транзакций:
Рисунок 8
Напишем запрос на удаление в таблицу Actors
DELETE From ActorsID_Actor = 41;
Рисунок 9
Рисунок 10
Таблица после транзакции:
Рисунок 11
1.8 ЗАПРОСЫ
Все запросы на получение практически любого количества данных из
одной или нескольких таблиц выполняются с помощью предложения SELECT.
В общем случае результатом реализации предложения SELECT является другая
таблица.
В курсовой работе разработаны следующие запросы:
a) Запрос выбирает ФИО актеров из таблицы Actors, которые заняты в
спектакле "Любовь и Голуби".
b) Запросы выбирает названия спектаклей из таблицы Representations, в
которых занят Актер с фамилией Тарасеев.
c) Запросы выбирает ФИО актера, который играет роль Стародума.
d) Запрос выбирает название спектакля, в котором играет актер с
фамилией Шехтман.
e) Запрос выбирает роли из таблицы Actors_Employments, которых играют
в спектакле "Руслан и Людмила".
f) Запрос выбирает всех актеров без особых званий.
g) Запрос выбирает всех актеров со званием народный артист.
h) Запрос выбирает спектакли жанра оперы.
i) Запрос выбирает роли из таблицы Actors_Employments, которые
участвуют в спектакле "Недоросль", и звания актеров Народный артист.
j) Запрос выбирает актеров из таблицы Actors_Employments, которые
играют в спектакле жанра оперы и с названием "Руслан и Людмила".
k) Запрос выбирает актеров со званием Народный артист со стажем более
40 лет.
ЗАКЛЮЧЕНИЕ
В ходе курсового проектирования разработана и реализована база данных
и серверная часть информационной системы Склада.
Разработана структура, состоящая из 6 таблиц.
Разработаны ограничения целостности для сохранения логической
непротиворечивости данных в системе.
Реализованы наиболее часто употребляемые в данной предметной области
запросы.
Разработаны и отлажены хранимые процедуры, упрощающие работу с БД.
Разработаны и отлажены триггеры, осуществляющие проверку сложных
логических условий и синхронизацию таблиц между собой при их изменении.
Разработаны и реализованы представления, повышающие комфорт и
безопасность работы с системой.
В итоге, были успешно реализованы все особенности предметной области
и требования, выработанные на этапе проектирования.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.
Ицик Бен-Ган - Microsoft SQL Server 2008. Основы T-SQL - 2009
2.
Оутей М., Конте П. Эффективная работа: SQL Server 2000. СПб, 2002.
.
Грофф Дж., Вайнберг П. SQL: Полное руководство. / 2-е изд. - К., 2001.
.
Мамаев Е., Шкарина Л. Microsoft SQL Server 2000 для профессионалов. -
СПб., 2001.
.
Мартин Грабер. Понимание SQL. - Москва, 2005.
Download