УЧЕБНОЕ ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА БАЗЫ ДАННЫХ ИНФОРМАЦИОННОЙ СИСТЕМЫ «БИБЛИОТЕКА»
Конференция: LXXXVI Международная научно-практическая конференция «Научный форум: технические и физико-математические науки»
Секция: Информатика, вычислительная техника и управление

LXXXVI Международная научно-практическая конференция «Научный форум: технические и физико-математические науки»
УЧЕБНОЕ ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА БАЗЫ ДАННЫХ ИНФОРМАЦИОННОЙ СИСТЕМЫ «БИБЛИОТЕКА»
EDUCATIONAL DESIGN AND DEVELOPMENT OF THE DATABASE OF THE INFORMATION SYSTEM "LIBRARY"
Ekaterina Kuznetsova
Senior Lecturer, Department of Information Technology, Astrakhan State University named after V. N. Tatishchev, Russia, Astrakhan
Anna Filatova
Student, Department of Information Security, Astrakhan State University named after V. N. Tatishchev, Russia, Astrakhan
Аннотация. В статье представлен комплексный подход к проектированию и реализации базы данных для информационной системы «Библиотека». Детально рассматриваются все этапы разработки, от концептуального моделирования до физической реализации на платформе PostgreSQL. Особое внимание уделено структурированию данных, выбору технологического стека и разработке интерфейсов с ролевым доступом. Результатом стала эффективная система, автоматизирующая управление фондом, учет выдачи и доступ к ресурсам.
Abstract. The article presents a comprehensive approach to designing and implementing a database for the "Library" information system. It thoroughly examines all development stages from conceptual modeling to physical implementation using PostgreSQL. Particular attention is given to data structuring, technology stack selection, and development of role-based access interfaces. The result is an efficient system automating collection management, loan tracking, and resource access.
Ключевые слова: база данных; информационная система; проектирование; PostgreSQL; Python; реляционная модель; автоматизация процессов; пользовательские роли.
Keywords: database; information system; design; PostgreSQL; Python; relational model; process automation; user roles.
На сегодняшний день внедрение информационных технологий является неотъемлемой частью образовательных учреждений. Подобно базам данных, современные библиотеки представляют собой сложные информационные системы, внедрение которых позволяет хранить знания и обеспечивать их доступность, анализировать запросы пользователей, адаптироваться к новым формам работы. Современная библиотека представляет собой сложный информационный центр, сочетающий традиционные функции хранения печатных изданий с предоставлением доступа к электронным ресурсам. Особое место занимают специализированные издания: диссертации, редкие книги, краеведческие материалы и архивные документы, требующие особого подхода к учету и хранению.
Целью работы является повышение качества обслуживания потенциальных пользователей и автоматизации рабочих процессов для библиотечно-издательского комплекса путем разработки информационной системы «Библиотека».
Информационная система предназначена для решения следующих задач:
- осуществление учета, размещения и проверок фондов, обеспечение их сохранности, режима хранения, реставрации и консервации;
- информационное обслуживание студентов, преподавателей, сотрудников университета с использованием современных электронных технологий (электронный каталог, электронные библиотечные системы, доступы к базам данных, электронный заказ и доставка документов, др.).
На рисунке 1 представлена концептуальная схема в виде диаграммы Чена (она же схема «сущность-связь»), отражающая более полную структуру будущей информационной системы [1].
Рисунок 1. Концептуальная схема базы данных "Библиотека"
На этапе концептуального проектирования были выделены следующие основные сущности [2]:
- сотрудники;
- читатели;
- книги.
И дополнительные, более полно характеризующие работу смоделированной информационной системы:
- авторы;
- жанры;
- копии;
- электронные ресурсы;
- новые поступления;
- выдача.
Система построена на реляционной модели данных, где информация организована в виде логически связанных таблиц.
Изучив официальную документацию PostgreSQL [3], были выделены следующие преимущества реляционной модели:
1) четкая структура данных без двусмысленности;
2) автоматическое поддержание целостности через внешние ключи;
3) легкость переноса и масштабирования системы.
В процессе формирования физической структуры базы данных, разрабатываемой информационной системы, была определена прецизионная структура таблиц [4]. На примере таблицы «Authors» рассмотрим ключевые принципы проектирования физической структуры, что отражает базовые принципы проектирования реляционных баз данных, которые можно применять ко всем остальным таблицам системы.
Таблица 1.
Структура таблицы «Аuthors»
Поле |
Тип данных |
Null |
PK |
FK |
Unique |
id |
serial (integer) |
Нет |
Да |
Нет |
Да |
full_name |
varchar |
Нет |
Нет |
Нет |
Нет |
birth_year |
integer |
Да |
Нет |
Нет |
Нет |
death_year |
integer |
Да |
Нет |
Нет |
Нет |
country |
varchar |
Да |
Нет |
Нет |
Нет |
biography |
text |
Да |
Нет |
Нет |
Нет |
Главная особенность – использование уникального идентификатора id с типом serial, который автоматически генерируется при добавлении новой записи. Обязательное поле full_name хранит полное имя автора и является ключевым атрибутом для поиска и отображения информации. Дополнительные поля birth_year и death_year, которые могут содержать NULL-значения, дают возможность работать с неполными биографическими данными. Аналогичный подход с обязательными и необязательными полями можно использовать в других таблицах – например, в таблице читателей обязательным может быть поле имени, а необязательным – номер телефона. Для сложных связей, таких как отношение книг к жанрам (многие-ко-многим), создаются промежуточные таблицы. Подобный принцип структурирования данных делает базу данных гибкой, масштабируемой и удобной для выполнения сложных запросов, что важно в системе с разнообразными взаимосвязями между сущностями.
При проектировании информационной системы "Библиотека" был проведен анализ современных систем управления базами данных, в результате которого в качестве оптимального решения выбран PostgreSQL. Обусловлено наличием комплекса технических характеристик и функциональных возможностей, которые лучшим образом соответствуют требованиям библиотечной системы [5], [6].
Информационную систему можно создать, как веб-приложение или же приложение для персонального компьютера на операционной системе Windows. При программной реализации предпочтение было отдано языку Python, так как он представляет собой высокоуровневый интерпретируемый язык с динамической типизацией, обеспечивающий оптимальный баланс между производительностью и скоростью разработки [7]. Выбор модулей для программной реализации был продиктован необходимостью обеспечения удобного пользовательского интерфейса и эффективного взаимодействия с базой данных. Основной адаптер Python для PostgreSQL – библиотека psycopg2 – была выбрана благодаря полной поддержке всех возможностей PostgreSQL, она позволяет устанавливать соединение с базой данных, выполнять SQL – запросы и обрабатывать транзакции. Модуль psycopg2.sql был включен для безопасного формирования SQL – запросов, так как он автоматически экранирует данные, предотвращая SQL – инъекции. Для создания графического интерфейса была выбрана стандартная библиотека tkinter, поскольку подходит для небольших и средних приложений.
Информационная система предусматривает два типа пользователей с различными уровнями доступа:
- администратор – обладает полными правами доступа ко всем таблицам базы данных. В его обязанности входит управление книжным фондом, учет читателей, контроль выдачи и возврата книг, а также администрирование персонала
- читатель – имеет ограниченный доступ, позволяющий просматривать каталог книг, список новинок и электронных ресурсов, а также формировать заказы на выдачу литературы.
Работа с системой начинается с окна авторизации, где пользователь должен ввести свои учетные данные, что видно на рисунке 3.
Рисунок 3. Окно авторизации с данными администратора
После успешной аутентификации открывается главное окно приложения, представленное на рисунке 4, интерфейс которого адаптируется в зависимости от роли пользователя.
Рисунок 4. Интерфейс приложения
Для администратора доступен расширенный функционал, включающий возможность добавления, редактирования и удаления записей во всех таблицах базы данных.
Интерфейс администратора содержит верхнюю панель управления с кнопками "Обновить", "Добавить", "Изменить", "Удалить" и "Выход", а также основную область для отображения данных в табличном виде с поддержкой прокрутки и окно с выпадающим списком доступных таблиц, приведенных на рисунке 5.
Рисунок 5. Данные, доступные пользователю «администратор»
Читательский интерфейс предоставляет возможность просмотра каталога книг, добавления изданий в корзину и оформления заказов, и также имеет выпадающий список таблиц, которые доступны ему.
Разработанный интерфейс приложения отличается интуитивной понятностью, что минимизирует время обучения персонала и обеспечивает комфортную работу всех категорий пользователей с автоматизацией процессов.
Информационная система «Библиотека», созданная в рамках данной работы, направлена на повышение качества обслуживания посетителей за счет автоматизации ключевых процессов. В ходе разработки были изучены внутренние процессы выбранной системы, спроектирована структура базы данных, разработаны функциональные модули для пользователей. Тестирование информационной системы показало соответствие заявленным требованиям, корректную обработку данных, а удобство в эксплуатации.
