Ответ
Что хотят услышать интервьюеры
Интервьюеры ожидают понять, что кандидат знает о различных типах ключей в базах данных, их назначении и важности в контексте обеспечения целостности данных. Кандидат должен продемонстрировать понимание первичных и внешних ключей, а также других типов, таких как уникальные и составные ключи, а также их роль в проектировании базы данных.
Первичный ключ (Primary Key):
- Уникальный идентификатор для каждой записи в таблице.
- Обеспечивает целостность данных, предотвращая дублирование записей.
- Пример: В таблице "Пользователи" поле "user_id" может быть первичным ключом.
Внешний ключ (Foreign Key):
- Поле, которое связывает записи в одной таблице с записями в другой.
- Поддерживает связи между таблицами, обеспечивая целостность ссылок.
- Пример: В таблице "Заказы" поле "user_id" может быть внешним ключом, ссылающимся на "user_id" в таблице "Пользователи".
Уникальный ключ (Unique Key):
- Обеспечивает уникальность значений в столбце, но допускает наличие одного NULL значения.
- Полезен для полей, которые не являются первичными, но все равно должны быть уникальными.
- Пример: Поле "email" в таблице "Пользователи".
Составной ключ (Composite Key):
- Ключ, состоящий из двух или более полей, которые вместе уникально идентифицируют запись.
- Полезен, когда одно поле недостаточно для уникальности.
- Пример: В таблице "Записи" комбинация полей "student_id" и "course_id" может служить составным ключом.
Кандидатный ключ (Candidate Key):
- Потенциальный ключ, который может стать первичным.
- Каждый кандидатный ключ должен быть уникальным и не должен содержать NULL значений.
- Пример: В таблице "Пользователи" поля "username" и "email" могут оба быть кандидатными ключами.
Суперкласс (Super Key):
- Набор полей, который уникально идентифицирует запись в таблице, может включать лишние поля.
- Все первичные ключи являются суперключами, но не все суперключи являются первичными.
- Пример: Набор полей "user_id" и "email" в таблице "Пользователи".
Что могут спросить дальше
- Объяснить, как выбрать первичный ключ для новой таблицы.
- Привести примеры использования внешних ключей в нормализации данных.
- Обсудить важность уникальных ключей в проектировании баз данных.
- Показать, как составные ключи помогают избежать дублирования данных.