Разработка программы "Кинотеатр"

Проектирование многопользовательской информационной системы "Кинотеатр" в среде C++. Детализация процессов работы программы. Идентификация сущностей и связей. ER-диаграмма физического уровня. Определение регламентированных запросов и хранимых процедур.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 17.02.2013
Размер файла 3,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

Любая организация нуждается в своевременном доступе к информации. Ценность информации в современном мире очень высока. Роль распорядителей информации в современном мире чаще всего выполняют базы данных. Базы данных обеспечивают надежное хранение информации, в структурированном виде и своевременный доступ к ней. Практически любая современная организация нуждается в базе данных, удовлетворяющей те или иные потребности по хранению, управлению и администрированию данных.

На сегодняшний день на рынке представлено множество технологий доступа к данным и серверов баз данных, каждое, из которых имеет свои отличительные черты. Современные приложения обработки данных ориентированы на работу с большим количеством пользователей, на их удаленность от места расположения основного сервера БД.

Темой данного дипломного проекта является разработка программы «Кинотеатр». Для реализации данной задачи была выбрана среда разработки C++.

Среда разработки C++ предоставляет разработчику поистине великолепный набор простых в использовании инструментов, позволяющих быстро разрабатывать сложные проекты, создавая приятный и удобный интерфейс.

Клиентское приложение «Кинотеатр» имеет доступ к таблицам на уровне файловой системы и предназначено для взаимодействия с источником данных. Взаимодействие подразумевает получение данных, их представление в определенном формате для просмотра пользователем, редактирование в соответствии с реализованными в программе бизнес-алгоритмами и возврат обработанных данных обратно в базу данных.

База данных «Кинотеатр» существенно упрощает работу сотрудников кинотеатра, а также предоставляет возможность получения необходимой информации посетителям об интересующих сеансах и кинофильмах, стоимости билетов. Данный программный продукт позволяет автоматизировать работу кассы кинотеатра. Задачами курсового проектирования являются:

– систематизация знаний, полученных при изучении дисциплины;

– приобретение опыта в комплексной разработке и реализации практических задач;

– совершенствование практических навыков в использовании и разработке современных информационных систем;

– практическое использование программы Microsoft SQL server.

1. Техническое задание

1.1 Анализ предметной области

1.1.1 Общие сведения.

1.1.2 Объект автоматизации - «Кинотеатр». Информация о кинофильмах, кинофестивалях, наградах.

1.1.2 Документы, на основании которых создается система:

ѕ систематический каталог;

ѕ каталог сотрудников;

ѕ каталог кинофильмов;

ѕ информация о актёрах;

ѕ награды и номинации.

1.1.3 Проектирование многопользовательской информационной системы.

Система представляет собой базу данных, которую смогут использовать сотрудники кинотеатра. В базе данных осуществлен поиск, что позволяет быстро получить доступ к нужной информации. При её применении станет легче искать информацию о кинофильмах и сотрудниках.

Администратор, занимающийся ведением базы, работает со следующими данными:

– информация о кинофильмах, сотрудниках, кинофестивалях, наградах, актёрах, билетах.

Базу может использовать любой сотрудник кинотеатра войдя в систему как гость.

Самой базой управляет администратор. У него есть права на ведение базы данных, её редактирование.

Разделы базы данных:

– раздел содержащий информацию о кинофильмах;

– раздел содержащий информацию о сотрудниках;

– раздел содержащий информацию о кинофестивалях;

– раздел содержащий информацию о наградах;

– раздел содержащий информацию о актёрах;

– раздел содержащий информацию о билетах;

Информация, подлежащая хранению: номер кинофильма, дата выхода кинофильма, его жанр. Актеры (ФИО), Режиссеры, Награды, Билеты, Сотрудники, Кинофестивали. Отдел, где хранится информация.

В функции отделов обслуживания входит:

– занесение данных после проведения кинофестивалей;

– выдача информации желающим;

– ведение контроля пользователей.

– информация, подлежащая хранению: номер пользователя, имя и фамилия.

