Помощь в написании студенческих работ
Антистрессовый сервис

Разработка базы данных для видеопроката

Курсовая Купить готовую Узнать стоимостьмоей работы

HaveFilms — запрос, выдающий список фильмов, которые имеются в данный момент в наличии, расписанный по экземплярам. То есть, если в наличии есть несколько единиц проката данного фильма, каждая из них выходит на просмотр. В рамках проекта «Работа видео проката» были изучены задачи и требования данной области. Спроектирована модель данных. Реализована база данных средствами MS Access 2003… Читать ещё >

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

Содержание

  • Автоматизированная система «Видео прокат»
  • 1. Постановка задачи
    • 1. 1. Задание на курсовой проект
    • 1. 2. Назначение базы данных
    • 1. 3. Выполняемые функции
    • 1. 4. Категории пользователей
    • 1. 5. Выбор и обоснование СУБД и языка программирования
  • 2. Проектирование базы данных
    • 2. 1. Инфологическое проектирование
      • 2. 1. 1. Сущности
      • 2. 1. 2. Взаимосвязи между сущностями
      • 2. 1. 3. Разработка концептуальной инфологической модели
    • 2. 2. Даталогическое проектирование
      • 2. 2. 1. Отношения и атрибуты
      • 2. 2. 2. Ключевые поля и индексы
      • 2. 2. 3. Доказательство 3 Нормальной Формы
      • 2. 2. 4. Схема данных
  • 3. Особенности реализации
    • 3. 1. Учет специфики предметной области
    • 3. 2. Ограничения и бизнес правила
  • 4. Пользовательский интерфейс
    • 4. 1. Запросы
    • 4. 2. Формы
    • 4. 3. Отчеты
    • 4. 4. Макросы. Модули
  • Заключение
  • Список литературы

Новый работник должен быть внесен в таблицу Workers.

Поле distributionentry (единица проката) заполняется автоматически значением из таблицы istributionentries. Работа проката организована таким образом, что после выбора фильма происходит проверка на наличие экземпляра проката с данным фильмом, и, если таковой имеется, он заносится в таблицу сделок.

4 Пользовательский интерфейс Вход в программу осуществляется через стартовую форму Main, имеющую несколько вкладок. На первой вкладке «регистрация» предлагается выбрать из списка статус пользователя (рисунок 3).

Рисунок 3. Выбор статуса пользователя.

1. Если выбран статус работника, предлагается выбрать из нижнего списка фамилию работника. Для работника становится активной вкладка «Клиенты», предназначенная для работы с клиентами (рис.

4).

Рисунок 4. Вкладка для работы с клиентами.

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

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

Кнопка «Просмотр сделок клиента» позволяет просмотреть и редактировать список сделок текущего клиента. В частности, при осуществлении возврата, среди сделок клиента выбирается текущая, и заполняется поле «Дата возврата».

Если выбран статус оператора, становится активной вкладка «Ресурсы» (рис. 5).

Рисунок 5. Вкладка ресурсов.

Кнопки «Фильмы», «Носители», «Экземпляры» ведут, соответственно к просмотру и редактированию баз фильмов, носителей и единиц проката

3.Статус руководителя делает активными все вкладки формы, в том числе и вкладку «Отчеты» (рис. 6).

Рисунок 6. Вкладка отчетов.

Кнопки «Статистика по работникам», «Статистика по клиентам», «Черный список клиентов» открывают соответствующие отчетные формы.

4.1 Запросы В программе используются следующие запросы:

FilmActors — запрос, выдающий список актеров данного фильма.

Параметр запроса FCurFilm () — Функция, возвращающая идентификатор текущего фильма.

В терминах языка SQL запрос выглядит следующим образом:

SELECT FilmActor. Actor, Actors. Actor FROM FilmActor LEFT JOIN Actors ON FilmActor. Actor=Actors.Id WHERE FilmActor. Film=FCurFilm ().

DealQuery — запрос, выдающий список сделок с присоединением названия фильма и типа носителя.

Вид запроса в конструкторе на рисунке 7.

Рисунок 7. Вид запроса DealQuery в конструкторе запросов.

В терминах языка SQL запрос выглядит следующим образом:

SELECT Deals.*, DistributionEntries. Film, istributionEntries. Bearer, DistributionEntries. Price, Films. FilmName, Bearers. BearerType FROM ((Deals LEFT JOIN DistributionEntries ON Deals. DistributionEntry = DistributionEntries. Id) LEFT JOIN Films ON DistributionEntries. Film = Films. Id) LEFT JOIN Bearers ON DistributionEntries. Bearer = Bearers. Id;

