Найти в Дзене
Курушкин Дмитрий

Вопрос на собеседовании back-end разработчика: "Что такое первичные и внешние ключи?"

Разберем вопрос с собеседования на back-end разработчика. С чего нужно начать? С того, что вопрос относится к базам данных. А сами ключи нужны, чтобы поддерживать связь между таблицами. Что такое Первичные ключи (Primary Keys) Давайте начнем с первичных ключей. Если база данных - это сводка информации, то первичный ключ - это уникальный идентификатор каждой строки в этой сводке. Такой ключ гарантирует, что каждая запись в таблице будет иметь уникальное значение в определенном столбце. Зачем это нужно? Представьте себе таблицу с информацией о сотрудниках компании. Если у нас нет первичного ключа, то как мы сможем однозначно идентифицировать каждого сотрудника? Это могло бы привести к конфузам и ошибкам. В реальной жизни, первичный ключ - это, например, номер паспорта. Он уникален для каждого человека и позволяет государству однозначно определить личность гражданина. Точно так же и первичный ключ в базе данных делает каждую запись уникальной. Что такое Внешние ключи (Foreign Keys) Теп
Оглавление

Разберем вопрос с собеседования на back-end разработчика.

С чего нужно начать?

С того, что вопрос относится к базам данных. А сами ключи нужны, чтобы поддерживать связь между таблицами.

Что такое Первичные ключи (Primary Keys)

Давайте начнем с первичных ключей. Если база данных - это сводка информации, то первичный ключ - это уникальный идентификатор каждой строки в этой сводке. Такой ключ гарантирует, что каждая запись в таблице будет иметь уникальное значение в определенном столбце.

Зачем это нужно? Представьте себе таблицу с информацией о сотрудниках компании. Если у нас нет первичного ключа, то как мы сможем однозначно идентифицировать каждого сотрудника? Это могло бы привести к конфузам и ошибкам.

В реальной жизни, первичный ключ - это, например, номер паспорта. Он уникален для каждого человека и позволяет государству однозначно определить личность гражданина. Точно так же и первичный ключ в базе данных делает каждую запись уникальной.

Что такое Внешние ключи (Foreign Keys)

Теперь перейдем к внешним ключам. Если первичный ключ - это уникальный идентификатор внутри одной таблицы, то внешний ключ - это связь между двумя таблицами.

Представьте, что у нас есть две таблицы: одна с информацией о сотрудниках, а другая - с информацией о проектах, над которыми они работают. Чтобы установить связь между этими таблицами, мы можем использовать внешний ключ. Этот ключ будет ссылаться на первичный ключ таблицы с информацией о сотрудниках.

Зачем это нужно? Благодаря внешним ключам, мы можем создавать связи между данными из разных таблиц. Например, мы можем легко найти все проекты, над которыми работает определенный сотрудник, просто используя внешний ключ и первичный ключ.

Примеры использования ключей

Давайте рассмотрим несколько примеров, чтобы лучше понять, как работают первичные и внешние ключи.

Пример 1: Таблица "Студенты"

Представьте таблицу "Студенты". У каждого студента есть уникальный номер студенческого билета, который может быть использован как первичный ключ. Этот ключ гарантирует, что каждый студент будет уникальным в этой таблице.

-2

Пример 2: Таблица "Курсы"

Теперь представьте таблицу "Курсы". У каждого курса есть код курса, который может быть использован как первичный ключ. Этот ключ гарантирует уникальность каждого курса.

-3

Пример 3: Связь между "Студентами" и "Курсами"

Теперь давайте установим связь между таблицами "Студенты" и "Курсы" с помощью внешнего ключа. Допустим, у нас есть таблица "Расписание", которая показывает, какие студенты записаны на какие курсы.

-4

Здесь столбец "Студенческий номер" является внешним ключом, который ссылается на первичный ключ таблицы "Студенты". А столбец "Код курса" - это внешний ключ, который ссылается на первичный ключ таблицы "Курсы". Таким образом, мы можем установить связь между студентами и курсами.

Внимание

Спасибо за внимание! У меня есть Телеграм канал, в котором вы бесплатно можете получить гайдбук по Python, ссылки и туториалы на качественные нейронки.

-5