/ / Dva odkazy na primárny kľúč na cudzí kľúč - sql, databáza, Oracle, cudzie kľúče, vzťah cudzí kľúč

Dva primárne kľúčové odkazy na cudzí kľúč - sql, databáza, Oracle, cudzie kľúče, foreign-key-relationship

V našom databázovom systéme máme študentov apersonálne polia. Majú PersonnelCardId a StudentCardId a my sme z nich urobili primárny kľúč. Potom máme platobné zariadenie, ktoré drží kartuID a vyhlásili sme, že ide o cudzí kľúč. V takom prípade sme nemohli vložiť riadok a po výskume sme sa dozvedeli, že nemôžeme odkazovať dva primárne kľúče na cudzí kľúč. Ako teda môžeme túto situáciu napraviť? Vďaka.

odpovede:

5 pre odpoveď č. 1

Ako ste už uviedli, cudzí kľúč nemôže odkazovať na dve rôzne tabuľky súčasne. S vašou súčasnou schémou cardID cudzí kľúč môže odkazovať buď PersonnelCardId alebo StudentCardId...

Ak tomu rozumiem správne, vaša schéma vyzerá takto:

PersonnelCard
----------------
PersonnelCardID - PK
PersonnelCardFields


StudentCard
----------------
StudentCardID - PK
StudentCardFields


PaymentDevice
----------------
PaymentDeviceID - PK
CardID - FK

Ak chcete tento problém vyriešiť, musíte nájsť spôsob, ako skombinovať PersonnelCard a StudentCard stoly ...

Card
----------------
CardID - PK
CardType - (Personnel or Student)
CardFields

FK na PaymentDevice tabuľka teraz môže odkazovať na PK v novom Card stôl.