Перейти к основному содержимому

Основы баз данных — чек-лист

Разработчику Аналитику Тестировщику
Архитектору Инженеру

Загрузка вопросов…

Чек-лист самопроверки

Пройдите список после глав Знакомство с базами данныхВосстановление после сбоя, Entity Relationship. Случайный вопрос — кнопка выше.

  1. Могу ли я объяснить разницу БД и СУБД — и чем таблица в СУБД отличается от файла Excel (транзакции, параллельный доступ, ограничения)?
  2. Понимаю ли я разницу relation (таблица у Кодда) и relationship (связь на ER-диаграмме)?
  3. Понимаю ли я, что такое сущность и как она выражается в терминах моделирования?
  4. Умею ли я определить атрибуты сущности и разделить их на идентифицирующие и описательные?
  5. Знаю ли я, почему сущности выражаются существительными, а связи — глаголами?
  6. Могу ли я привести пример слабой и сильной сущности?
  7. Понимаю ли я, что такое первичный и внешний ключ?
  8. Умею ли я построить связь "один ко многим" между двумя таблицами (без имени таблицы Order, конфликтующего с ORDER BY)?
  9. Знаю ли я, как реализуется связь "многие ко многим"?
  10. Могу ли я объяснить, зачем нужна промежуточная таблица для M:N-связей?
  11. Понимаю ли я, что такое ER-диаграмма и как её читать?
  12. Умею ли я описать кардинальность связи на диаграмме?
  13. Знаю ли я, какие типы связей бывают (1:1, 1:N, M:N)?
  14. Могу ли я объяснить, почему данные в БД хранятся на диске, а не в оперативной памяти постоянно?
  15. Понимаю ли я, что такое страница данных и зачем она нужна?
  16. Знаю ли я, что такое буферный пул и как он ускоряет работу СУБД?
  17. Могу ли я описать этапы выполнения SQL-запроса в СУБД?
  18. Понимаю ли я, что такое метаданные и где они хранятся?
  19. Знаю ли я, что такое индекс и как он работает?
  20. Умею ли я объяснить разницу между B-деревом и хеш-индексом?
  21. Понимаю ли я, когда стоит использовать битовый индекс?
  22. Знаю ли я, что такое селективность столбца и как она влияет на выбор плана запроса?
  23. Могу ли я объяснить, зачем СУБД нужна статистика по таблицам?
  24. Понимаю ли я, что такое оптимизатор запросов и от чего зависит его решение?
  25. Знаю ли я, чем отличается логическая схема от физической?
  26. Понимаю ли я уровни архитектуры ANSI/SPARC?
  27. Могу ли я объяснить, что такое внешнее представление (view) и зачем оно нужно?
  28. Знаю ли я, что такое вычисляемый столбец и что синтаксис зависит от СУБД?
  29. Понимаю ли я, что такое партиционирование и какие у него типы?
  30. Умею ли я объяснить, как работает партиционное прореживание?
  31. Знаю ли я, что такое индекс-организованная таблица (IOT)?
  32. Понимаю ли я, чем отличается кучевая таблица от IOT?
  33. Могу ли я объяснить, почему NULL = NULL даёт UNKNOWN в SQL?
  34. Знаю ли я, как правильно проверять значение на NULL?
  35. Понимаю ли я, что такое коррелированный подзапрос и чем он отличается от некоррелированного?
  36. Умею ли я использовать EXISTS для проверки наличия связанных записей?
  37. Знаю ли я, что такое ACID и зачем нужны транзакции?
  38. Понимаю ли я, какие задачи решает СУБД помимо хранения данных?
  39. Могу ли я перечислить компоненты СУБД (ядро, менеджер транзакций, механизм запросов и т.д.)?
  40. Знаю ли я примеры реляционных, NoSQL и NewSQL СУБД?
  41. Понимаю ли я, когда уместны SQL, NoSQL и полиглотное хранение (несколько СУБД в одном продукте)?
  42. Умею ли я привести пример документа в JSON, как в MongoDB?
  43. Знаю ли я, что такое схема базы данных и какие у неё уровни?
  44. Понимаю ли я, зачем нормализация — и где читать 1НФ–3НФ подробно? (Нормализация данных)
  45. Могу ли я объяснить первую нормальную форму (атомарность ячейки)?
  46. Знаю ли я, что такое транзитивная зависимость и 3НФ?
  47. Понимаю ли я, почему важно избегать дублирования данных?
  48. Умею ли я объяснить, как циклические зависимости влияют на вставку данных?
  49. Знаю ли я, как правильно именовать внешние ключи?
  50. Понимаю ли я, что физическое размещение данных влияет на производительность?
  51. Могу ли я объяснить, почему проектирование БД начинается с предметной области, а не с выбора MongoDB или PostgreSQL?
  52. Могу ли я назвать хотя бы пять из двенадцати правил Кодда и объяснить одно на примере?
  53. Чем оптимистичный контроль отличается от SELECT … FOR UPDATE?
  54. Понимаю ли я разницу между crash recovery (WAL при старте) и восстановлением из pg_dump?
  55. Знаю ли я, зачем нужен checkpoint, если есть WAL?
  56. Могу ли я описать этапы концептуального → логического → физического проектирования?
  57. Чем DBA отличается от владельца данных в организации?
  58. Назову ли я три обязанности команды при managed PostgreSQL в облаке (не провайдера)?