Курсовая работа на тему "Проектирование базы данных для контроля сессионной успеваемости студентов ВУЗа"
7
В данной работе в качестве СУБД используется postgresql, а для использования в интерфейсе Django.
Демо работы
Описание работы
МИНОБРНАУКИ РОССИИФедеральное государственное бюджетное образовательное учреждение
высшего образования
«Университет»
Факультет
КУРСОВОЙ ПРОЕКТ
Проектирование базы данных для контроля сессионной успеваемости студентов ВУЗа
по дисциплине Проектирование и разработка БД
Выполнил(а):
Студент 3 курса очной
формы обучения
по направлению
ФИО
Научный руководитель:
преподаватель
ФИО
Работа допущена к защите:
Научный руководитель¬¬¬¬¬¬¬¬¬¬¬¬¬¬
подпись
« число » месяц 2024г.
Город – 2024
¬Оглавление
Введение 3
1 Обзор и анализ существующих вариантов 4
1.1 ***. 4
1.2 *** 8
2 Проектирование базы данных 11
2.1 *** 11
2.2 Концептуальное проектирование базы данных 12
2.3 ***. 17
2.4 ***. 19
3 Программная реализация бд и приложения 20
3.1 Развертывание проекта. 20
3.2 ***. 21
3.3 ***. 24
3.4 ***. 31
ЗАКЛЮЧЕНИЕ 35
Список источников 36
Введение
В современном мире базы данных применяются практически везде - в интернет магазинах, предприятиях, учебных и медицинских учреждениях. В связи с этим возникает нужда в создании специальных систем, которые ответственны за управление базами данных.
Язык SQL широко применяется в работе с базами данных. Значительная сфера IT-сферы так или иначе связана с ним. Несмотря на свою кажущуюся простоту, язык SQL предоставляет огромные возможности для работы с базами данных.
В ходе работы будет проведена систематизация и углубление теоретических знаний о базах данных и методах работы с ними. Помимо этого, курсовая работа позволит практически применить методы проектирования информационных систем, освоить выбранную СУБД и выработать навыки работы с базой данных.
Для выполнения курсовой работы была выбрана СУБД PostgreSQL – одна из самых популярных реляционных СУБД. А для системы администрирования выбран фреймворк Django с CRM системой wagtail для простоты и удобства использования.
Проанализировав предметную область, можно сказать, что проектирование и разработка базы данных для сессионной успеваемости довольно актуальна и нужна многим университетам, особенно в Дагестане. Целью разработки является создание единой системы учета оценок. Эти цели могут быть достигнуты за счет хорошо спроектированной базы данных и удобном приложении для взаимодействия с ней. Цель создания приложения для отслеживания успеваемости студентов "Дагестанского Государственного Университета" заключается в повышении прозрачности всей системы и быстродоступности к данным.
2.1 Концептуальное проектирование базы данных
Цель концептуального проектирования – создание модели, отражающей основные сущности предметной области, их атрибуты и связи между сущностями. Т.е. необходимо подробно исследовать и проанализировать предметную область и выразить ее понятия в виде сущностей, атрибутов и связей. В качестве способа представления модели будущей бд, мы будем использовать сайт diagrams.net.
diagrams.net - это кроссплатформенное программное обеспечение для рисования графиков, разработанное на HTML5 и JavaScript. Его интерфейс можно использовать для создания таких диаграмм, как блок-схемы, каркасы, диаграммы UML, организационные диаграммы и сетевые диаграммы [16].
Для удобства визуализируем сущности в виде диаграмм (см. рис. 1).
Тут будет картинка в купленной работе
Рис 1
Проанализировав диаграммы, решено не перегружать сущности излишними полями и соединять все через связи “один ко многим”.
Например, создана отдельная сущность “direction”, чтобы при создании пользователя каждый раз не писать факультет и направление.
Теперь необходимо конкретизировать требования к нашей базе, построить более подробные отношения между сущностями, определить ограничения.
Каждая сущность отражает отдельную таблицу бд, для начала, определим то, как будут создаваться связи между ними.
Для удобства извлечения информации и для создания связей между сущностями (таблицами) мы добавим к нашим таблицам поля-идентификаторы.
Рассмотрим сущность «Grade» (оценка). У нее есть поля «student_id» и «date_exam_id» эти поля должны связываться с соответствующими сущностями. Для этого полям присвоен уникальный идентификатор (id), который свяжет нас с соответствующим объектом будущих таблиц. Также нужно определить тип связи для каждого отношения. Для поля «студенты» выберем связь «один-ко-многим» (OneToMany), так как у студента может быть только одна оценка за экзамен, а у экзамена множество студентов, которые получат оценку. Поле «student» будет иметь связь «один-ко-многим», так как эта оценка должна быть привязана только к одному конкретному студенту, у других студентов будет своя оценка.
Также аналогично с «Grade» определим связи для других сущностей: «Student», «Direction»; «Subject» и «DateExam», и отразим их в логической модели. В ней будут отражены связи между будущими таблицами, а также определим и отразим типы всех полей и ограничения.
Начнем с таблицы студентов ( student ) (см. рис. 2).
Тут будет картинка в купленной работе
Рис. 2 Диаграмма таблицы студент
Полю record_number присвоим тип integer, так как оно будет хранить только целые числа, также мы добавим ему свойство «первичный ключ», что наложит на это поле ограничение на уникальность и позволит заполнять поле автоматически. Полю «semester» присвоен тип smalllint, потому что он будет хранить небольшие целые числа, которые обозначают номер семестра. Также добавим ограничение NOT NULL, чтобы гарантировать, что это поле всегда будет заполнено.
По аналогии создаются модели для других таблиц:
Тут будет картинка в купленной работе
Рис. 3 Диаграмма таблицы направлений
Тут будет картинка в купленной работе
Рис. 4 Диаграмма таблицы предметы
Тут будет картинка в купленной работе
Рис. 5 Диаграмма таблицы с датами экзаменов
Тут будет картинка в купленной работе
Рис. 6 Диаграмма таблицы с оценками студентов
А также отразим связи, которые мы определили ранее (см.рис.7).
Тут будет картинка в купленной работе
Рис. 7 Связи между диаграммами
Продолжение в полной версии работы…
Список источников
1. Глушаков, С.В. Базы данных / С.В. Глушаков, Д.В. Ломотько. – М.: Харьков: Фолио, 2017. – 504 c.
2. Голицына, Базы данных / Голицына, О.Л. и. ¬¬¬¬¬¬¬¬¬– М.: Форум; Инфра–М, 2015. – 399 c.
3. Грэй, П. Логика, алгебра и базы данных / П. Грэй. – М.: Машиностроение, 2017. – 368 c.
4. Дейт, К.Дж. Введение в системы баз данных / К.Дж. Дейт. – К.: Диалектика; Издание 6–е, 2015. – 784 c.
5. Елинова, Г.Г. Информационные технологии в профессиональной деятельности: Краткий курс лекций. Оренбург: ГОУ ОГУ, 2014. – 144 с.
6. Жданов, С. А. Информационные системы. Учебник / С.А. Жданов, М.Л. Соболева, А.С. Алфимова. – М.: Прометей, 2015. – 302 c.
7. Илюшечкин, В.М. Основы использования и проектирования баз данных. Учебник для СПО / В.М. Илюшечкин. – Москва: РГГУ, 2016. – 213 c.
8. Каратыгин, С. Базы данных / С. Каратыгин, А. Тихонов, В. Долголаптев. – М.: ABF, 2016. – 352 c.
9. Карпова, Т.С. Базы данных. Модели, разработка, реализация / Т.С. Карпова. – М.: СПб: Питер, 2016. – 304 c.
10. Козырев, Ю.Г. Промышленные роботы. Основные типы и технические характеристики. Учебное пособие / Ю.Г. Козырев. – Москва: Высшая школа, 2016. – 356 c.
11. Коннолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика / Т. Коннолли. – М.: Вильямс И.Д., 2017. – 1440 c.
12. Кумскова, И. А. Базы данных. Учебник / И. А. Кумскова. – М.: КноРус, 2015. – 745 c.
13. Лукин, В.Н. Введение в проектирование баз данных / В.Н. Лукин. – М.: Вузовская книга, 2015. – 144 c.
14. Малыхина, М. Базы данных: основы, проектирование, использование / . Малыхина. – М.: БХВ–Петербург, 2016. – 512 c.
15. Мартишин, С.А. Проектирование и реализация баз данных в СУБД MySQL с использованием MySQL Workbench: Методы и средства проектирования информационных систем и технолог / С.А. Мартишин, В.Л. Симонов, М.В. Храпченко. – М.: Форум, 2017. – 62 c.
16. https://en.wikipedia.org/wiki/Diagrams.net
17. https://django.fun/qa/175869/
18. https://metanit.com/python/django/5.6.php#:~:text=Второй%20параметр%20%2D%20on_delete%20задает%20опцию,связанная%20строка%20из%20главной%20таблицы
Похожие работы
НЕ НАШЛИ, ЧТО ИСКАЛИ? МОЖЕМ ПОМОЧЬ.
СТАТЬ ЗАКАЗЧИКОМ