Знаком ли ты с понятиями первичного и вторичного ключей в базе данных?

Первичный ключ — это столбец или набор столбцов в таблице базы данных, которые уникально идентифицируют каждую строку в этой таблице.

Короткий ответ

Что ответить на собеседовании

Первичный ключ — это столбец или набор столбцов в таблице базы данных, которые уникально идентифицируют каждую строку в этой таблице.

Подробный разбор

Ответ с пояснениями

Первичный ключ — это столбец или набор столбцов в таблице базы данных, которые уникально идентифицируют каждую строку в этой таблице.

Основные характеристики:

  • Уникальность: Каждое значение первичного ключа должно быть уникальным в пределах таблицы.
  • Непустота (NOT NULL): Первичный ключ не может содержать значение NULL.
  • Стабильность: Желательно, чтобы значения первичного ключа не менялись.

Назначение:

  • Обеспечение целостности данных (сущности).
  • Установка связей между таблицами (внешние ключи ссылаются на первичные).
  • Оптимизация запросов (часто используются для индексирования).

Пример создания таблицы с первичным ключом в SQL:

CREATE TABLE Customers (
    CustomerID int NOT NULL, // Столбец для первичного ключа
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    CONSTRAINT PK_Customer PRIMARY KEY (CustomerID) // Определение первичного ключа
);

Первичный ключ может быть составным, состоящим из нескольких столбцов:

CREATE TABLE OrderItems (
    OrderID int NOT NULL,
    ProductID int NOT NULL,
    Quantity int,
    CONSTRAINT PK_OrderItem PRIMARY KEY (OrderID, ProductID) // Составной первичный ключ
);

Часто используется автоматическая генерация значений для первичного ключа (например, автоинкремент).

CREATE TABLE Products (
    ProductID int NOT NULL IDENTITY(1,1), // Автоинкрементный первичный ключ
    ProductName varchar(255) NOT NULL,
    CONSTRAINT PK_Product PRIMARY KEY (ProductID)
);

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее