Что такое логическая модель данных
Что проверяют
Различаете ли вы уровни проектирования и понимаете ли, что решения о ключах и нормализации принимаются до выбора СУБД. Для инженера данных это ещё и вопрос про умение договориться о смысле сущностей с бизнесом, а не только написать DDL.
Как отвечать
Три уровня. Концептуальная модель описывает сущности и связи на языке предметной области. Логическая добавляет атрибуты, ключи, мощность связей, ограничения целостности и нормальные формы. Физическая доводит всё до конкретной СУБД: типы, индексы, партиционирование, распределение.
Что входит в логическую модель:
- сущности и их атрибуты с обобщёнными типами (целое, строка, дата), но без длин и диалектных типов;
- первичные ключи, естественные или суррогатные;
- внешние ключи и мощность связей, причём связь многие ко многим раскрывается в отдельную ассоциативную сущность;
- ограничения и бизнес-правила, которые не выражаются типом колонки.
В хранилищах логический слой ядра обычно нормализован до третьей нормальной формы либо собран по Data Vault, а витрины денормализованы в звезду с фактами и измерениями. Это как раз то место, где логическая модель расходится с физической осознанно: одна сущность живёт в ядре нормализованной, а в витрине плоской.
Где спотыкаются
Называют логической моделью картинку из прямоугольников со стрелками. Пока не проставлены первичные и внешние ключи и мощность связей, это концептуальный уровень: по такой схеме нельзя ни сгенерировать DDL, ни объяснить, откуда берутся дубли.
Тянут в логическую модель физику: типы конкретного диалекта, индексы, секции. Модель перестаёт переноситься между реляционной базой и колоночным хранилищем, а обсуждение с заказчиком вязнет в деталях, которые ему безразличны.
Забывают про историчность. Вопрос, хранит сущность состояние на сейчас или всю историю изменений, решается именно на логическом уровне: от него зависят ключ, зерно таблицы и способ ведения медленно меняющихся измерений.