sql-image

Введение

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

Существует три уровня моделирования данных:

  • Концептуальный -► концептуальная модель
  • Логический -► логическая модель
  • Физический -► физическая модель

Концептуальный уровень моделирования

На концептуальном уровне моделирования мы определяем основные понятия предметной области и их взаимосвязь. Иногда также используют термин “построение онтологиии предметной области”.

Базовый элемент концептуальной модели: бизнес-сущность или бизнес-объект.

Примеры бизнес-сущностей:

  • клиент (как вариант, клиент-ФЛ, клиент-ЮЛ),
  • продукт (как вариант, товар, услуга),
  • сделка (как вариант, заказ),
  • контракт.

Концептуальная модель, как правило, представлена в документах класса ГЛОССАРИЙ (примечание: это может быть как местная wiki, так и разрозненные главы типа “Глоссарий” в различных документах компании).

Схематически (графически) наиболее удобным способом отображение концептуальной модели является диаграмма типа “диаграмма классов”.  Связи между бизнес-сущностями полезно «окрашивать» действиями из предметной области, например, клиент заключает сделку, заказ состоит из товаров. Наилучшая нотация для концептуального уровня – подборка элементов из слоя Business и Motivation методологии Archimate. В данной нотации рекомендуется использоваться объект Meaning,  а также бизнес-сущности могут быть привязаны к ряду других элементов (например, value или capability), что улучшает их окрашивание или лучше структурирует (делает более наглядной) моделируемую предметную область.

Фокус моделирования:

  • понятийная/смысловая модель, выработка глоссария
  • разработка онтологии домена (онтики)
  • создание/проработка представления о понятии/явлении, как об информационном объекте
  • выделение ключевых атрибутов, характеризующих ту или иную бизнес-сущность

Сложные концептуальные модели, содержащие десятки бизнес-сущностей, разбиваются на домены. Домен – группировка «родственных» сущностей, образующих модель отдельного фрагмента моделируемой предметной области. Иногда концептуальная модель становится существенной частью логической модели. Это бывает в следующих случаях:

  • при создании BI-систем
  • при создании модели данных интеграционной платформы.

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

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

Логический уровень моделирования

Логическая модель является уточнением и детализацией концептуальной модели. Но это лишь, с одной стороны.  На построение логической модели также влияет:

  • тип планируемой СУБД, которая будет воплощать модель
  • класс проектируемой системы: операционная (транзакционная) или аналитическая (BI)
  • исторически сложившияся трактовка предметной области вендором системы

Логический уровень моделирования – это уровень логики организации данных, то есть какие данные и как сгруппированы и связаны друг с другом.

Концептуальный уровень больше заботится о смысловых связях, логический – о реальных связях между объектами системы (ссылки объектов друг на друга, отношения объектов).

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

Базовый элемент логической модели: сущность (в ООП – класс).

Для проектирования реляционных баз данных используется нотация ERD. Рамками этой нотации фактически и задаётся логический уровень моделирования. Однако для систем, имеющих на верхнем уровне объектную модель, логический уровень описывается диаграммной классов (из нотации UML). Детализирующие (вспомогательные) и часто используемые диаграммы логического уровня моделирования – это диаграммы состояний.

Примеры сущностей (классов):

  • клиент -► party + customer + customer_profile + person
  • продукт -► продукт + предложение продукта + price plan
  • заказ -► order, order_item

Фокус моделирования:

  • выделение элементарных сущностей, элементарных логических единиц (классов), имеющих самостоятельный смысл в моделируемой предметной области.
  • детальное (точное) уточнение (установка) взаимосвязей между сущностями
  • перечисление всех (!) значимых для бизнеса атрибутов сущности
  • Разделение атрибутов на простые атрибуты и перечисления (будущие справочники)
  • выделение сущностей не столько как контейнеров для атрибутов, сколько как объектов поведения

Немаловажное влияние на сущности логического уровня и их взаимосвязи оказывает тип проектируемой системы.

Если проектируемая система относится к BI-классу, то следует понимать назначение BI-системы, ожидаемые от нее витрины, срезы, аналитики, метод моделирования времени (динамики изменения данных) и т.п.

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

Распределение сущностей по различным информационным системам даёт возможность грубо наметить (спрогнозировать) будущие информационные потоки (и точки интеграции) между системами.

Физический уровень моделирования

Физический уровень – это уровень таблиц для реляционных моделей данных.

Базовый элемент физической модели: таблица.

Примеры таблиц:

  • клиент   -► table_1
  • продукт -► table_2
  • сделка -► table_3

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

Фокус моделирования:

  • Выделение отдельных таблиц, в том числе как результат нормализации данных.
  • Выделение таблиц-справочников.
  • Определение ключей.
  • Разделение атрибутов на простые атрибуты и перечисления (будущие справочники)

В простейших случаях логические объекты (сущности) совпадают с объектами физического уровня. Это характерно для самых простых баз данных реляционного типа.

Физический уровень – это уровень таблиц для реляционных моделей данных.

Базовый элемент физической модели: таблица.

Примеры таблиц:

  • клиент   -► table_1
  • продукт -► table_2
  • сделка -► table_3

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

Фокус моделирования:

  • Выделение отдельных таблиц, в том числе как результат нормализации данных.
  • Выделение таблиц-справочников.
  • Определение ключей.
  • Разделение атрибутов на простые атрибуты и перечисления (будущие справочники)

В простейших случаях логические объекты (сущности) совпадают с объектами физического уровня. Это характерно для самых простых баз данных реляционного типа.

От bulatik

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *