Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПР / Хакова Ю. М. Отчет ПР2.docx
Скачиваний:
0
Добавлен:
07.06.2026
Размер:
478.6 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет Информационных технологий и программной инженерии

Кафедра Систем обработки данных

Направление: 09.03.02 Информационные системы и технологии

Профиль: Прикладные информационные системы и технологии

Практическое задание №2

«Разработка базы данных для информационной системы (ИС) использующей веб-технологии»

по дисциплине

«ВТиЗИ»

Выполнил:

студент группы ИСТ-223

Хакова Ю. М. «____» _________ 2025 г.

Принял:

ассистент кафедры СОД

Коровкина Е.В. «____» _________ 2025 г.

СОДЕРЖАНИЕ

Y

1 ПОСТАНОВКА ЗАДАЧИ 3

2 ВЫБОР МЕТОДОВ И ТЕХНОЛОГИЙ 3

3 РАЗРАБОТКА БД 5

4 ЗАКЛЮЧЕНИЕ 10

1 Постановка задачи

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

  • система регистрации и авторизации пользователей с возможностью восстановления пароля;

  • хранение информации о пользователях, их прогрессе и активности;

  • предоставление доступа к образовательным материалам (курсам, урокам, упражнениям);

  • отслеживание прогресса обучения и результатов тестов;

  • интеграция с форумом для общения пользователей;

  • поддержка мультимедийных материалов (аудио, видео, изображения);

  • возможность оставлять комментарии и участвовать в обсуждениях;

  • система обратной связи между пользователями, модераторами и администраторами;

  • администрирование пользователей и управление их правами доступа;

  • обеспечение технической поддержки и контроля работоспособности системы.

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

2 Выбор методов и технологий

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

  • данные о пользователях, курсах, уроках и прогрессе обучения;

  • данные форума для обсуждения тем между студентами и преподавателями;

  • обращения и отзывы пользователей через систему обратной связи;

  • учётная запись администратора и владельца системы.

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

Для обоснования выбора СУБД можно обратиться к существующим рейтингам. Согласно международному рейтингу DB-Engines (Рисунок 1), PostgreSQL занимает 4 место среди всех систем управления базами данных, что подтверждает её востребованность в промышленности.

Для управления базой данных и её содержимым в процессе проектирования использовалась программа pgAdmin — официальный инструмент для администрирования PostgreSQL через графический веб-интерфейс. Она предоставляет удобные визуальные средства для создания таблиц, настройки связей между ними и выполнения SQL-запросов.

Рисунок 1 – Международный рейтинг DB-Engines

3 Разработка бд

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

Таблица 1 – Таблицы БД

Таблица

Назначение

users

Информация о пользователях платформы

courses

Сведения об образовательных курсах

lessons

Материалы и мультимедиа-уроки

progress

Данные о прохождении курсов

forum_topics

Темы обсуждений на форуме

forum_massages

Сообщения пользователей форума

feedback

Обратная связь пользователей

owner

Данные владельца системы

Таблица 2 – Поля таблицы users

Название поля

Тип данных

Дополнительные параметры

Назначение

user_id

INT

PRIMARY KEY

Уникальный идентификатор

fullname

VARCHAR(100)

NOT NULL

Имя пользователя

email

VARCHAR(100)

UNIQUE

Электронная почта

login

VARCHAR(50)

UNIQUE

Логин

password

TEXT

NOT NULL

Хэшированный пароль

role

VARCHAR(20)

DEFAULT ‘user’

Роль пользователя

reg_date

TIMESTAMP

DEFAULT now()

Дата регистрации

last_login

TIMESTAMP

NULL

Последний вход

Таблица 3 – Поля таблицы courses

Название поля

Тип данных

Дополнительные параметры

Назначение

course_id

INT

PRIMARY KEY

Уникальный идентификатор курса

title

VARCHAR(150)

NOT NULL

Название курса

description

TEXT

Описание курса

level

VARCHAR(50)

Уровень сложности

author

VARCHAR(100)

Автор курса

Таблица 4 – Поля таблицы lessons

Название поля

Тип данных

Дополнительные параметры

Назначение

lesson_id

INT

PRIMARY KEY

Уникальный идентификатор урока

course_id

INT

FOREIGN KEY (course_id) REFERENCES courses(course_id)

Ссылка на курс

title

VARCHAR(150)

NOT NULL

Название урока

content

TEXT

Содержимое урока

multimedia

TEXT

Ссылка на медиафайл

Таблица 5 – Поля таблицы progress

Название поля

Тип данных

Дополнительные параметры

Назначение

progress_id

INT

PRIMARY KEY

Уникальный идентификатор

user_id

INT

FOREIGN KEY (user_id) REFERENCES users(user_id)

Ссылка на пользователя

lesson_id

INT

FOREIGN KEY (lesson_id) REFERENCES lessons(lesson_id)

Ссылка на урок

status

VARCHAR(30)

Статус выполнения

score

INT

Баллы

completion_date

TIMESTAMP

Дата завершения

Таблица 6 – Поля таблицы forum_topics

Название поля

Тип данных

Дополнительные параметры

Назначение

topic_id

INT

PRIMARY KEY

Уникальный идентификатор темы

title

VARCHAR(200)

NOT NULL

Заголовок темы

created_by

INT

FOREIGN KEY (user_id) REFERENCES users(user_id)

Автор темы

created_at

TIMESTAMP

DEFAULT now()

Дата создания

Таблица 7 – Поля таблицы forum_massages

Название поля

Тип данных

Дополнительные параметры

Назначение

message_id

INT

PRIMARY KEY

Уникальный идентификатор темы

topic_id

INT

FOREIGN KEY (topic_id) REFERENCES forum_topics(topic_id)

Тема

user_id

INT

FOREIGN KEY (user_id) REFERENCES users(user_id)

Автор

content

TEXT

NOT NULL

Текст сообщения

created_at

TIMESTAMP

DEFAULT now()

Дата публикации

status

VARCHAR(20)

DEFAULT ‘approved’

Статус модерации

Таблица 8 – Поля таблицы feedback

Название поля

Тип данных

Дополнительные параметры

Назначение

feedback_id

INT

PRIMARY KEY

Уникальный идентификатор

user_id

INT

FOREIGN KEY (user_id) REFERENCES users(user_id)

Пользователь

massage

TEXT

NOT NULL

Текст обращения

created_at

TIMESTAMP

DEFAULT now()

Дата обращения

response

TEXT

Ответ администратора

status

VARCHAR(20)

DEFAULT ‘new’

Статус рассмотрения

Таблица 9 – Поля таблицы owner

Название поля

Тип данных

Дополнительные параметры

Назначение

owner_id

INT

PRIMARY KEY

Уникальный идентификатор владельца

login

VARCHAR(50)

UNIQUE

Логин

password

TEXT

NOT NULL

Пароль

Рисунок 2 – ER-диаграмма БД