Sobes.tech
Назад к вопросам
Middle
9

Что такое первичный ключ (Primary Key) и внешний ключ (Foreign Key)? В чём разница между ними?

Компании, где спрашивали
Winline

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

sobes.tech AI

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

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

Разница:

  • Первичный ключ уникален и определяет запись внутри своей таблицы.
  • Внешний ключ служит для связи таблиц, ссылаясь на первичный ключ другой таблицы.

Пример:

CREATE TABLE Departments (
    DepartmentID INT PRIMARY KEY,
    DepartmentName VARCHAR(100)
);

CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    Name VARCHAR(100),
    DepartmentID INT,
    FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID)
);

Здесь DepartmentID в таблице Departments — первичный ключ, а DepartmentID в Employees — внешний ключ, связывающий сотрудника с отделом.