В чем разница между логической моделью данных и физической моделью данных?


В чем разница между логической моделью данных и физической моделью данных?

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

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

Подробнее о моделировании данных

Представление логической и физической моделей данных

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

Представление логической модели данных

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

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

Каждая таблица описывает объекты данных и их атрибуты в знакомых для бизнеса терминах. Например, объект сотрудник содержит атрибуты имя и фамилия. Для всех объектов назначается первичный ключ (PK) для идентификации атрибутов в каждой строке. Некоторые объекты содержат внешние ключи (FK), которые описывают их связь с другими объектами в отношениях «один ко многим». 

Представление физической модели данных

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

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

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

Процесс проектирования логической и физической моделей данных

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

Создание логической модели данных

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

  1. найдите все необходимые объекты и определите их атрибуты;
  2. выберите подходящие первичные ключи (PK) в качестве уникальных идентификаторов для групп атрибутов;
  3. нормализуйте и денормализуйте модель данных в соответствии с эксплуатационными требованиями; 
  4. определите отношения между бизнес-объектами в модели данных;
  5. проверьте, точно ли объекты данных и их взаимосвязи отражают требуемую бизнес-логику. 

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

Создание физической модели данных

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

  1. преобразуйте локальную модель данных в соответствии с платформой выбранного поставщика баз данных; 
  2. сопоставьте объекты данных с таблицами; 
  3. определите и создайте первичные (PK) и внешние (FK) ключи в таблицах базы данных по мере необходимости;
  4. убедитесь, что структура базы данных правильно нормализована, чтобы избежать избыточного дублирования данных и улучшить их целостность; 
  5. добавьте необходимые ограничения, правила, разделы и программные функции базы данных, которые упростят разработку приложений;
  6. сравните физическую модель данных и логическую модель данных и убедитесь, что все бизнес-требования правильно преобразованы. 

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

Ключевые отличия логических и физических моделей данных

Несмотря на то, что логические и физические модели данных являются частью одного процесса моделирования данных, их характеристики заметно различаются. 

Цель

Логические модели данных помогают визуализировать рабочие процессы в технически структурированном виде. Они дают возможность понять взаимосвязи между разными бизнес-системами. 

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

Создатели

Архитекторы данных и бизнес-аналитики обычно создают логические модели данных. Разработчики и администраторы баз данных отвечают за реализацию физических моделей данных. 

Сложность

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

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

Принцип использования

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

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

Подробнее о реляционных базах данных

Краткое описание различий между логической и физической моделями данных

 

Логическая модель данных

Физическая модель данных

Зависимая от платформы база данных

Нет.

Да.

Структура данных 

Объекты, атрибуты, первичные и внешние ключи.

Таблицы баз данных, строки, первичные и внешние ключи, типы данных.

Программные функции

Нет.

Триггеры и хранимые процедуры.

Цель

Визуализация бизнес-логики с помощью структур данных.

Организация структуры данных для проектирования баз данных.

Создатели

Бизнес-аналитики и архитекторы данных.

Разработчики программного обеспечения, программисты и администраторы баз данных.

Сложность

Низкая.

Высокая.

Принцип использования

Для понимания корпоративных систем и бизнес-правил.

Для планирования, внедрения и оптимизации стратегий хранения данных при разработке приложений. 

Как AWS поможет вам с логическими и физическими моделями данных?

Базы данных Amazon Web Services (AWS) предлагают более 15 ядер баз данных для разных требований к моделям данных. Например, вы можете использовать Службу реляционных данных Amazon (Amazon RDS) для реализации реляционных моделей данных или Amazon Neptune для графовых моделей.

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

Ниже перечислены способы для моделирования данных в AWS.

  • С помощью Amazon RDS можно создавать и масштабировать базы данных на основе версии Amazon Aurora, совместимой с MySQL, версии Amazon Aurora, совместимой с PostgreSQL, SQL-сервера или других популярных ядер баз данных.
  • с помощью Neptune можно создавать высокодоступные графовые приложения, способные обрабатывать более 100 000 запросов в секунду;
  • Amplify Datastore предлагает клиентские библиотеки, которые можно легко использовать для запросов получения, обновления, сортировки или фильтрации данных в облаке.

Начните работу с логическими моделями данных и физическими моделями данных на AWS, создав аккаунт прямо сейчас.