Справочная модель данных
Справочная модель данных (англ. reference data model) — это стандартизированная, абстрактная структура данных, описывающая набор сущностей, их атрибутов и связей для определённой предметной области. Она служит эталоном (шаблоном) для проектирования конкретных баз данных, информационных систем и интеграционных решений, обеспечивая единообразие, согласованность и интероперабельность данных. В отличие от физической модели данных, справочная модель не зависит от конкретной системы управления базами данных (СУБД) или программной платформы и представляет собой логическое описание.
История
Понятие справочной модели данных возникло в контексте развития корпоративных информационных систем и управления данными в 1980–1990-х годах. С ростом сложности ИТ-инфраструктур и необходимости обмена данными между различными приложениями (например, ERP, CRM, SCM) возникла потребность в унификации их структур. Одним из первых значимых проектов стала разработка справочной модели для финансовой отчётности (XBRL) в конце 1990-х годов. В начале 2000-х годов концепция получила широкое распространение в рамках стандартов ISO (например, ISO 10303 для промышленных данных) и в методологиях управления мастер-данными (MDM). В России справочные модели данных активно применяются при создании государственных информационных систем, таких как Единая государственная информационная система в сфере здравоохранения (ЕГИСЗ) и Единый портал государственных услуг, где требуется унификация данных от множества ведомств.
Классификация
Справочные модели данных классифицируются по нескольким признакам.
По уровню абстракции
- Концептуальные справочные модели — описывают предметную область на самом высоком уровне, определяя ключевые понятия и их взаимосвязи без детализации атрибутов. Пример: модель «Клиент-Заказ-Товар».
- Логические справочные модели — включают полное описание сущностей, их атрибутов (с типами данных) и связей, но без привязки к физической реализации. Пример: модель данных для банковской системы, содержащая сущности «Счёт», «Клиент», «Транзакция».
- Физические справочные модели — адаптированы под конкретную СУБД (например, Oracle, PostgreSQL) и включают индексы, ограничения целостности, триггеры. Однако в строгом смысле термин «справочная модель» чаще относится к логическому уровню.
По предметной области
- Отраслевые справочные модели — разрабатываются для конкретных индустрий: здравоохранение (HL7 FHIR), финансы (FpML, ISO 20022), розничная торговля (ARTS), телекоммуникации (SID от TM Forum).
- Универсальные справочные модели — применимы в разных областях, например, модель для управления мастер-данными (MDM) или модель для описания организационной структуры.
По способу распространения
- Открытые модели — публикуются в открытом доступе (например, ISO 20022, Dublin Core).
- Проприетарные модели — разрабатываются коммерческими компаниями для внутреннего использования или вендорами (например, SAP Reference Data Model).
Структура и компоненты
Справочная модель данных обычно включает следующие элементы:
- Сущности (entities) — объекты реального мира, о которых собираются данные (например, «Сотрудник», «Отдел», «Проект»).
- Атрибуты (attributes) — свойства сущностей (например, для «Сотрудника»: ФИО, дата рождения, должность).
- Связи (relationships) — логические соединения между сущностями (например, «Сотрудник работает в Отделе»). Связи могут быть один-к-одному, один-ко-многим, многие-ко-многим.
- Ключи (keys) — уникальные идентификаторы сущностей (первичные ключи) и внешние ключи для обеспечения ссылочной целостности.
- Ограничения (constraints) — правила, определяющие допустимые значения атрибутов (например, возраст сотрудника не может быть отрицательным).
- Домены (domains) — наборы допустимых значений для атрибутов (например, «Пол»: мужской, женский).
Пример простой справочной модели данных для отдела кадров (HR):
| Сущность | Атрибуты | Связи |
|---|---|---|
| Сотрудник | ID (PK), ФИО, Дата рождения, Должность | Работает в Отделе (FK) |
| Отдел | ID (PK), Название, Руководитель (FK) | Содержит Сотрудников |
| Проект | ID (PK), Название, Бюджет | Участвует Сотрудник (M:N) |
| Участие | Сотрудник_ID (FK), Проект_ID (FK), Роль | Связь многие-ко-многим |
Применение
Справочные модели данных используются в следующих областях:
- Управление мастер-данными (MDM) — обеспечивают единое представление ключевых бизнес-сущностей (клиенты, продукты, поставщики) во всей организации.
- Интеграция систем — служат основой для ETL-процессов, шин данных (ESB) и API-шлюзов, позволяя преобразовывать данные из разных источников в общий формат.
- Разработка корпоративных информационных систем — сокращают время проектирования баз данных и повышают их качество за счёт использования проверенных шаблонов.
- Стандартизация отчётности — в государственных и финансовых структурах (например, бухгалтерская отчётность по РСБУ или МСФО).
- Научные исследования — в биоинформатике (модель данных для геномных последовательностей) и астрономии (модель данных для каталогов звёзд).
Преимущества и недостатки
Преимущества
- Единообразие — устраняет дублирование и противоречия в данных.
- Интероперабельность — облегчает обмен данными между системами.
- Ускорение разработки — готовый шаблон снижает затраты на проектирование.
- Упрощение поддержки — при изменении требований достаточно модифицировать модель, а не каждую систему отдельно.
Недостатки
- Сложность внедрения — требует значительных усилий по согласованию с заинтересованными сторонами.
- Избыточность — для небольших проектов может быть излишне детализированной.
- Зависимость от стандартов — при смене отраслевого стандарта требуется миграция модели.
- Необходимость актуализации — устаревшая модель может стать источником ошибок.
Примеры известных справочных моделей
- ISO 20022 — международный стандарт для финансовых сообщений, включающий справочную модель данных для платежей, ценных бумаг и торгового финансирования.
- HL7 FHIR (Fast Healthcare Interoperability Resources) — открытая справочная модель для обмена медицинскими данными, используемая в ЕГИСЗ.
- Dublin Core — простая справочная модель для описания цифровых ресурсов (автор, название, дата и т.д.).
- SID (Shared Information and Data Model) — модель от TM Forum для телекоммуникационной отрасли.
- ARTS (Association for Retail Technology Standards) — модель для розничной торговли, описывающая товары, цены, продажи и клиентов.
Критика
Критики справочных моделей данных отмечают, что их жёсткость может препятствовать инновациям, особенно в быстро меняющихся областях (например, в стартапах). Кроме того, процесс согласования единой модели в крупной организации часто затягивается из-за разногласий между отделами. Некоторые исследователи указывают, что чрезмерная стандартизация может приводить к потере контекстуальной информации, важной для конкретных бизнес-процессов.
Источники
- ISO 20022:2013 — Financial services — Universal financial industry message scheme.
- HL7 FHIR Release 4 — Health Level Seven International, 2019.
- TM Forum — Shared Information and Data Model (SID), GB922.
- ARTS — Retail Data Model Standard, National Retail Federation.
- Inmon, W. H. (2005). Building the Data Warehouse. Wiley.
- DAMA International (2017). DAMA-DMBOK: Data Management Body of Knowledge. Technics Publications.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →