ERD моделирование данных: за 9 минут

Что такое модель данных?

Модель данных — концептуальное представление, выражающее и передающее бизнес-требования. Она наглядно демонстрирует структуру данных и бизнес-правила, управляющие ими. По сути, это план организации данных в базе данных.

Ключевые термины

  • Сущности: Объекты в бизнес-среде, данные о которых хранятся (например, продукты, клиенты, заказы). В базе данных представлены таблицами.
  • Атрибуты: Структурируют данные внутри сущностей. Например, для сущности «Продукт» — отпускная цена и доступное количество. В базе данных соответствуют столбцам таблиц.
  • Взаимосвязи: Описывают связи между сущностями. Могут быть «один к одному», «многие к одному» или «многие ко многим».
  • Сущность пересечения: Используется для декомпозиции связи «многие ко многим» на связи «многие к одному» или «один ко многим». Например, для сущностей «Телешоу» и «Человек» (связь «многие ко многим») вводится сущность «Просмотр», связывающая их по типу «многие к одному» и «один ко многим».
  • ERD (Entity-Relationship Diagram) — диаграмма «сущность-связь»: Показывает сущности и связи между ними. Бывает концептуальной, логической или физической.

Типы моделей данных

  • Концептуальная: Включает основные сущности и связи, без подробных сведений об атрибутах. Используется на начальном этапе.
  • Логическая: Расширение концептуальной модели. Включает сущности, атрибуты, ключи и взаимосвязи, представляющие бизнес-информацию и определяющие бизнес-правила.
  • Физическая: Включает все необходимые таблицы, столбцы, связи и свойства базы данных для физической реализации. Учитывает производительность, стратегии индексации и физическое хранилище. Нормализация — важный аспект.

Этапы моделирования данных

  1. Сбор бизнес-требований: Определение задач и целей.
  2. Идентификация сущностей: Выявление объектов, данные о которых нужно хранить.
  3. Создание концептуальной и логической моделей: Разработка структуры данных, включая сущности, атрибуты и связи.
  4. Создание физической модели: Определение структуры базы данных, типов данных, ключей и т.д.
  5. Создание базы данных: Реализация модели.

Реляционные и размерные модели данных

Выбор модели зависит от бизнес-требований.

  • Реляционная: Направлена на устранение избыточности данных. Данные делятся на множество дискретных сущностей (таблиц), обычно нормализованных до третьей нормальной формы. Используется в OLTP (Online Transaction Processing) приложениях.
  • Размерная: Не нормализована для повышения производительности. Данные разделены на измерения и факты, упорядочены для удобства извлечения информации и создания отчетов.

Пример: продуктовая сеть

Рассмотрим продуктовую сеть с 200 магазинами в 8 городах. Для анализа операций требуется модель данных, позволяющая анализировать продажи товаров в разрезе магазинов, дней и акционных условий. Целесообразна размерная модель.

Шаг 1: Сбор бизнес-требований.
Шаг 2: Идентификация сущностей (дата, продукт, магазин, продвижение).
Шаг 3: Построение концептуальной модели.
Шаг 4: Доработка атрибутов и создание логической модели. Добавление атрибутов к сущностям и к таблице фактов (например, объем продаж, сумма продаж, прибыль).
Шаг 5: Создание физической модели. Определение типов данных, ключей и других параметров для физической реализации в базе данных.

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

Что будем искать? Например,программа