verwendetes Datenbanksystem: <SQL Express>
Guten Tag zusammen,
Ich würde gerne innerhalb eines Datenmodels bestimmte Einträge herausfiltern. Angenommen die erste Datenbank hat fortlaufende Zahlen. 1, 2, 3, 4.
In der zweiten Tabelle, sind diverse Einträge die als Eigenschaft eine dieser Zahlen der ersten Tabelle haben. Es sind auch mehrere Einträge die die gleiche Zahl haben können.
Angenommen ich wähle aus Tabelle 1 die Nummer 4 aus, möchte ich gerne aus der zweiten Datenbank, alle Einträge angezeigt bekommen, die ebenfalls eine 4 haben.
Das ist ja eigentlich das Prinzip des Primär und Fremdschlüssels, oder?
Die Frage ist auch, was ich in die QUERY schreiben soll, damit alle diese Einträge angezeigt werden. Natürlich habe ich im Vorfeld gegoogelt.
Schönen Tag noch
Referential integrity wird nur ein einer Datenbank ermöglicht; nicht Datenbankübergreifend.
Dahingehend funktionieren Schlüssel ebenfalls nicht Datenbankübergreifend.
Du musst also zwei getrennte Queries feuern.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Zweite Datenbank oder zweite Tabelle in der selben Datenbank?
@FZelle
Er arbeitet mit zwei Datenbanken und will quasi die PKs aus einer Tabelle in der ersten DB als FKs in einer Tabelle in der zweiten DB abfragen.
@SyntaxTalksToMe
Die Frage wäre auch für mich, warum du DB übergreifend arbeitest.
Entweder hast du einen schlechten DB Entwurf oder du greifst auf eine DB eines anderen Projekts zu.
Wenn die zweite DB auf deinem DB Entwurf basiert, dann scheint dieser auf den ersten Blick falsch.
Eine DB sollte immer seine gesamten Daten in sich selbst beherbergen und nicht verteilt auf X DBs.
In dem Fall solltest du deinen Entwurf überarbeiten.
Wenn du aber auf eine frame DB zugreifst, solltest du vorher andere Möglichkeiten prüfen.
Den den direkten Zugriff auf DB Ebene sollte man i.d.R. vermeiden und über entsprechende Schnittstellen zugreifen.
Nur wenn es diese nicht gibt und die Daten nicht indirekt über andere Schnittstellen abrufbar sind, sollte man auf DB Ebene die Daten abfragen.
Gerade weil man durch falsche Handhabung den Datenbestand unbewusst beschädigen kann, sollte man dies nur als äußerste Notlösung betrachten.
Gerade wenn man hier in Datenbanken ohne Dokumentation rumwurstelt, kann man viel kaputt machen.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Naja, T-Virus - die Frage von Fzelle ist durchaus berechtigt. Hab mir nach FZelle's Beitrag auch nochmal den Text durchgelesen und man kann durchaus annehmen, dass SyntaxTalksToMe von der identischen Datenbank spricht - aber zwei Tabellen.
Einfach weil die Fachbegriffe evtl. nicht ganz passen.
Daher lass bitte den Threadersteller selbst antworten.
Erst dann macht auch ein Nachfragen, warum es zwei Datenbanken sind, sinn. Alles andere ist im Dunklen rumstochern.
Danke.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code