Пользователями будущей базы данных будут редактор и администратор .

В функции администратора входят:

– контроль работы, и состояния архива.

– ответственность за предоставление информации.

– в функции редактора входят:

– занесение новой информации в архив;

– редактирование этой информации;

– удаление ненужной информации.

слежение за проведением кинофестивалей.

1.2 Постановка задачи

Базу данных предполагается создать для пользователей, которая упростит учет клиентов, их заказов, внесение туров, экскурсий к ним.

Критерий оценки достижений целей базы данных - упрощенное слежение за развитием кинематографа и прохождения фестивалей во всем мире. Т.к. база данных позволит всем желающим пользователям увидеть прошедшие фестивали, то увеличится интерес публики к развитию кинематографа и проведения кинофестивалей.

Критерием оценки достижений целей базы данных будет уменьшение вероятности потери информации о кинофестивалях, за которыми следит довольно большое количество людей.

Требования к системе. Система должна удовлетворять следующим требованиям:

– надежность;

– безопасность;

– защита информации от несанкционированного доступа, должна быть предусмотрена защита от несанкционированного доступа к данным, ввода данных, их удаления;

– система должна быть доступна с любого компьютера;

– информация, хранящаяся в системе, должна быть защищена от аварийных ситуаций;

– квалификация персонала, персонал должен быть обучен правилам работы с системой, при этом не обязательно наличие специального технического образования.

Требования к функциям (задачам), выполняемым системой. Функции, выполняемые подсистемами объекта автоматизации.

Выдача информации о кинофестивалях и кинокартинах, которыми интересуется пользователь либо администратор, сотрудник. Без использования автоматизированной системы поиск нужной по запросу информации займёт много времени. Для хранения информации будет требоваться значительное количество места. Уход за информацией которая представлена на бумаге, довольно тяжелый и ответственный процесс. Автоматизированная система хранит эту информацию сколь угодно долго, поиск осуществляется за считанные секунды, не требуется дополнительная площадь, не требуется определённый уход за информацией, доступна для пользователей в интернете;

Запись новых данных о кинокартинах кинофестивалях. При использовании автоматизированной системы запись данных будет осуществляться легко и быстро. В начале каждого года в базу будет добавляется информация о прошедших событиях и об ожидаемых событиях;

Проверка информации о Актерах, кинофильмах, режиссерах, наградах, номинациях, лучших кинокартинах. Автоматизированная система хранит информацию о данных кинематографа сколь угодно долго, поиск и проверка будет осуществляться за считанные секунды. Пользователь также сможет узнать больше информации о жанрах;

Внесение информации о жанрах и ожидаемых кинофильмах, которые будут показаны в ближайшем году. Пользователь легко сможет узнать некоторую информацию о кинофильме, которая поможет ему определится, что он будет смотреть, или чего ждать в будущем. Узнать имя режиссера и дату выхода картины;

Внесение новых данных о наградах и номинациях, подробное их описание. Для внесения новых данных администратору необходимо заполнить много разных документов, проверить правильность их заполнения. При использовании автоматизированной системы проверка и заполнение будет осуществляться одновременно.

Внесение информации о режиссерах, с их биографией;

Сортировка всей информации по алфавиту и ускоренный поиск, даст возможность пользователю и администратору находить нужную информацию, изучать её, удалять;

Требования к видам обеспечения, программное обеспечение системы не должно зависеть от аппаратных средств компьютера, необходимое программное обеспечение -MS ACCESS 2003, MS Word 2003, MS SQL Server 2003.

Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие:

– заполнение созданной базы;

– обеспечение персонала необходимыми техническими средствами;

– обучение персонала правилам работы с системой.

2. Технический проект информационной системы

2.1 Функциональная модель

2.1.1 Контекстная диаграмма и диаграммы детализации процессов. Контекстная диаграмма представляет собой схему организации работы архива кинофильмов и кинофестивалей. Входными данными является информация о актерах, об кинофильмах и кинофестивалях, о режиссерах, жанрах. Результатом функционирования являются отчеты: о кинофильмах, биографии режиссера, кинофестивалях, жанрах кинофильмов, а также ожидаемых кинофестивалях. Контекстная диаграмма представлена на рисунке 1.

