Primary Key
Видео Skillbox Моргунов Е.П. PostgreSQL. Основы языка SQL.pdf – стр. 99.
Естественный ключ – например, никнейм или электронная почта. Плюсы: имеет смысл с точки зрения бизнеса; не требуют дополнительного IO и места на диске, так как эта информация всё равно нужна. Минусы: меняются требования бизнеса – придётся менять ключ; часто ключи больше по размеру → занимают больше места.
Суррогатный – не несёт смысловой нагрузки, служит лишь идентификатором в таблице. Плюсы: гарантированно уникален; всегда понятно, что выбрать в качестве ключа. Минусы: издержки на дополнительный IO и место на диске; несут в себе меньше смысла при работе с данными БД.
Первичный ключ может быть простым или составным (включать несколько столбцов).
Foreign Key
Видео Skillbox Моргунов Е.П. PostgreSQL. Основы языка SQL.pdf – стр. 100.
Внешние ключи позволяют связывать строки разных таблиц.
В связанную таблицу нельзя добавить строку с внешним ключом, которого нет в основной таблице. В приведенном ниже примере также указывается действие со строкой связанной таблицы, которое происходит при удалении из основной таблицы: при удалении соответствующей строки из students
, будут также удалены все связанные строки из progress
.
В данном контексте для описания отношений между таблицами можно сказать, что таблица students
является главной, а таблица progress
— подчиненной.
📂 SQL | Последнее изменение: 30.01.2024 17:36