Laden...

Im DatenModel bestimmte Einträge filtern

Erstellt von SyntaxTalksToMe vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.091 Views
S
SyntaxTalksToMe Themenstarter:in
17 Beiträge seit 2017
vor 5 Jahren
Im DatenModel bestimmte Einträge filtern

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

16.842 Beiträge seit 2008
vor 5 Jahren

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.

S
SyntaxTalksToMe Themenstarter:in
17 Beiträge seit 2017
vor 5 Jahren

Vielen Dank.

F
10.010 Beiträge seit 2004
vor 5 Jahren

Zweite Datenbank oder zweite Tabelle in der selben Datenbank?

T
2.224 Beiträge seit 2008
vor 5 Jahren

@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.

16.842 Beiträge seit 2008
vor 5 Jahren

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.