Рисунок 1 - Контекстная диаграмма

В дальнейшем диаграмма разбивается на уровни. Первый уровень - это диаграмма (рисунок 2), с помощью которой производится детализация основного процесса, находящегося на контекстной диаграмме. Контекстную диаграмму разбиваем на два блока в соответствии с направлениями в работе.

Полученные блоки также подлежат дальнейшей детализации в соответствии с функциями, которые выполняются (рисунки 3, 4, 5).

Рисунок 2 - Детализирующая диаграмма первого уровня

Рисунок 3 - Детализация процесса «Обработка данных о кинематографе»

Рисунок 4 - Детализация процесса «Занесение данных о кинематографе»

Рисунок 5 - Детализация процесса «Получение данных о кинематографе»

Процессы «Выборка и сортировка требуемых данных», «Редактирование найденных данных», «Упорядочивание полученной информации» и «Формирование отчетов» подлежат дальнейшей детализации в соответствии с функциями. Последний уровень функциональной диаграммы является DFD схемой. Декомпозиция процесса «Выборка и сортировка требуемых данных» представлена на рисунке 6, процесса «Редактирование найденных данных»- на рисунке 7, декомпозиция процесса «Упорядочивание полученной информации» представлена на рисунке 8, декомпозиция процесса «Формирование отчетов» представлена на рисунке 9.

Рисунок 6 - Детализация процесса «Выборка и сортировка требуемых данных»

Рисунок 7 - Детализация процесса «Редактирование найденных данных»

Рисунок 8 - Детализация процесса «Упорядочивание полученной информации»

Рисунок 9 - Детализация процесса «Формирование отчетов»

2.1.2 Диаграмма дерева узлов. Диаграмма дерева узлов показывает иерархию процессов в модели и позволяет рассмотреть всю модель целиком, но не показывает взаимосвязи между процессами. Она имеет вид традиционного иерархического дерева, где верхний узел (прямоугольник) соответствует работе с контекстной диаграммы, а последующие нижние узлы представляют собой дочерние уровни декомпозиции. На рисунке 10 изображена диаграмма дерева узлов проектируемой базы данных.

Рисунок 10 - Диаграмма дерева узлов

2.2 Информационная модель

2.2.1 Идентификация сущностей и связей. ER-диаграмма логического уровня. Диаграммы Сущность-Связь (ER-диаграммы) применяются для разработки схемы базы данных в форме одной модели или нескольких локальных моделей. С помощью подобных диаграмм можно спроектировать базу данных для сложной системы, определить в итоге количество таблиц, число и типы полей в каждой таблице, связи между таблицами.

Для отображения информационной модели рассматриваемого процесса на логической модели используются следующие сущности:

- «кинофильмы» - для хранения информации о кинофильмах;

- «режиссеры» - для хранения информации о режиссерах;

- «жанры» - для хранения информации о жанрах;

- «награды» - для хранения информации о наградах;

- «номинации» - для хранения информации о номинациях.

- «кинофестивали» - для хранения информации о кинофестивалях.

- «ожидаемые кинофестивали» - для хранения информации об ожидаемых кинофестивалях.

- «актеры» - для хранения информации о актёрах.

- «кассовые кинокартины» - для хранения информации о кассовых кинофильмах;

- «ожидаемые кинофильмы» - для хранения информации об ожидаемых кинофильмах.

В сущностях «кинофильмы», «режиссеры», «жанры», «награды», «номинации», «кинофестивали», «ожидаемые кинофестивали», «актеры», «кассовые кинокартины», «ожидаемые кинофильмы», определены первичные ключи для однозначного определения записей.

На логическом уровне проектирования в моделируемой базе данных присутствуют два типа связей между описанными сущностями: не идентифицирующие и идентифицирующие связи.

