Разработка базы данных для предметной области «Музей»

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

Базы данных — это совокупность структур, предназначенных для хранения больших объемов информации и программных модулей, осуществляющих управление данными, их выборку, сортировку и другие подобные действия.

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

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

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

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

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

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

Для решения подобных проблем применяются автоматизированные базы данных. Они стали неотъемлемой частью практически всех компьютерных систем — от отрасли до отдельного предприятия. За последние несколько лет вырос уровень потребительских качеств систем управления базами данных (СУБД): разнообразие поддерживаемых функций, удобный для пользователя интерфейс, сопряжение с программными продуктами, в частности с другими СУБД, возможности для работы в сети и т.д. СУБД позволяет сводить воедино информацию из самых разных источников (электронные таблицы, другие базы данных) и помогает быстро найти необходимую информацию, донести ее до окружающих с помощью отчетов, графиков или таблиц.

5 стр., 2391 слов

Разработка базы данных природных достопримечательностей (заповедников) ...

... посредство СУБД. Моя база данных разработана для природных достопримечательностей (заповедников) Московской области. В ней будет таблица с подробным описание достопримечательностей т.е. информация о ... подход. Практическая значимость курсовой работы (проекте) заключается в выработке умений пользоваться и создавать базу данных природных достопримечательностей (заповедников) Московской области с ...

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

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

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

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

Изучение особенностей предметной области

Разработка схемы БД

Реализация разработанной схемы в конкретной СУБД (MSAccess)

Создание форм для ввода данных, отчетов, запросов

Автоматизация работы с созданной БД

Решение этих задач предусматривает создание базы данных музея.

На основе полученных моделей привести примеры теоретико-множественных и специальных операций реляционной алгебры.

Спроектировать и реализовать разработанную модель в среде СУБД MS Access. Создать таблицы, формы, запросы и отчеты по данной БД.

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

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

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

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

В настоящее время знакомство с коллекциями и изучение их отдельных экспонатов приобретает все большую популярность среди различных социальных групп общества. Музей как социально-культурное учреждение завоевывает все более крепкие позиции в системе культурного просвещения посетителей. Сейчас музей становится объединяющим звеном для совершенно различных по своим направлениям культурных интересов людей.

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

Концептуальная модель базы данных

Сущность — это реальный или представляемый объект, информация о котором должна сохраняться и быть доступна. В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности. При этом имя сущности — это имя типа, а не некоторого конкретного экземпляра этого типа. Для большей выразительности и лучшего понимания имя сущности может сопровождаться примерами конкретных объектов этого типа.

Атрибут сущности — это именованная характеристика, являющаяся некоторым свойством сущности.

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

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

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

Связь типа один-к-одному означает, что один экземпляр первой сущности (левой) связан с одним экземпляром второй сущности (правой).

Связь типа один-ко-многим означает, что один экземпляр первой сущности (левой) связан с несколькими экземплярами второй сущности (правой).

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

В данном курсовом проекте ER-модель имеет связь типа один-ко-многим.

Таблица 1 — Объекты концептуальной модели

Объект

Атрибуты

Первичный ключ

Работники

Код работника

ФИО

Должность

Телефон

Код работника

Название зала

Код зала

Название

Этаж

Площадь

Код зала

Выставочные экспонаты

Код экспоната

Код зала

Название

Дата поступления

Код сотрудника

Код экспоната

Экскурсии музея

Код экскурсии

Код зала

Код сотрудника

Дата экскурсии

Количество человек

Код экскурсии

Таблица 2 — Связи концептуальной модели

Объекты

Показатель кардинальности

Степень участия

Выставочные экспонаты

Код зала

1 : N

1 : N

Полная

Полная

Выставочные экспонаты

Код работника

1 : N

1 : N

Полная

Полная

Экскурсии музея

Код сотрудника

1 : N

1 : N

Полная

Полная

Экскурсии музея

Код зала

1 : N

1 : N

Полная

Полная

Логическая модель базы данных

На данном этапе производится упрощение концептуальной модели, а затем ее преобразование в реляционную модель.

В реляционной модели данных (РБД) связь типа «многие ко многим» не может быть представлена напрямую. Она убирается путем добавления новых таблиц.

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

Основные объекты базы данных:

«Работники» используется для хранения данных о сотрудниках. Данная таблица содержит идентификатор, ФИО и телефон сотрудника.

«Залы» содержит данные о залах. Данная таблица содержит идентификатор, название и этаж, на котором находится зал.

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

«Экскурсии» используется для хранения данных о экскурсиях. Данная таблица хранит уникальный идентификатор, место проведения, ФИО экскурсовода, дату и количество человек.

Физическая модель базы данных

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

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

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

Наиболее известным представителем класса семантических моделей является модель «сущность-связь» (ER-модель).

Основные преимущества ER-моделей:

  • наглядность;
  • модели позволяют проектировать базы данных с большим количеством объектов и атрибутов;
  • ER-модели реализованы во многих системах автоматизированного проектирования баз данных (например, ERWin).

Основные элементы ER-моделей:

  • объекты (сущности);
  • атрибуты объектов;

связи между объектами

На основе расширенной концептуальной модели создаем БД «Музей» в MS Access. Диаграмма БД выглядит следующим образом (рис. 1):

