Ich habe versucht, das Konzept der verwaisten Zeilen in einer Datenbank zu verstehen und wie sie gefunden und entfernt werden können.Verwaiste Zeilen in Datenbanken
Sagen Sie zum Beispiel, Sie hatten 2 Tische (Person, Hund) und es gab eine 1-zu-1-Beziehung zwischen ihnen, so muss jeder Mensch einen Hund haben und jeder Hund muss einen Besitzer haben.
Tabelle Person:
ID Name
1 James
2 Matt
3 Mike
Hunde Tabelle:
ID Name Owner_id
1 Sam 1
2 Rex 2
3 Max 3
4 Fred 4
Nun, wenn ich diese Tabellen mit verbunden:
SELECT *
FROM Person P
FULL OUTER JOIN Dog D ON P.id = D.Owner_id
Dies würde erzeugen ein Ergebnis, bei dem Hund (fred) tut habe einen Besitzer und erscheint nur als NULL.
Ist dies also eine verwaiste Zeile, da es einen passenden Besitzer haben sollte?
Wird dies nur durch keine Primär-/Fremdschlüssel verursacht?
Wie können verwaiste Zeilen in einer Datenbank gefunden werden?
Ja, ich verstehe danke. Was ist die einfachste Methode, verwaiste Zeilen zu finden? –
Nun, ich könnte die obige Antwort bevorzugen, weil es konzeptionell sauber ist. Sie könnten auch versuchen, 'EXISTS' zu verwenden, was ein bisschen schneller sein könnte. –