Связь между сущностями «кинофестивали» и «ожидаемые кинофестивали», идентифицирующая, т.к. не возможно без занесения данных в сущность кинофестивали, внести данные в сущность ожидаемые кинофестивали, не разрешающая присутствие нулей. Тип связи один ко одному, т.к. только один кинофестиваль может ожидаться в этом году. При удалении записи из сущности «кинофестивали», этот же кинофестиваль удаляется из дочерней сущности «ожидаемые кинофестивали», при редактировании названия кинофестиваля, автоматически записи редактируются в сущности «Ожидаемые кинофестивали»

Связь между сущностями «кинофестивали» и «кинофильмы» не идентифицирующая, возможно без кинофестиваля добавить в сущность кинофильмы запись и соответственно наоборот, возможно добавить запись в сущность «кинофестивали» вне зависимости от сущности «кинофильмы», не разрешающая присутствие нулей, т.к. в одном кинофестивале может участвовать множество фильмов. Тип связи 1 ко многим. При изменении данных в сущности «кинофестивали» они также изменяются в сущности «кинофильмы», при удалении данных из сущности «кинофестивали» данные из сущности кинофильмы не удаляются.

Связь между сущностями «кинофильмы» и «кассовые кинокартины», идентифицирующая, не возможно создать запись в сущности «кассовые кинофильмы» не имя записи в сущности «кинофильмы», не разрешающая присутствие нулей, т.к. фильм может быть кассовым только один раз. Тип связи 1 ко 1.При удалении данных из сущности «кинофильмы» также данные удаляются из сущности «кассовые кинокартины», так же и при редактировании данных.

Связь между сущностями «актеры» и «кинофильмы» не идентифицирующая, возможно добавление кинофильмов не имея записей в сущности актеры, т.к. один актер может сниматься в нескольких фильмах. Тип связи 1 ко многим. При редактировании сущности «Актеры» так же редактируется сущность «Кинофильмы» при удалении записи из сущности «актеры» запись из сущности «кинофильмы» не удаляется.

Связь между сущностями «награды» и «кинофильмы» не идентифицирующая, возможно добавление записи в сущность кинофильмы не имея записи в сущности награды, не разрешающая присутствие нулей, т.к. одна награда может быть присвоена нескольким фильмам. Тип связи 1 ко многим. При удалении записи из сущности «награды», запись из сущности «кинофильмы» не удаляется, при редактировании сущности «награды», запись в сущности «кинофильмы», так же редактируется.

Связь между сущностями «режиссеры» и «кинофильмы» не идентифицирующая, не разрешающая присутствие нулей, возможно добавление кинофильма не имея соответствующей записи в сущности режиссер, т.к. один режиссер может снять несколько фильмов. Тип связи 1 ко многим. При редактировании сущности «режиссеры» сущность кинофильмы так же редактируется, при удалении записи из сущности «режиссеры» запись из сущности «кинофильмы» не удаляется.

Связь между сущностями «режиссеры» и «ожидаемые кинофильмы» не идентифицирующая, ожидаемый кинофильм возможно добавить не имея записи в таблице режиссеры, не разрешающая присутствие нулей, т.к. один режиссер может снять несколько фильмов. Тип связи 1 ко многим. При удалении записи из сущности «режиссеры» запись из сущности «ожидаемые кинофильмы» не удаляется, редактирование сущности «режиссеры» так же влияет на сущность кинофильмы.

Связь между сущностями «жанры» и «кинофильмы» не идентифицирующая, возможно добавление записи в сущность «кинофильмы», не имея соответствующей записи в сущности «жанры», не разрешающая присутствие нулей, т.к. один жанр может присутствовать в нескольких фильмах. Тип связи 1 ко многим. При редактировании сущности «жанры» редактируется сущность «кинофильмы», при удалении записи из сущность «жанры», запись из сущности «кинофильмы» не удаляется.

На рисунке 11 изображена ER-диаграмма логического уровня.

Рисунок 11 - ER - диаграмма логического уровня

