Django 5 для начинающих

Прогресс по курсу:  9/1004

1.3 Кратко о SQL
3 из 12 шагов пройдено
0 из 24 баллов  получено

Первичный ключ

Любая СУБД имеет встроенную систему целостности и непротиворечивости данных. Эта система работает на наборе правил, определённых в схеме базы данных. Первичный ключ и внешние ключи как раз являются одними из таких правил.

Чтобы избегать неоднозначности при поиске в таблицах присутствуют первичный ключ или, как его ещё называют, «ключевое поле».

Ключевое поле (первичный ключ) – это поле (или набор полей), значение которого однозначно определяет запись в таблице.

Если представить простейшую таблицу Users, то в ней ключевым полем является user_id. С помощью данного правила СУБД не позволит нам создать новую запись, где поле user_id будет не уникальным.

 

Внешний ключ

Внешний ключ – это поле (или набор полей) в одной таблице, которое ссылается на первичный ключ в другой таблице.

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

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

Если наличие первичного ключа – это обязательное требование для каждой таблицы в реляционной базе данных, то правило внешнего ключа – нет.

Если внешний ключ не определён, то всё также будет работать, но СУБД не будет проверять, что, например, при создании записи в таблице Purchase в полях buyer_id и good_id лежат значения, которые определены в соответствующих таблицах в поле id.


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