Основы моделирования данных
При разработке системы баз данных необходимо сделать все возможное для того, чтобы она была максимально эффективна и позволяла получать ценные данные в кратчайшие сроки. Построение модели данных – залог успеха в данном случае. С ее помощью можно спланировать хранение данных и доступ к ним еще до создания самой системы.
Моделирование данных — это создание визуального представления обо всей информационной системе либо ее части. Цель в том, чтобы проиллюстрировать типы данных, которые используются и хранятся в системе, отношения между этими типами данных, способы группировки и организации данных, их форматы и атрибуты.
Важность моделирования данных
Модели данных строятся на основе бизнес-потребностей. Требования к модели данных определяются заранее на основе пожеланий руководителей организации.
Данные можно моделировать на различных уровнях абстракции. Процесс моделирования начинается со сбора бизнес-требований, которые затем преобразуются в структуры данных. Модель данных можно сравнить с дорожной картой или любой схемой, которая способствует более глубокому пониманию того, что именно разрабатывается.
Моделирование данных использует стандартизированные схемы и формальные методы, что обеспечивает последовательный способ управления данными в организации и за ее пределами.
В идеале модели данных — это «живые» документы, которые развиваются вместе с бизнесом. Они играют важнейшую роль в организации бизнес-процессов, ими можно и нужно делиться с поставщиками, партнерами и коллегами.
Типы моделей данных:
- Концептуальные модели данных;
- Логические модели данных;
- Физические модели данных
Поговорим о них подробнее.
Концептуальные модели данных
Данные модели состоят из абстракции элементов данных или сущностей высокого уровня. Они могут быть созданы на основе понимания бизнес-процесса, который Вы хотите смоделировать. Концептуальные модели обычно создаются как часть процесса сбора исходных требований к проекту.
Сущности – это реально существующие вещи или люди - автомобили, рестораны, продукты, клиенты и т.д.
Процесс, в котором сущности взаимодействуют друг с другом – это отношения между ними - клиенты размещают заказы, люди покупают еду и т. д.
Концептуальная модель данных – это основа логической модели данных.
Аргументы за:
- ER-диаграмма представляет структуру базы данных в удобном для использования виде;
- Очень легко донести информацию о потребностях бизнеса до пользователей, не обладающих глубокими техническими знаниями.
Аргументы против:
- Вполне возможно, что по мере роста компании модель данных перестанет быть актуальной;
- Вполне возможно, что концептуальная модель данных не сможет полностью отобразить желаемый результат.
На рисунке ниже показана концептуальная модель данных для сайта интернет-магазина, на котором клиент размещает один или несколько заказов, каждый из которых может включать в себя один или несколько товаров.
Логические модели данных
Логические модели данных создаются на основе концептуальных моделей и предоставляют более подробную информацию о концепциях и взаимосвязях в рассматриваемой области. Они содержат атрибуты данных и показывают отношения между сущностями. Логические модели данных не определяют никаких технических требований к разрабатываемой системе.
Аргументы за:
- Логическая модель содержит больше информации, чем концептуальная модель, например, сущности, атрибуты, отношения и ограничения, поэтому в ней содержится больше бизнес-информации и более подробное описание процессов;
Аргументы против:
- Далеко не все люди могут правильно интерпретировать представленные им логические модели, поскольку это требует глубокого понимания бизнес-процессов;
- Вполне возможно, что высокоструктурированная модель данных не сможет адаптироваться к постоянно изменяющимся потребностям бизнеса.
На рисунке ниже представлены три таблицы сущностей: Customers, Orders и Products с соответствующими первичными и внешними ключами. В данном случае таблица клиентов связана с таблицей заказов через внешний ключ 'CustomerID', а таблица заказов связана с таблицей продуктов через внешний ключ 'ProductID'.
Физические модели данных
Физическая модель данных используется для создания внутренней SQL-схемы базы данных, которая реализуется в системе управления базами данных. Физическая модель данных должна содержать такие характеристики, как типы данных, ограничения и атрибуты.
Данные модели данных представляют собой схему того, как данные будут храниться в базе данных. Они менее абстрактны, чем другие типы моделей данных. В данном случае вопрос "ЧТО" моделировать превращается в вопрос "КАК" моделировать данные.
На рисунке ниже каждая сущность описана различными типами данных и имеет соответствующие ограничения. Ограничение NOT NULL для каждого столбца в таблице клиентов гарантирует, что каждый из них содержит какие-либо данные. Первичные ключи означают, что каждая строка этой таблицы будет явно определена.
Теперь давайте поговорим о различных видах моделей данных.
- Реляционная модель данных
Достаточно популярная и широко используемая модель данных. Она представляет базу данных как набор отношений. Каждое отношение представлено в виде таблицы, которая хранит информацию в виде строк и столбцов. Ключевое преимущество этой модели заключается в том, что она гораздо проще в использовании, чем другие модели. Вы можете быстро найти данные и получить к ним доступ. Но в сложных реляционных системах баз данных отношения между данными в этой модели могут быть слишком сложными для понимания;
- ER- диаграмма
Эта модель похожа на реляционную модель данных. Ключевое отличие заключается в том, что Вы можете представить каждую таблицу как отдельную сущность, присвоив ей свой набор атрибутов. Модель также охватывает множество различных типов отношений между сущностями, таких как отношения "один-к-одному", "один-ко-многим" и "многие-ко-многим".
- Иерархическая модель данных
Данная модель представляет отношения «один ко многим» в древовидном формате. В модели этого типа каждая запись имеет единственный корень или родительский элемент, который сопоставляется с одной или несколькими дочерними таблицами. Основным недостатком является то, что данная модель может использоваться только для записи отношений между узлами "один-ко-многим". Каждый дочерний узел может иметь только один родительский узел.
- Объектно-ориентированная модель данных
Эта модель основана на объектно-ориентированной концепции. В ней каждый объект преобразуется в класс, который определяет характеристики и поведение объекта. Ключевым преимуществом этой модели является то, что Вы можете определять различные типы ассоциаций между объектами, такие как агрегация, композиция и наследование. Это делает объектно-ориентированные базы данных подходящими для сложных проектов, требующих объектно-ориентированного подхода.
- Размерная модель данных
Эта модель основана на двух ключевых концепциях - измерениях и фактах. Факты - это измерения, полученные в результате какого-либо процесса. Например, факты о продажах, полученные из данных о бизнесе электронной коммерции. Размеры определяют контекст этих измерений, например, конкретный период продаж. Ключевое преимущество этой модели заключается в том, что она оптимизирует базу данных для более быстрого поиска данных и реструктурирует данные, что позволяет проводить аналитические операции более эффективно.
Сегодня существует множество различных способов построения моделей данных с использованием как традиционных, так и более современных инструментов моделирования данных. Все зависит от самой организации, стоимости продукта, способа взаимодействия с руководством компании, а также от многих других факторов.
Наиболее распространенные инструменты: MySQL Workbench, ER/Studio, Archi и т.д.