2.2.2 ER-диаграмма физического уровня. Одной и той же логической модели может соответствовать несколько разных физических. В физической модели важно описать всю информацию о конкретных физических объектах - таблицах, колонках, индексах, процедурах. Для нормализации разрабатываемой схемы данных приведем все имеющиеся отношения к соответствующим наборам ограничений. Первая нормальная форма требует, чтобы значения всех атрибутов отношения были атомарными. При рассмотрении информационной модели было отмечено, что значения атрибутов всех отношений логически разделить на элементы нельзя и, следовательно, они удовлетворяют условию первой нормальной формы. Вторая нормальная форма требует, чтобы отношение находилось в первой нормальной форме, и каждый не ключевой атрибут функционально полно зависел от первичного ключа. И это требование также выполняется в рассматриваемой модели. Все не ключевые атрибуты функционально полно и не транзитивно зависят от первичного ключа. Следовательно, отношение находится в БКНФ. На рисунке 12 изображена ER-диаграмма физического уровня.

Рисунок 12 - ER - диаграмма физического уровня

2.3 Верификация спроектированной логической модели

Результаты верификации спроектированной логической модели представлены в приложении А.

3. Реализация системы

3.1 Т-SQL - определение регламентированных запросов (представлений)

1 Вывод информации о жанрах, в названии которых содержится слово «боевик»:

SELECT Название_жанра AS Название, Описание

FROM dbo.Жанры --выбор таблицы «Жанры»

WHERE (Название_жанра LIKE '%Боевик%') --выбор из таблицы «Жанры» жанра «Боевик»

2 Информация об кинофильмах сборы которых привысили 400 000 000 $:

SELECT Название_фильма, Год_выпуска, Сборы_в_США AS Кассовые_кинокартины

FROM dbo.Кассовые_кинокартины --выбор таблицы «Кассовые_кинокартины»

WHERE (Сборы_в_США > N'400000000') OR

(Сборы_в_США < N'100000000000') --выбор из таблицы «Кассовые_кинокартины» всех фильмов чьи сборы выше 400000000 долларов

3 Информация о серии фильмов Пираты карибского моря, получивших премию Оскар:

SELECT dbo.Кассовые_кинокартины.Название_фильма AS Кассовые_кинокартины, dbo.Кассовые_кинокартины.Имя_режиссера, --выбор нужных полей для вывода

dbo.Кассовые_кинокартины.Год_выпуска, dbo.Кассовые_кинокартины.Сборы_в_США, dbo.Награды.Информация_о_награде

FROM dbo.Кассовые_кинокартины CROSS JOIN --выбор таблицы «Кассовые кинокартины»

dbo.Награды --выбор таблицы «Награды»

