Назад к вопросам
Junior
87
questionbank

Что такое первичный и внешний ключи, и какие ограничения они имеют?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Первичный ключ (Primary Key) — это столбец или комбинация столбцов в сущности (таблице базы данных), которая уникально идентифицирует каждую запись в этой сущности.

  • Ограничения:
    • Уникальность: Значения первичного ключа должны быть уникальными в пределах таблицы.
    • Недопустимость NULL: Первичный ключ не может содержать значение NULL.

Внешний ключ (Foreign Key) — это столбец или набор столбцов в одной сущности (дочерней таблице), которые ссылаются на первичный ключ в другой сущности (родительской таблице). Он устанавливает связь между двумя таблицами.

  • Ограничения:
    • Ссылочная целостность: Значения внешнего ключа должны либо соответствовать значению существующего первичного ключа в родительской таблице, либо быть NULL (если это разрешено).

Пример SQL:

// Создание таблицы с первичным ключом
CREATE TABLE Users (
    UserID INT PRIMARY KEY, // UserID - первичный ключ
    UserName VARCHAR(255)
);

// Создание таблицы с внешним ключом
CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    UserID INT,
    OrderDate DATE,
    FOREIGN KEY (UserID) REFERENCES Users(UserID) // UserID - внешний ключ, ссылается на Users.UserID
);