Условие
Что организует элементы данных и стандартизирует их связь друг с другом и со свойствами реальных сущностей?
- СУБД
- Язык SQL
- Модель данных
- База данных
Решение
Правильный ответ — Модель данных.
Что и зачем
| Понятие | Определение |
|---|---|
| Модель данных | Концептуальная схема: какие сущности есть, какие у них атрибуты, как они связаны. Это идея. |
| База данных | Конкретный экземпляр данных, организованный по выбранной модели. Это хранилище. |
| СУБД | Программа, которая управляет БД (PostgreSQL, MySQL, MongoDB). Это инструмент. |
| SQL | Язык запросов к реляционным СУБД. Это интерфейс. |
Модель данных описывает «что и как связано», поэтому именно она:
- организует элементы (определяет атрибуты сущностей);
- стандартизирует связи (1:1, 1:N, M:N с правилами целостности).
Виды моделей данных
- Реляционная — таблицы со строками и столбцами, связи через внешние ключи (доминирует).
- Иерархическая — дерево (XML, файловые системы).
- Сетевая — граф (старые БД).
- Документная — JSON-документы (MongoDB).
- Графовая — узлы и рёбра (Neo4j).
- Ключ-значение — плоский dict (Redis).
Цепочка абстракций
Реальный мир → Модель данных (концепт) → Схема БД (DDL) → База данных (инстанс) ← СУБД ← Запросы (SQL)
Подводные камни
- Путать «модель данных» с «моделью БД». Это разные вещи: модель данных — концепт; модель БД — конкретная реализация в СУБД (например, ER-диаграмма таблиц с FK).
- Считать SQL = модель данных. SQL — лишь язык, обслуживающий реляционную модель. JSON/XML, наоборот, могут описывать иерархическую модель.
- Считать СУБД = БД. СУБД управляет, БД хранит. Можно поднять PostgreSQL (СУБД) с нулём баз.
Эталонный ответ
Модель данных — описывает структуру элементов и правила их связей; это концептуальный фундамент, на котором строится конкретная БД.