CurrentDeal — запрос, выбирающий текущую сделку с присоединением названия фильма, типа носителя, данных клиента и работника. Параметр запроса FCurDeal () — Функция, возвращающая идентификатор текущей сделки.

В терминах языка SQL запрос выглядит следующим образом:

SELECT DealQuery. Id, DealQuery. Client, DealQuery. FilmName, DealQuery. BearerType, DealQuery. Price, DealQuery. GivingDate, DealQuery. BackDate, Clients. LastName, Clients. SecondName, Clients.Name, Clients. Address, Clients. PhoneNumber, Clients. Passport, Workers. LastName, Workers. SecondName, Workers.Name FROM (DealQuery LEFT JOIN Clients ON DealQuery. Client=Clients.ID) LEFT JOIN Workers ON DealQuery. Worker=Workers.Id WHERE DealQuery. Id=FCurDeal () OR FCurDeal ()=0;

WorkersDeals — запрос, подсчитывающий количество сделок, произведенных каждым работником.

Вид в конструкторе запросов на рисунке 8.

Рисунок 8. Вид запроса WorkersDeals в конструкторе запросов.

В терминах языка SQL запрос выглядит следующим образом:

SELECT Workers. LastName, Count (Deals.Id) AS CountDeals FROM Deals LEFT JOIN Workers ON Deals. Worker = Workers. Id

GROUP BY Workers. LastName;

HaveFilms — запрос, выдающий список фильмов, которые имеются в данный момент в наличии, расписанный по экземплярам. То есть, если в наличии есть несколько единиц проката данного фильма, каждая из них выходит на просмотр.

Вид в конструкторе запросов на рисунке 9.

Рисунок 9. Вид запроса HaveFilms в конструкторе запросов.

Вид SQL:

SELECT DistributionEntries. Film, DistributionEntries. Bearer, Count (Deals.Id) AS [Count-Id] FROM DistributionEntries LEFT JOIN Deals ON DistributionEntries. Id = Deals. DistributionEntry WHERE (((IsNull ([Deals]. BackDate]))=False)) OR (((IsNull ([Deals]. Id]))<>False)) GROUP BY DistributionEntries. Film, DistributionEntries. Bearer

DeptClients — запрос, формирующий черный список клиентов. Подсчитывающий количество невозвратов по каждому клиенту.

Вид в конструкторе запросов на рис. 10.

Рисунок 10. Вид запроса HaveFilms в конструкторе запросов.

4.2 Формы Для работы с данными в программе предусмотрены следующие пользовательские формы.

1. Стартовая форма Main, описанная в начале пункта 4.

2.Форма просмотра клиентов fClients. Вызывается кнопкой вкладки «Клиенты» (рис. 11).

Рисунок 11. Форма просмотра клиентов.

Кнопка «Выбрать» в правом нижнем углу осуществляет выбор клиента в окошко главной формы для последующей работы с конкретным клиентом.

Кнопки «Добавить» и «Редактировать» открывают форму ввода/редактирования клиента (3) соответственно с пустыми полями и полями, заполненными данными текущего клиента. Кнопка «Удалить» осуществляет удаление клиента из базы вместе со всеми его сделками.

Форма ввода/редактирования клиентов InputClient.

Рисунок 12. Форма ввода/редактирования клиентов.

4. Форма просмотра фильмов fFilms (рис.

13).

Рисунок 13. Форма просмотра фильмов.

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

Пользователь со статусом «Оператор» может добавлять, редактировать и удалять фильмы. Для него видимы три кнопки в левом нижнем углу, а кнопка «Сдать в прокат» не видна.

5. Форма ввода/редактирования фильмов InputFilm (рис. 14). Открывается нажатием кнопок «Добавить» и «Редактировать» фильм соответственно с пустыми полями и полями, заполненными информацией о текущем фильме.

Рисунок 14. Форма ввода/редактирования фильмов.

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

15). После этого актер появится в списке.

Рисунок 15. Добавление актера в список.

6. Форма ввода/ редактирования сделки InputDeal (рис. 16). Открывается нажатием кнопки «Сдать в прокат» на форме просмотра фильмов.

Рисунок 16. Форма ввода сделок.

7. Форма просмотра и редактирования сделок клиента fDeals открывается нажатием кнопки «Просмотр сделок клиента» на вкладке «Клиенты» (рисунок 17).

Рисунок 17. Форма просмотра сделок

4.3 Отчеты На вкладке «Отчеты» главной формы пользователь со статусом «Руководитель» может формировать следующие отчетные формы:

