sql >> Database >  >> RDS >> Sqlserver

buitenlandse sleutels op tafel uit verschillende database

Ik zou dit vermijden als ik kon - kun je beide tabellen gewoon in één database bewaren en een FK gebruiken?

Bovenliggende en onderliggende tabellen bevinden zich in verschillende databases.

Hoewel u in deze situatie geen externe sleutel kunt gebruiken, zijn er oplossingen:u kunt triggers of UDF's gebruiken die zijn verpakt in controlebeperkingen. Hoe dan ook, uw gegevensintegriteit is niet helemaal waterdicht:als de database met uw bovenliggende tabel crasht en u deze herstelt vanaf een back-up, kunt u gemakkelijk weeskinderen krijgen.

Ouder-kindrelatie wordt afgedwongen door triggers.

Er zijn nogal wat situaties waarin triggers niet afgaan, zoals:

· Er is een tafel gevallen.

· Een tabel wordt afgekapt.

· Instellingen voor geneste en/of recursieve triggers voorkomen dat een trigger wordt geactiveerd.

Ook kan een trigger gewoon onjuist zijn. Hoe dan ook, je kunt wezen in je database krijgen.



  1. Hoe maak je een JSON-object in MySql met een booleaanse waarde?

  2. Hoe de niet-null-beperking in MySQL te verwijderen?

  3. Markeer Huidig ​​paginanummer PHP Paginering

  4. Hoe krijg ik een efficiënte Sql Server-deadlock-afhandeling in C# met ADO?