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

Мога ли да използвам едно и също ограничение за външен ключ в две различни таблици?

Има колони и има външни ключове (FK) и има ограничения.

Можете да имате име на колона в таблица, независимо от други таблици.

FK е референтна таблица и набор от колони и референтна таблица и набор от колони. Всички имена заедно идентифицират FK. Това е концептуално нещо за база данни.

FK ограничение, като ограничение, е нещо, чието име трябва да бъде уникално в базата данни. Той има и прилага асоцииран FK, а именно този, описан в неговата декларация. Можете да имате множество FK ограничения в таблица, налагащи една и съща FK.

СУБД има автоматични уникални имена за FK ограничения. Например част от име плюс част от число, където ограничението е числото FK ограничение на таблицата с това име. Всъщност можете да имате един и същ безименен текст на дефиниция на FK ограничение няколко пъти в таблица и в множество таблици, всяка за различно FK ограничение. (Тези в дадена таблица налагат една и съща FK.)

Трябва да имате уникална схема за именуване, когато искате да ги наименувате. Трябва да се включват референтни и референтни имена на таблици и, когато е необходимо, разграничаващи имена на колони.

Объркващо, ние казваме FK, когато имаме предвид FK ограничение.

Когато кажете „Това е един и същ външен ключ в две различни таблици“, това злоупотребява с термини. Включени са два различни FK и съответните FK ограничения. Имате предвид може би „това е една и съща референтна колона и референтна таблица и колони и в двете FK ограничения“ или „това е един и същ текст, препращащ в декларациите за FK ограничения на двете декларации на таблици“. Но имената на FK ограниченията трябва да са уникални.

Когато кажете „И в двата случая се отнася за вътрешен потребител“, вие потвърждавате, че типът и/или таблицата на посочената колона са еднакви и за двете FK ограничения. Но те са различни FK ограничения за различните FK.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проблем с BULK INSERT в MySQL

  2. MySQL - броене по месеци (включително липсващи записи)

  3. Проблем с PHP/ODBC кодирането

  4. Как работи функцията REGEX_REPLACE() в MySQL

  5. Извиквания на асинхронна база данни на Node JS