Рисунок 1 — Реляционная модель БД

Описание приложения для работы с базой данных

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

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

  • схема базы данных (на основании ER-модели, разработанной на этапе анализа);
  • набор спецификаций модулей системы (они строятся на базе моделей функций).

Таблица — это объект, определяемый и используемый для хранения данных. Каждая таблица включает информацию определённого типа. Таблица содержит поля (столбцы), в которых хранятся данные и записи (строки).

В записи собрана вся информация о конкретном объекте. Для каждой таблицы можно определить первичный ключ и один или несколько индексов с целью увеличения скорости доступа к данным.

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

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

Рисунок 2 — форма «Работники»

Для таблицы «Залы» также создана форма для добавления, изменения и удаления полей таблицы.

Рисунок 3 — форма «Авторы»

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

Запрос «Информация об экспонатах за полгода» содержит в себе перекрестный запрос.

Рисунок 4 — Перекрестный запрос

«Сотрудник, работающий на этаже» содержит в себе условие на этаж

Рисунок 5 — Запрос с параметром

база данные музей экспонат

Запросы «Количество экспонатов в N зале» содержит в себе вычисляемое поле. Эти запросы созданы для наложения условия на количество экспонатов в каждом зале.

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

Отчет «Сотрудники на этаже» построен на основе запроса с параметром.

Рисунок 6 — отчет с параметром

Отчет «Информация об экспонатах за полгода» создан мастером на основе запроса.

Рисунок 10 — отчет на основе запроса

Заключение

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

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

[Электронный ресурс]//URL: https://jret.ru/kursovaya/baza-dannyih-muzey/

Малыхина М.П. Базы данных: основы, проектирование, использование: учебное пособие».-3-е изд. СПб.: БХВ-Петербург, 2007. -528 с.

Роберт Уолтерс и др. SQL Server 2012: ускоренный курс для профессионалов./Пер. с англ. — М.: Издательский дом «Вильямс», 2014. -768 с.

Александр Волоха. Microsoft SQL Server 2012. Новые возможности. — СПб: Питер, 2012.- 304 с.

Сеппа Д. Microsoft ADO.BET/Пер. с англ.- М.; Издательско-торговый дом «Русская редакция», 2003. -640 стр.

Нейгел, Кристиан, Ивьен, Билл, Глинн, Джей, Скиннер, Уотсон, Карли. C# 2005 и платформа .NET 3.0 для профессионалов.; Пер. с англ. — М.: ООО «И.Д.Вильямс», 2008.- 1376+416 (на CD) с.: ил.

Приложение

Скрипты запросов базы данных

Информация об экспонатах за полгода:

SELECT [Выставочные экспонаты].Название, [Выставочные экспонаты].[Дата поступления], [Название зала].Название

FROM [Название зала] INNER JOIN [Выставочные экспонаты] ON [Название зала].[Код зала] = [Выставочные экспонаты].[Код зала]

WHERE (((Month(Now()-[Выставочные экспонаты]![Дата поступления]))<=6));

Количество экскурсий по месяцам:

SELECT Count([Экскурсии музея].[Код экскурсии]) AS [Count-Код экскурсии], Month([Дата экскурсии]) AS Месяц

FROM [Экскурсии музея]

GROUP BY Month([Дата экскурсии])

HAVING (((Month([Дата экскурсии]))=[Введите номер месяца]));

Количество экспонатов в 1 зале

SELECT Count([Код зала]) AS Выражение1

FROM [Выставочные экспонаты]

WHERE ([Код зала]=1);

Количество экспонатов во 2 зале

SELECT Count([Код зала]) AS Выражение1

FROM [Выставочные экспонаты]

WHERE ([Код зала]=2);

Количество экспонатов в 3 зале

SELECT Count([Код зала]) AS Выражение1

FROM [Выставочные экспонаты]

WHERE ([Код зала]=3);

Количество экспонатов в 4 зале

SELECT Count([Код зала]) AS Выражение1

FROM [Выставочные экспонаты]

WHERE ([Код зала]=4);

Количество экспонатов в 5 зале

SELECT Count([Код зала]) AS Выражение1

FROM [Выставочные экспонаты]

WHERE ([Код зала]=5);

Количество экспонатов в 6 зале

SELECT Count([Код зала]) AS Выражение1

FROM [Выставочные экспонаты]

WHERE ([Код зала]=6);

Количество экспонатов в зале

SELECT [Название зала].Название, Count([Выставочные экспонаты].Название) AS [Count-Название]

FROM [Название зала] INNER JOIN [Выставочные экспонаты] ON [Название зала].[Код зала] = [Выставочные экспонаты].[Код зала]

WHERE ((([Выставочные экспонаты].[Дата поступления])>=[Введите дату]))

GROUP BY [Название зала].Название;

Сотрудник, работающий на этаже

SELECT [Выставочные экспонаты].Название, [Название зала].Этаж, Работники.ФИО, Работники.Должность, Работники.Телефон

FROM [Название зала] INNER JOIN (Работники INNER JOIN [Выставочные экспонаты] ON Работники.[Код сотрудника] = [Выставочные экспонаты].[Код сотрудника]) ON [Название зала].[Код зала] = [Выставочные экспонаты].[Код зала]

WHERE ((([Название зала].Этаж)=[Введите этаж]));