Статистика по работниками. Отчет WorkersDeals (рисунок 18). Показывает, какое количество сделок оформил каждый работник проката.

Рисунок 18. Статистика по работникам.

Статистика по клиентам. Отчет ClientsDeals (рис. 19). Показывает, какое количество сделок заключал каждый клиент видео проката.

Рисунок 19. Статистика по клиентам.

Черный список клиентов. Отчет DeptClients (рис. 20). Показывает клиентов, которые не вернули имущество проката — число невозвратв по каждому клиенту.

Рисунок 20. Черный список клиентов.

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

CurFilm — идентификатор текущего фильма

CurDeal — идентификатор текущей сделки

CurClient — идентификатор текущего клиента

CurActor — идентификатор текущего актера

CurWorker — идентификатор текущего работника

UserStatus — номер статуса пользователя от 0 до 2

Модуль ModFreeEntry содержит функцию FreeEntry, которая получает параметром идентификатор фильма, проверяет, есть ли экземпляр проката с данным фильмом в наличии, и возвращает идентификатор единицы проката в случае, если такой имеется и ноль, в случае, если все экземпляры на руках.

Заключение

В рамках проекта «Работа видео проката» были изучены задачи и требования данной области. Спроектирована модель данных. Реализована база данных средствами MS Access 2003 и нормализована до третьей нормальной формы.

Спроектирован пользовательский интерфейс, учитывающий особенности данной предметной области, и реализован средствами MS Access 2003

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

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

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

Работы по дальнейшему усовершенствованию программы можно запланировать в следующих направлениях:

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

Включение в систему большего количества полезных запросов по выборке данных.

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

Расширение модуля отчетности. В том числе расчет отчетов, содержащих данные о суммах сделок, подсчитывающих общие суммы прибыли и т. д.

Работы по улучшению внешнего вида пользовательской части.

Возможность интеграции с другими приложениями MS Office. Например, экспорт отчетов в Word и Excel.

Список литературы

Access Homepage.

http://office.microsoft.com/en-us/access/FX100487571033.aspx

Access 2000.

http://www.spbart.ru/base1.html

Введение

в Базы данных.

http://www.getinfo.ru/article484.html

В.В.Кириллов, Г. Ю. Громов. Структуризированный язык запросов (SQL). Учебное пособие.

В. Кошелев. Access 2003

Практическое руководство.

Основы SQL Перевод: Alexandr Pyramidin,

http://pyramidin.narod.ru.

http://www.opennet.ru/docs/RUS/rusql/

Пособие по Microsoft Office 2003.

http://www.office-book.info

Сайт компании Прайм Видео.

http://pv.by/index.php?osCsid=0d5410372f885bc8dbe301444a1c08b8

Теоретические основы реляционных баз данных.

http://www.getinfo.ru/article482.html

Теория нормальных форм.

http://www.mstu.edu.ru/education/materials/zelenkov/ch4_2.html.

Тимошок Татьяна Владимировна. Microsoft Office Access 2003

Краткое руководство.

Т. Коннолли, К. Бегг. Базы данных: проектирование, реализация и сопровождение.

Работник

Режиссер

Актер

м

снимает

снимается

участвует

м

м

Фильм

м

Сделка

м

классифицирует

м

м

соответствует

Жанр

является предметом

участвует

м

Единица проката

Тип носителя

Клиент

м

соответствует

Показать весь текст

Список литературы

  1. Access Homepage. http://office.microsoft.com/en-us/access/FX100487571033.aspx
  2. Access 2000. http://www.spbart.ru/base1.html
  3. Введение в Базы данных. http://www.getinfo.ru/article484.html
  4. В.В.Кириллов, Г. Ю. Громов. Структуризированный язык запросов (SQL). Учебное пособие.
  5. В. Кошелев. Access 2003. Практическое руководство.
  6. Основы SQL Перевод: Alexandr Pyramidin, http://pyramidin.narod.ru.
  7. http://www.opennet.ru/docs/RUS/rusql/
  8. Пособие по Microsoft Office 2003. http://www.office-book.info
  9. Сайт компании Прайм Видео.
  10. http://pv.by/index.php?osCsid=0d5410372f885bc8dbe301444a1c08b8
  11. Теоретические основы реляционных баз данных. http://www.getinfo.ru/article482.html
  12. Теория нормальных форм. http://www.mstu.edu.ru/education/materials/zelenkov/ch4_2.html.
  13. Тимошок Татьяна Владимировна. Microsoft Office Access 2003. Краткое руководство.
  14. Т. Коннолли, К. Бегг. Базы данных: проектирование, реализация и сопровождение.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