awesome-everything EN
↑ Обратно к восхождению

Базы данных

Реляционная модель: тест с краткими ответами

Суть Вопросы на свободное припоминание по юниту реляционной модели. Сначала ответьте своими словами, затем раскройте модельный ответ и сравните.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 14 min

Припоминание сильнее перечитывания. Для каждого вопроса проговорите или запишите полный ответ по памяти, прежде чем открыть модельный — именно усилие извлечения закрепляет инстинкты дизайна схемы.

Цель

Восстановите ключевые механизмы юнита — keys, 3NF, правило выбора JSONB, экономику FK, физическое хранение и изменение схемы без простоя — не подсматривая в уроки.

Вспомните перед уходом
  1. 01
    В чём разница между candidate key и primary key, и почему дефолт 2026 года — это surrogate primary key плюс UNIQUE NOT NULL на business key?
  2. 02
    Почему 3NF — это нормальная форма по умолчанию для продакшена, и какие два легитимных направления её покинуть?
  3. 03
    Сформулируйте правило выбора между JSONB, типизированной колонкой и side-таблицей с примером каждого.
  4. 04
    Что foreign key реально стоит, что он покупает, и при каких специфичных условиях его отключение — оправданный инженерный выбор?
  5. 05
    Объясните механизм TOAST и два следствия для дизайна схемы и запросов, которые он несёт по производительности.
  6. 06
    Опишите паттерн expand-then-contract и объясните, почему он нужен для переименования колонки на большой общей таблице без простоя.
Итог

Если вы восстановили каждый ответ по памяти, вы держите спину юнита: identity живёт в неизменяемом surrogate key, а business keys охраняются через UNIQUE NOT NULL; 3NF не даёт двум строкам разойтись, а денормализация — это измеренное исключение с явным согласованием; выбор JSONB/типизированная колонка/side-таблица целиком определяется тем, как вы запрашиваете значение; foreign keys — это дешёвая страховка, которую вы держите, пока специфичное ограничение масштаба не вынудит иначе; физическое хранение (TOAST, page alignment) делает SELECT * на широких строках дорогим; а живая схема меняется через expand-then-contract, никогда не ломаясь на месте.

Продолжить восхождение ↑Реляционная модель: спроектировать и мигрировать multi-tenant схему
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.