sql >> Database teknologi >  >> RDS >> Sqlserver

fremmednøgler på bordet fra en anden database

Jeg ville undgå at gøre dette, hvis jeg kunne - kan du bare beholde begge tabeller i en database og bruge en FK?

Forældre- og børnetabeller er i forskellige databaser.

Selvom du ikke kan bruge en fremmednøgle i denne situation, er der løsninger – du kan bruge enten triggere eller UDF'er pakket ind i check-begrænsninger. Uanset hvad er din dataintegritet ikke helt vandtæt:Hvis databasen med din overordnede tabel går ned, og du gendanner den fra en sikkerhedskopi, kan du nemt ende med forældreløse børn.

Forældre-barn forholdet håndhæves af triggere.

Der er en del situationer, hvor triggere ikke udløses, såsom:

· En tabel er droppet.

· En tabel er afkortet.

· Indstillinger for indlejrede og/eller rekursive udløsere forhindrer en udløser i at udløse.

Også en udløser kan bare være forkert. Uanset hvad, kan du ende med forældreløse børn i din database.



  1. Grundlæggende administration Sammenligning mellem Oracle, MSSQL, MySQL, PostgreSQL

  2. Vælg flere tabeller, når én tabel er tom i MySQL

  3. MySQL:DATE_ADD

  4. Oracle:Skrivebeskyttet adgang til skemaet for en anden bruger?