WHERE (dbo.Награды.Название_награды = N'Оскар') AND (dbo.Кассовые_кинокартины.Название_фильма = N'Пираты карибского моря') /*вывод информации о картинах «Пираты Карибского моря»

4 Информация о Актёрах, имена которых начинаются на букву «К»:

SELECT Имя_актера AS Актеры, Фильмы_с_его_участием, Биография, Награды, Лучшие_фильмы

FROM dbo.Актеры --выбор из таблицы «Актеры»

WHERE (Имя_актера LIKE 'Л%') --выбор актеров чье имя начинается на «Л»

5 Информация о фильме Аватар с его наградами и их описанием:

SELECT dbo.Кинофильмы.Название_фильма AS Кинофильмы, dbo.Кинофильмы.Год_выхода, dbo.Кинофильмы.Жанр, dbo.Награды.Название_награды, dbo.Номинации.Название_номинации, dbo.Награды.Информация_о_награде --определение колонок для вывода в результат запроса

FROM dbo.Кинофильмы CROSS JOIN --объединение т»аблиц Кинофильмы», «награды», «номинации»

dbo.Награды CROSS JOIN

dbo.Номинации

WHERE (dbo.Кинофильмы.Название_фильма = N'Аватар') --поиск кинофильма «Аватар»

3.2 Т-SQL - определение триггеров

1 Триггер запрещающий вводить в поле «Дата проведения» еще не наступивший год:

CREATE TRIGGER proverka_kinofest --определение название тригера

ON Кинофестивали --определение к какй таблице относится

FOR INSERT

AS

DECLARE @@t int

Set @@t=5

IF NOT EXISTS (SELECT * FROM Кинофестивали, inserted

WHERE Кинофестивали.Дата_проведения = inserted. Дата_проведения)

Set @@t=0

IF EXISTS (SELECT * FROM Кинофестивали, inserted

WHERE inserted. Дата_проведения >YEAR(GETDATE()))--проверка даты внесенного кинофестиваля, если не существует не выполнять

Set @@t=0

If @@t=0

BEGIN

PRINT 'Неверно введен год проведения кинофестиваля' --сообщение на экран

ROLLBACK TRANSACTION --Отменить результат транзакции

END

2 Триггер на запрет удаления при отсутствии нужных прав:

CREATE TRIGGER udalenie --описание названия триггера

ON Жанры

FOR DELETE

AS

IF ( SELECT count(*)

from Жанры

where Жанры.Название_жанра is not null)>0

AND (CURRENT_USER <> 'dbo') --если не пользователь dbo, удаление запрещено

BEGIN

PRINT 'у вас нет прав на удаление этой записи' --вывод сообщения

ROLLBACK TRANSACTION --Отменить результат транзакции

END

3 Триггер на проверку кассовых кинокартин, по сумме сборов, которые не могут быть ниже 1000:

CREATE TRIGGER proverka_Кассовые_кинокартины --задание названия триггера ON Кассовые_кинокартины FOR INSERT --определение для какой таблицы создан

AS

DECLARE @@t int

Set @@t=5

IF NOT EXISTS (SELECT * FROM Кассовые_кинокартины, inserted

WHERE Кассовые_кинокартины.Сборы_в_США = inserted.Сборы_в_США)

Set @@t=0

IF EXISTS (SELECT * FROM Кассовые_кинокартины, inserted

WHERE (inserted.Сборы_в_США<1000))--проверка условия, сборы не должны быть ниже 1000 долларов

Set @@t=0

If @@t=0

BEGIN

PRINT 'Сборы не могут быть меньше 1000 долларов.'

ROLLBACK TRANSACTION --Отменить результат транзакции

END

4 Триггер, на создание резервной таблицы «номинации».

CREATE TRIGGER удалить --Определение названия триггера

ON Номинации --определение таблицы

FOR DELETE

AS

INSERT INTO deletenominac

(Название_номинации ,С_какого_года_существует ,Дата_проведения)

SELECT Название_номинации,

SYSTEM_USER,

getdate()

FROM deleted

CREATE TABLE deletenominac() --создание новой таблицы в результате удаление таблицы номинации

[Название_номинации] [varchar] (100) NULL ,

[С_какого_года_существует] [varchar] (100) NULL ,

[Дата_проведения] [varchar] (100) NULL

) ON [PRIMARY]

5 Триггер, запрещающий регистрировать ожидаемые фильмы, воскресенье:

create TRIGGER proverka ON dbo.Ожидаемые_фильмы --определение названия триггера

FOR UPDATE

AS

IF UPDATE(Дата_проведения)

AND datename(dw,GETDATE()) in ('Sunday')--проверка если запись создана в воскресенье

BEGIN

PRINT 'В воскресение ничего не ожидается'

ROLLBACK TRANSACTION --Отменить результат транзакции»

END

3.3 T-SQL-определения хранимых процедур

1 Удаляет запись из таблицы «Кинофильмы»:

create PROCEDURE УдалитьФильм --определение имени хранимой

процедуры

@name varchar(100)

AS

IF EXISTS (SELECT * FROM dbo.Кинофильмы WHERE dbo.Кинофильмы.

Название_фильма=@name) --определяем запись

DELETE --осуществляем удаление из таблицы Кинофильмы

FROM dbo.Кинофильмы --таблица кинофильмы

WHERE (dbo.Кинофильмы.Название_фильма=@name)

2 Добавление новой записи в таблицу Кинофильмы

CREATE PROCEDURE НовыйКинофильм --определяем название процедуры

@name varchar(100),

@namerez varchar(50),

@budzet varchar(50),

@god varchar(50),

@zanr varchar(50),

@akter varchar(50)

AS

IF EXISTS (SELECT * FROM dbo.Кинофильмы WHERE

dbo.Кинофильмы.Название_фильма=@name) --проверяем условие существования записи в таблице

RETURN 0

IF EXISTS (SELECT * FROM dbo.Жанры WHERE dbo.Жанры.Название_жанра=@zanr)

RETURN 0

INSERT INTO dbo.Кинофильмы --добавляем запись в таблицу Кинофильмы

VALUES ( @name,@namerez,@budzet,@god,@zanr,@akter) --определяем колонки к добавлению

3 Процедура позволяет обновить запись в таблице «Ожидаемые кинофильмы»:

CREATE PROCEDURE UpdateПерсонал --название процедуры

@nazv varchar(150),

@data varchar(150),

@namerez varchar(150)

AS

IF EXISTS (SELECT * FROM Ожидаемые_фильмы WHERE (Ожидаемые_фильмы.Название_фильма=@nazv))

UPDATE Ожидаемые_фильмы

SET Ожидаемые_фильмы.Название_фильма=@nazv, Ожидаемые_фильмы. Дата_выхода=@data, Ожидаемые_фильмы.Имя_режиссера=@namerez --определяем поля для обновления

where (Ожидаемые_фильмы.Название_фильма=@nazv)

IF EXISTS (SELECT * FROM Ожидаемые_фильмы WHERE (Ожидаемые_фильмы.Название_фильма=@nazv))

UPDATE Ожидаемые_фильмы --обновляем таблицу

SET Ожидаемые_фильмы.Название_фильма=@nazv, Ожидаемые_фильмы. Дата_выхода=@data, Ожидаемые_фильмы.Имя_режиссера=@namerez

where (Ожидаемые_фильмы.Название_фильма=@nazv)

INSERT INTO Ожидаемые_фильмы

VALUES ( @nazv,@data,@namerez ) --сохраняем рез обновления

4 Процедура выводящая список жанров:

create PROCEDURE

@zanr varchar(50)

AS

IF EXISTS (SELECT * FROM dbo.Жанры WHERE dbo.Жанры. Название = @zanr)

SELECT dbo.Жанры.Описание, dbo.Жанры.Название_жанра --определяем поля к выводу

FROM dbo.Жанры WHERE (dbo.Жанры.Название=@zanr) --определяем название жанра и выводим результат

5 Процедура редактирует записи в таблице «Актеры»:

CREATE PROCEDURE РедакАктера --название процедуры

@name varchar(200),

@bio varchar(1000),

@nagrad varchar(250),

@lfilmi varchar(300),

@filmii varchar (300)

AS

IF EXISTS (SELECT * FROM dbo.Актеры WHERE dbo.Актеры.Имя_актера=@name) --проверяем условие существования данной записи в таблице

UPDATE dbo.Актеры

SET dbo.Актеры.Имя_актера=@name, dbo.Актеры.Биография=@bio, dbo.Актеры.Фильмы_с_его_участием=@filmii, dbo.Актеры.Лучшие_фильмы=@lfilmi, dbo.Актеры.Награды=@nagrad

WHERE dbo.Актеры.Имя_актера=@name

3.4 Описание клиентских приложений

При запуске приложения появляется форма запуска базы данных (рисунок 13). После ввода имени сервера, открывается форма для выбора пользователя (рисунок 14).

информационный программа запрос

Рисунок 13 - Форма запуска базы данных

Рисунок 14 - Форма выбора пользователя

  • 4. Функциональное и общее тестирование системы
  • Интерфейс программы максимально прост для понимания, действия пользователя сведены к минимуму.
  • Тестирование программы проводилось на персональном компьютере со следующими характеристиками:
  • - процессор Intel Celeron® Dual-Core T3000 x2 1,80GHz;
  • - видеокарта Mobile Intel® 4 Series Exspress Chipset Family;
  • - оперативная память 2048 Mb;
  • - материнская плата Asus;
  • - винчестер 250Gb.
  • Открытие таблиц происходит следующим образом - после выбора пользователя, на экране появляется форма представления таблиц 15.
  • Рисунок 15 - Пример выбора таблиц
  • Затем, выбрав одну из таблиц данная форма закрывается и главная форма приминает вид, показанный на рисунке 16.
  • Чтобы произвести добавление или редактирование записи в выбранной таблице нужно нажать соответствующую кнопку на форме. Форма редактирования и добавления записей представлена на рисунке 17 .
  • Также пользователю предоставляется возможность просмотра представлений. Для этого необходимо выбрать пункт просмотр процедур и представлений. Перед пользователем возникнет форма, как показано на рисунке 18.
  • Результаты выполнения представления «Номинаций», и хранимой процедуры по сортировке «Номинаций» представлены на рисунке 18.
  • Рисунок 16 - Пример выбранной таблицы
  • Рисунок 17 - Пример формы для редактирования и добавления записи в таблице
  • Рисунок 18 - Выбор представления, и процедуры
  • Рисунок 19 - Представление «Поиск кинокартины по режиссеру», Хранимая процедура «Поиск жанра»
  • Рисунок 20 - Представление «Сборы по цене», Хранимая процедура «Количество определённых номинаций»
  • 5. Энерго- и ресурсосбережения
  • Стандарт управления энергопотреблением компьютеров, описывает три различных режима работы компьютера.
  • Ждущий режим - позволяет экономить энергию, за счет отключения всех периферийных устройств, кроме ЦПУ, ОЗУ и материнской платы.
  • Спящий режим - позволяет экономить электроэнергию на 100%, так как отключаются все периферийные устройства.
  • Основной режим - при этом режиме экономии нет. Потребляемая мощность около 400 Ватт.
  • Для нахождения количества рабочих дней, в течение которых разрабатывался программный продукт, используем формулу:
  • , (1)
  • где Тпк - время работы компьютера, ч;
  • Тпк =65 ч;
  • tрп - суммарное время регламентированных перерывов, в течение рабочего дня, ч;
  • tрп =72 мин=1,2 час;
  • .
  • Для нахождения суммарной продолжительности регламентированных перерывов в течение всего времени разработки программного модуля:
  • ,(2)
  • где Трп - суммарная продолжительность регламентированных перерывов в течение всего времени разработки программного модуля.
  • Стоимость сэкономленной электроэнергии рассчитывается по формуле:
  • ,(3)
  • где Wпк - потребляемая мощность ПК, кВт-ч;
  • Wсп - потребляемая мощность компьютера в ждущем режиме;
  • Wпк = 0,45 кВт;
  • Wсп = 0,20 кВт;
  • Цэн = 621 руб.
  • Заключение
  • В результате выполнения курсового проекта была разработана информационная база данных кино архива.
  • В результате разработки курсового проекта закреплены и расширены знания по программированию в Borland Delphi 7 и MS SQL Server. Написанное приложение позволяет пользователю данной системы беспрепятственно работать с базой SQL, не имея никаких навыков по программированию в SQL. При реализации проекта пройдены этапы описания и постановки задачи, проектирования программного модуля, кодирования программы на алгоритмический язык и тестирования готовой программы.
  • Список литературы

1. П. Роб, К. Коронел. Системы баз данных: проектирование, реализация и управление. - 5-е изд., перераб. и доп.: Пер. с англ. - СПб.: БХВ-Петербург, 2004.

2. Дж. Грофф, П. Вайнберг. Энциклопедия SQL. 3-е изд. - СПб., Питер, 2004.

3. К. Прагг, М. Ирвин. Access 2002. Библия пользователя.: Пер. с англ. - М.: Издательский дом «Вильямс», 2003.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.