Перейти к главному контенту

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

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

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

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

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

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

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

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

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

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

Каждая таблица описывает объекты данных и их атрибуты в знакомых для бизнеса терминах. Например, лицо юридического лица содержит в качестве атрибутов full_name и last_name. Для всех объектов назначается первичный ключ (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 Relational Database Service (Amazon RDS) можно использовать для реализации логических реляционных моделей данных, а Amazon Neptune — для реализации моделей данных логических графов.

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

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

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

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