При осуществлении деятельности художественного музея обрабатывается большой объем информации об экспонатах и их создателях, выставочных залах и хранилищах, выставках и экскурсиях, а также персонале. Возникает проблема систематизации этих данных. Упростить эту задачу позволяет применение специализированного программного обеспечения. Большой объем информации подразумевает использование базы данных.
Таким образом, выделив основные сущности, задействованные в функционировании художественного музея, можно построить диаграмму для последующей разработки реляционной базы данных (рис1.).
Также потребуется настройка разграничения доступа для разных пользователей, например администратор, менеджера и простого пользователя. Для этой цели в базах данных применяются роли и пользователи. Для взаимодействия пользователей системы с разработанной базой данных потребуется клиентское приложение, которое сможет осуществлять связь с базой данных и предоставлять удобный CRUD интерфейс, а также весь прочий необходимый разным пользователям функционал.
Таким образом, была разработана база данных в среде MS SQL Server 2012.
Описываемая база данных для художественного музея состоит из следующих таблиц:
- Таблица создателей экспонатов «Author»;
- Таблица экспонатов «Showpiece»;
- Таблица хранилищ «Depository»;
- Таблица сотрудников «Employee»;
- Таблица экскурсий «Excursion»;
- Таблица для экспонатов в хранилищах «Showpiece_in_depository»;
- Таблица для экспонатов в выставочных залах «Showpiece_in_showroom»;
- Таблица выставочных залов «Showroom»;
- Таблица выставочных залов, задействованных в экскурсии «Showroom_in_excursion»;
- Таблица для туристических групп «Tourist_grroup»;
- Справочник художественных стилей и направлений «Style».
Рис. 1. ER-диаграмма базы данных
Для разработки базы данных была выбрана СУБД MS SQL Server 2012. Среда разработки обладает широкими возможностями, такими, как поддержка хранимых процедур и функций, создание представлений, создание вычисляемых полей и проверочных ограничений, задание секционирования таблиц и т. д.
Для облегчения работы пользователей при разработке базы данных были реализованы некоторые средства, предоставляемые средой разработки. Таким образом были установлены свойства автоинкремента для первичных ключей таблиц, чтобы пользователь не заботился о вводе нового уникального ключа.
Так как в таблице экспонатов присутствуют значения габаритов, то было принято решение добавить поле общего объема. Для автоматизации и корректности заполнения, данное поле «size_volume» было реализовано как вычисляемое.
Для оптимизации и увеличения производительности базы данных существуют хранимые процедуры, которые состоят из инструкций на языке SQL и компилируются на сервере. Автоматически запустить подобные процедуры при выполнении некоторых действий над таблицами или представлениями позволяют триггеры. Для реализовываемой базы данных был создан триггер, который при добавлении или изменении записи в таблице Author заменяет в столбце is_alive значение NULL на False.
Для разграничения доступа к базе данных были настроены и добавлены роли и пользователи, позволяющие предоставить или запретить доступ соответствующим пользователям к столбцам и целым таблицам.
Для администрирования реализованной базы данных было создано приложение на языке C# с использованием фреймворка WinForms. Главная форма приложения позволяет отобразить содержимое таблиц, добавлять, редактировать и удалять записи из них (рис.2.). Так же есть возможность отфильтровать записи по некоторым признакам или осуществить поиск.
Рис. 2. Главная форма приложения
Для анализа данных художественного музея приложение позволяет просматривать отчеты доступные в меню «Отчеты», например отчет о создателях предметов искусства, позволяющий отобразить данные создателях, сгруппированных по странам, а так же отдельно среди живых и уже умерших (рис.3.).
Рис. 3. Отчет
Таким образом реализованная база данных, а также клиентское приложение к ней, позволяют работникам художественного музея осуществлять деятельность по систематизации и контролю данных об экспонатах, организации выставок и экскурсий, а посетителям просматривать основную информацию о доступных в музее экспонатах и их создателях для планирования посещения музея. Гибкость разработанной базы данных и приложения позволит легко расширить имеющийся функционал в будущем, например организовать онлайн регистрацию на экскурсию или реализовать более подходящее клиентское приложение, например веб-сервис.
Литература:
- Руководство по MS SQL Server. — Режим доступа: https://metanit.com/sql/sqlserver/.
- Введение в базы данных. — Режим доступа: https://compress.ru/article.aspx?id=12460.
- Джон, Ш. Microsoft Visual C#. Подробное руководство / Ш. Джон. СПб.: Изд-во Питер, 2017. — 848с.