В данной статье производится проектирование и реализация базы данных для анализа и формирования расписания в учебных заведениях. Создается логическая и физическая модели базы данных.
Ключевые слова: база данных, проектирование, физическая модель, ErWin Data Modeler, формирование расписания
Формирование расписания в высшем учебном заведении — сложный процесс, который происходит в течение всего учебного года. Формированием занимаются сотрудники учебно-методического отдела и работники кафедр. В данном процессе необходимо учитывать множество факторов: нагрузку на преподавателя, соответствие аудитории/оборудования, наличие накладок и другие проблемы, требующие дополнительных трудозатрат на их нахождение.
Создание информационной системы для отображения расписания позволит сократить трудозатраты на поиск необходимой информации о предметах, аудиториях, преподавателях в расписании студентами.
В результате анализа предметной области были выявлены необходимые сущности и была создана модель базы данных в среде ErWin Data Modeler по выбранной теме. Логическая модель базы данных представлена на рисунке 1. На основе логической модели была построена физическая модель для системы управления базами данных MySQL. Каждому полю в каждой таблице был дан тип данных. Результат представлен на рисунке 2.
Основными сущностями являются занятие, преподаватель, предмет, должность, кафедра, кампус, аудитория, оборудование, расписание, пользователь, роль, возможность, интервал, специальности, группа, кафедра группы, кампус группы.
После создания физической и логической модели в среде ErWin Data Modeler была произведена генерация SQL скрипта для создания базы данных в соответствии с физической моделью. Результат запуска созданного скрипта представлен на рисунке 3.
Рис. 1. Логическая модель базы данных
Рис. 2. Физическая модель базы данных
Рис. 3. Отображение сгенерированной базы данных
После проведения проверки работоспособности базы данных, было разработано мобильное приложение для операционной системы Android, база данных будет расположена на удаленном сервере в сервисе Heroku. И мобильное приложение, и сервер были написаны на языке программирования Kotlin. Он является нативным для Android-разработки, а также полностью совместим с Java-библиотеками. Сервер был написан с применением фреймворка Spring Boot, мобильное приложение с помощью комплекта для разработки программного обеспечения Android SDK.
При включении приложения пользователю показывается экран, где он может выбрать группу. Данные сохраняются в локальной памяти телефона.Далее пользователь переходит на экран с расписанием. Если занятия есть, то они отображаются, показывая название предмета, преподавателя, тип пары, аудиторию и время пары. Если пар нет, то отображается соответствующее сообщение (рисунок 4).
Рис. 4. Фрагмент с отображением занятий
В третьем фрагменте (рисунок 5) пользователь может найти преподавателей, их электронную почту, а также предметы, которые они ведут. В поисковой строке пользователь может набрать часть фамилии или инициалы, а система предложит подходящих преподавателей. При нажатии на преподавателя открывается страница с его расписанием, в правом верхнем углу при просмотре расписания можно сменить тип недели (четная/нечетная).
Рис. 5. Фрагмент с поиском преподавателей и занятий
В результате данной работы были созданы логические и физические модели баз данных для хранения расписания с учетом всех учебных групп, преподавателей и корпусов. Полученные результаты можно применить в дальнейшем для разработки системы для создания и анализа расписания как в высших учебных заведениях, так и средних специальных.
Литература:
1 MySQL Документация. — Текст: электронный // MySQL: [сайт]. — URL: https://dev.mysql.com/doc/refman/8.0/en/ (дата обращения: 23.01.2022).
2 Kotlin docs. — Текст: электронный // Kotlin: [сайт]. — URL: https://kotlinlang.org/docs/home.html (дата обращения: 23.01.2022).
3 Spring Framework Documentation. — Текст: электронный // Spring Framework: [сайт]. — URL: https://docs.spring.io/spring-framework/docs/current/reference/html/ (дата обращения: 23.01.2022).
4 Documentation. — Текст: электронный // Android Developers: [сайт]. — URL: https://developer.android.com/docs (дата обращения: 23.01.2022).