Модель данных описывает структуру и взаимосвязи данных. Она определяет сущности, атрибуты и отношения. У клиента есть адрес. У заказа есть позиции. Товар относится к категории. Модель — это своего рода план. Она указывает разработчикам, как построить базу данных, и аналитикам, как выполнять запросы к ней. Хорошая модель отражает бизнес. Плохая же создает путаницу, которая сохраняется годами.
Модели бывают разных уровней. Концептуальная модель описывает бизнес-сущности и их взаимосвязи на высоком уровне. Логическая модель добавляет детали: атрибуты, ключи и нормализацию. Физическая модель определяет таблицы, столбцы, индексы и хранилище. Каждый уровень предназначен для разной аудитории. Бизнес-заинтересованные стороны понимают концептуальную модель. Разработчики работают с физической моделью. Процесс моделирования обеспечивает ясность. Что именно представляет собой клиент? Является ли потенциальный клиент клиентом? Что происходит при отмене заказа? На эти вопросы даются ответы во время моделирования, а не во время кризиса. Плохо спроектированные модели вызывают проблемы, которые трудно исправить. Денормализованные таблицы приводят к аномалиям обновления. Отсутствующие ключи приводят к дубликатам. Несогласованное именование приводит к путанице. Изменение модели после загрузки данных обходится дорого. Правильное проектирование с самого начала обходится дешевле, хотя и никогда не бывает простым.
Уровни модели
- Концептуальный аспект — бизнес-субъекты и взаимоотношения.
- Логический — атрибуты, ключи и нормализация
- Физические данные — таблицы, столбцы, индексы и хранилище.
- Многомерные — звездообразные и снежинковые схемы для аналитики
Модель данных — это контракт. Он определяет, что означают данные и как они связаны между собой. Нарушение контракта приведет к поломке всего, что на нем построено.
Comments
No comments yet. Be the first to share a thought.
Leave a comment