Kan en främmande nyckel referera till en annan främmande nyckel?
Kan en främmande nyckel referera till en annan främmande nyckel?

Video: Kan en främmande nyckel referera till en annan främmande nyckel?

Video: Kan en främmande nyckel referera till en annan främmande nyckel?
Video: MySQL: FOREIGN KEYS are easy (kind of) 2024, Mars
Anonim

1 Svar. A främmande nyckel kan referera alla fält som definieras som unika. Om det unika fältet i sig definieras som ett främmande nyckel , det gör ingen skillnad. Om det är ett unikt fält, det burk också vara målet för annan FK.

Häri, kan en främmande nyckel referera till unik nyckel?

Primär nycklar alltid behöva vara unik , främmande nycklar måste tillåta icke- unik värden om tabellen är en en-till-många-relation. A FRÄMMANDE NYCKEL begränsning gör behöver inte bara vara kopplad till en PRIMÄR NYCKEL begränsning i en annan tabell; den burk också definieras till referens kolumnerna i en UNIK begränsning i en annan tabell.

På samma sätt, kan en främmande nyckel ha ett annat namn? Vanligast, a främmande nyckel refererar till det primära nyckel - fältet i den andra tabellen. De främmande nyckel fält (CustomerNum) och refererat fält (CustID) kan har olika namn (eller samma namn ), men måste ha samma datatyp och fältbegränsningar.

På samma sätt kan man fråga sig, kan en främmande nyckel referera till samma tabell?

FRÄMMANDE NYCKEL begränsningar kan referera en annan kolumn i samma bord . Detta kallas för en själv referens . A FRÄMMANDE NYCKEL begränsning som anges på kolumnnivå burk lista bara en referens kolumn. Denna kolumn måste ha samma datatyp som kolumnen där begränsningen definieras.

Kan en främmande nyckel uppdateras?

Men om uppdatering regeln är INGEN HANDLING, förälder unik nycklar kan vara uppdaterad så länge varje barn har en förälder nyckel - vid tiden uppdatering uttalandet slutförs. En icke-null uppdatering värdet av en främmande nyckel måste vara lika med ett värde för det primära nyckel - i relationens överordnade tabell.

Rekommenderad: