PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Коя колона за външен ключ:id или друга колона и защо?

Външният ключ трябва да е насочен към първичен ключ или уникално ограничение. Нормално е да препращате към първичния ключ, тъй като обикновено искате да препращате към отделен ред в друга таблица, а първичният ключ е идентификаторът на ред от таблица.

От техническа гледна точка няма значение дали външният ключ препраща към първичния ключ или към друго уникално ограничение, защото в PostgreSQL и двете се изпълняват по един и същи начин, като се използва уникален индекс.

Що се отнася до вашите конкретни примери, няма нищо лошо да имате уникалния size колона от vehicle_size бъдете цел на чужд ключ, въпреки че възниква въпросът защо не сте направили size първичния ключ и пропуснете id колона като цяло. Не е необходимо всяка таблица да има id колона, която е автоматично генерираният цифров първичен ключ, с изключение на това, че може да има ORM и друг софтуер, който очаква това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мигрирането на ActiveRecord не попълва материализиран изглед на Postgres

  2. Как да вляза и да се удостоверя в Postgresql след нова инсталация?

  3. Създаване на последователност от знаци в postgreSQL

  4. каква е escape последователността за тире (-) в PostgreSQL

  5. Грешка при инсталиране на Psycopg2 на MacOS 10.9.5