В чем разница между первичным и внешним ключом

Python Senior Okko
В чем разница между первичным и внешним ключом
Ответы
Первичный ключ (Primary Key) — это уникальный идентификатор записи в таблице. Он гарантирует, что каждая строка имеет уникальное значение и не может быть `NULL`. Внешний ключ (Foreign Key) — это поле (или набор полей), которое ссылается на первичный ключ другой таблицы. Он обеспечивает целостность данных, проверяя, что значение существует в связанной таблице. **Пример:** ``` # Таблица Users (первичный ключ) CREATE TABLE Users ( user_id INT PRIMARY KEY, name VARCHAR(50) ); # Таблица Orders (внешний ключ ссылается на Users) CREATE TABLE Orders ( order_id INT PRIMARY KEY, user_id INT, FOREIGN KEY (user_id) REFERENCES Users(user_id) ); ``` **Ключевые отличия:** - Первичный ключ уникален и не `NULL`, внешний может повторяться и быть `NULL`. - Первичный ключ идентифицирует запись, внешний — связывает таблицы. - В одной таблице может быть только один первичный ключ, но несколько внешних.