Практическое занятие проектирование бд (добавить пример введения) (перелопатить всю практическую)
Теоретическая часть
Проектирование базы данных начинается с анализа предметной области — это процесс изучения реальной системы или ситуации, данные о которой должны храниться в БД. Главная цель этого этапа — понять, какие данные нужны, как они связаны и какие задачи решает система.
Понимание предметной области
Предметная область — это совокупность объектов и процессов, которые необходимо отразить в базе данных. Например:
- в библиотеке — книги, читатели, авторы, заказы;
- в университете — студенты, преподаватели, дисциплины, оценки;
- в магазине — товары, клиенты, заказы, поставки.
Задача разработчика базы данных — преобразовать реальные объекты в формальные элементы модели данных: сущности, атрибуты и связи.
Источники информации
Чтобы создать точную модель, нужно собрать достоверные сведения о предметной области. Для этого используют разные источники:
- Интервью с пользователями и заказчиками — помогает понять, какие данные им действительно нужны.
- Документы и отчёты — содержат структуру данных, формы и поля, которые уже используются.
- Наблюдение — изучение рабочего процесса «вживую».
- Анализ существующих систем — позволяет выявить сильные и слабые стороны старых решений.
- Нормативные документы — регламенты, инструкции, стандарты, которые определяют требования к учёту.
Результат этого этапа — список всех данных, которые потенциально могут понадобиться для работы системы.
Этапы сбора информации
-
Определение цели системы.
Нужно понять, для чего создаётся база данных и какие задачи она должна решать.
Пример: «База данных библиотеки должна учитывать выдачу книг и отслеживать задолженности читателей».
- Выделение сущностей.
Сущности — это ключевые объекты предметной области.
Пример: Книга, Читатель, Заказ, Автор.
- Определение атрибутов.
Для каждой сущности нужно определить свойства, которые необходимо хранить.
Пример: у сущности «Книга» — Название, Автор, Год издания, ISBN.
- Определение связей между сущностями.
Определите, как объекты связаны между собой.
Пример: Читатель может оформить несколько заказов; один заказ связан с несколькими книгами.
- Выявление бизнес-правил.
Определите ограничения, действующие в системе.
Пример: «Книга может быть выдана только зарегистрированному читателю».
Анализ и структурирование информации
После сбора всех данных необходимо:
- сгруппировать информацию по сущностям;
- исключить дублирующиеся и несущественные данные;
- определить зависимости между объектами;
- выявить возможные иерархии и связи «один ко многим» или «многие ко многим».
На этом этапе часто используют таблицы, схемы и текстовые описания, которые помогут подготовить основу для построения ER-диаграммы.
Практическая часть
Данное практическое задание проводится в несколько этапов и охватывает весь процесс проектирования базы данных — от анализа предметной области до реализации структуры на уровне физической модели.
Этап 1. Сбор и анализ информации (концептуальная модель)
- Определить цели и назначение будущей базы данных.
- Составить список основных сущностей (5–10) и их атрибутов.
- Описать связи между сущностями (1:1, 1:М, М:М).
- Составить словесное описание предметной области.
- Построить ER-диаграмму (концептуальная модель данных).
Этап 2. Разработка логической модели данных
- Преобразовать ER-диаграмму в структуру таблиц.
- Определить первичные и внешние ключи.
- Прописать типы данных для всех атрибутов.
- Проверить модель на наличие избыточности и провести нормализацию (1НФ, 2НФ, 3НФ).
- Составить схему связей таблиц (логическая структура БД).
Этап 3. Построение физической модели данных
- Реализовать созданную логическую модель в СУБД.
- Создать таблицы с типами данных и ограничениями.
- Настроить связи и целостность данных.
- Заполнить тестовыми данными (по 5–10 записей в каждую таблицу).
Варианты предметных областей
Ниже приведён список возможных тематик баз данных.
- Библиотека и выдача книг.
- Магазин товаров и заказы покупателей.
- Учёт студентов, преподавателей и дисциплин.
- Система бронирования отелей.
- Онлайн-магазин электроники.
- Учёт автомобилей и владельцев.
- Система управления персоналом (HR).
- Регистрация пациентов и врачей в поликлинике.
- Учёт учебных курсов и расписания занятий.
- Система аренды фильмов и медиатеки.
- Продажа авиабилетов и управление рейсами.
- Учёт товаров на складе.
- Система аренды автомобилей.
- Регистрация участников конференции.
- Учёт страховых полисов и клиентов.
- Учёт кредитов и банковских клиентов.
- Управление проектами и задачами.
- Учёт заказов в ресторане или кафе.
- Учёт туристических путёвок и клиентов.
- База данных кинотеатра (фильмы, сеансы, билеты).
- Учёт строительных объектов и подрядчиков.
- Учёт учебных достижений студентов (журнал оценок).
- Система выдачи оборудования на предприятии.
- Учёт почтовых отправлений и клиентов.
- Управление складом строительных материалов.
- Учёт пациентов и процедур в стоматологической клинике.
- База данных музыкальной школы.
- Учёт заявок на ремонт техники.
- Система учёта домашних животных и их владельцев.
- Учёт воинских частей, состава и техники (военный округ).
Задание
В ходе выполнения практических занятий разрабатывается единый отчёт, который будет постепенно заполняться по мере изучения этапов проектирования базы данных.
Работа выполняется в три этапа, соответствующих уровням моделей данных:
- Концептуальная модель — анализ предметной области и построение ER-диаграммы.
- Логическая модель — определение таблиц, ключей и связей между ними.
- Физическая модель — реализация структуры базы данных в выбранной СУБД.
Порядок выполнения
- Выбрать предметную область из предложенных вариантов (или согласовать свою).
- Создать раздел «Концептуальная модель» в отчёте и описать:
- кратко предметную область;
- список сущностей (не менее 5);
- атрибуты каждой сущности;
- типы связей между сущностями (1:1, 1:М, М:М);
- ER-диаграмму (вставить изображение).
- После дополнить отчёт разделом «Логическая модель»:
- преобразовать сущности в таблицы;
- указать первичные и внешние ключи;
- описать типы данных и связи между таблицами;
- при необходимости выполнить нормализацию.
- На заключительном этапе добавить раздел «Физическая модель»:
- создать таблицы в СУБД (скриншоты);
- установить связи между таблицами;
- заполнить тестовыми данными (по 3–5 записей);
- проверить работу запросами
SELECT,JOIN,INSERT,DELETE.
- Оформить вывод — сделать краткий анализ проделанной работы и указать, какие принципы нормализации были применены.
Требования к отчёту
- Отчёт выполняется в одном документе (Word, Google Docs, Notion или PDF).
- Каждый этап должен быть чётко выделен заголовком и проверяться поэтапно.
- В отчёт обязательно включаются таблицы, схемы и ER-диаграммы.
- Итоговый отчёт должен отражать все три модели данных и показывать процесс их взаимосвязи.
Пример структуры отчёта
- Титульный лист
- Введение (описание предметной области)
- Концептуальная модель
- Сущности и атрибуты
- Связи
- ER-диаграмма
- Логическая модель
- Таблицы
- Ключи и связи
- Типы данных
- Физическая модель
- SQL-реализация (добавляется после изучения SQL)
- Скриншоты из СУБД
- Примеры запросов (добавляется после изучения SQL)
- Вывод
Отчёт заполняется постепенно, по мере выполнения практических заданий. В конце формируется единый документ — «Проект базы данных».
[Концептуальная модель](%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5%20%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B4%20(%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BF/%D0%9A%D0%BE%D0%BD%D1%86%D0%B5%D0%BF%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F%20%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%2028aa3e4a136b8014b8f9febd964e0c10.md)
[Логическая модель](%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5%20%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B4%20(%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BF/%D0%9B%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%2028aa3e4a136b80da8185e001628f2b0b.md)
[Физическая модель ](%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5%20%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B4%20(%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BF/%D0%A4%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%2028aa3e4a136b80a08bc6fcdf723b09a5.md)