sql >> Databasteknik >  >> RDS >> Oracle

refererar främmande nyckel alltid till en unik nyckel i en annan tabell?

Enligt SQL-standarden måste en främmande nyckel referera till antingen primärnyckeln eller en unik nyckel för den överordnade tabellen. Om primärnyckeln har flera kolumner måste den främmande nyckeln ha samma antal och ordning på kolumner. Därför refererar den främmande nyckeln till en unik rad i den överordnade tabellen; det får inte finnas några dubbletter.

Angående din kommentar:

Om T.A är en primärnyckel, då nej du kan inte ha några dubbletter. Varje primärnyckel måste vara unik och icke-null. Om den underordnade tabellen har en främmande nyckel som refererar till den överordnade primärnyckeln, måste den därför matcha ett unikt värde som inte är null och refererar därför till exakt en rad i den överordnade tabellen. I det här fallet kan du inte skapa en underrad som refererar till flera överordnade rader.

Du kan skapa en underordnad rad vars främmande nyckelkolumn är NULL, i vilket fall den inte refererar till någon rad i den överordnade tabellen.



  1. Hur kan jag fråga ett värde i SQL Server XML-kolumnen

  2. Ge MySQL-tabell- och kolumnbehörigheter

  3. 2 sätt att aktivera Word Wrap i SQLite

  4. WEEKDAY() Exempel – MySQL