В чем разница между логической моделью данных и физической моделью данных?
Логические и физические модели данных – это два важных этапа в процессе проектирования данных. Моделированием данных называют процесс создания визуального представления или схемы, которая помогает заинтересованным сторонам сформировать единое представление о данных в организации. Процесс начинается с концептуальной модели данных, в которую входят высокоуровневые абстрактные представления сущностей данных, атрибутов и отношений между ними с учетом пожеланий бизнес-пользователей.
Логической моделью данных называют усовершенствованную версию концептуальной модели. В ней схематически представлены ограничения данных, имена сущностей и связи, которые нужно будет реализовать независимо от платформы. Физическая модель данных еще глубже уточняет логическую модель с учетом особенностей реализации на конкретной технологии баз данных. Логические и физические модели данных определяют структуру, организацию и правила обработки данных, которые смогут обеспечить эффективность хранения, извлечения и обработки данных.
Представление логической и физической моделей данных
Как логические, так и физические модели данных – это инструменты для точного отражения бизнес-требований компании в физической базе данных. Они обеспечивают разный уровень технической детализации и применяются на разных этапах проектирования баз данных, позволяя не терять представление о требованиях бизнеса.
Представление логической модели данных
С помощью логической модели данных бизнес-аналитики и архитекторы данных могут визуализировать операционные или транзакционные процессы на диаграмме взаимоотношений между сущностями. Логические модели данных определяют, как работают и взаимодействуют объекты данных, понятным для заинтересованных представителей бизнеса способом. По этой причине они разрабатываются независимо от реальной базы данных, в которой позже будут развернуты данные.
На следующей схеме представлен пример логической модели данных для системы продажи спортивных билетов.
Каждая таблица описывает объекты данных и их атрибуты в знакомых для бизнеса терминах. Например, лицо юридического лица содержит в качестве атрибутов full_name и last_name. Для всех объектов назначается первичный ключ (PK) для идентификации атрибутов в каждой строке. Некоторые объекты содержат внешние ключи (FK), которые описывают их связь с другими объектами в отношениях «один ко многим».
Представление физической модели данных
Физические модели данных предоставляют подробные сведения, на основе которых администраторы и разработчики баз данных воспроизводят бизнес-логику в физической базе данных. Эти модели содержат дополнительные атрибуты, которых не было в логической модели данных, например триггеры, хранимые процедуры и типы данных. Поскольку физические модели данных сопоставляют элементы данных с реальной базой данных, в них должны учитываться специфические ограничения платформы, в том числе соглашения об именовании и зарезервированные слова.
На следующей схеме представлен пример физической модели данных для той же системы продажи спортивных билетов.
В физической модели данных вы указываете типы данных для всех сохраненных объектов данных. Также для нее могут изменяться имена сущностей и атрибутов, чтобы они соответствовали поддерживаемым платформой форматам.
Процесс проектирования логической и физической моделей данных
Проектирование как логических, так и физических моделей данных состоит из шагов, обеспечивающих плавный переход от описания бизнес-требований к практическим аспектам реализации баз данных. Логическая модель данных является расширением концептуальной модели данных для конкретного бизнес-процесса. Физическая модель данных дополнительно расширяет логическую модель данных с уточнениями, необходимыми для проектирования баз данных.
Создание логической модели данных
Для построения логической модели данных нужно выполнить следующее:
- найдите все необходимые объекты и определите их атрибуты;
- выберите подходящие первичные ключи (PK) в качестве уникальных идентификаторов для групп атрибутов;
- нормализуйте и денормализуйте модель данных в соответствии с эксплуатационными требованиями;
- определите отношения между бизнес-объектами в модели данных;
- проверьте, точно ли объекты данных и их взаимосвязи отражают требуемую бизнес-логику.
Вам нужно определить отношения между отдельными объектами. Некоторые из них связаны друг с другом напрямую, а другие – через промежуточную сущность. Обычно этот процесс проходит при консультациях с заинтересованными сторонами, чтобы их точка зрения была правильно учтена при сопоставлении сущностей данных с бизнес-требованиями. Кроме того, некоторые объекты можно дублировать, а другие стратегически ограничить строго одним экземпляром, чтобы повысить эффективность запросов и снизить требования к пространству для хранения.
Создание физической модели данных
Для разработки физической модели данных выполните следующее:
- преобразуйте локальную модель данных в соответствии с платформой выбранного поставщика баз данных;
- сопоставьте объекты данных с таблицами;
- определите и создайте первичные (PK) и внешние (FK) ключи в таблицах базы данных по мере необходимости;
- убедитесь, что структура базы данных правильно нормализована, чтобы избежать избыточного дублирования данных и улучшить их целостность;
- добавьте необходимые ограничения, правила, разделы и программные функции базы данных, которые упростят разработку приложений;
- сравните физическую модель данных и логическую модель данных и убедитесь, что все бизнес-требования правильно преобразованы.
В некоторых случаях одна сущность разделяется на несколько таблиц. Каждая таблица содержит несколько столбцов, в которых хранится информация, определенная атрибутами логической модели данных. В физической модели данных столбцы имеют разные типы данных (целочисленные, логические, 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, создав аккаунт уже сегодня.