2
"There are circumstances in which the deletion of data representing certain facts 
necessitates the deletion of data representing completely different facts. The 
"Faculty and Their Courses" table described in the previous example suffers 
from this type of anomaly, for if a faculty member temporarily ceases to be 
assigned to any courses, we must delete the last of the records on which that 
faculty member appears, effectively also deleting the faculty member. This 
phenomenon is known as a deletion anomaly." 

Wie soll in relationalen Datenbank-Management-Systeme Löschung Anomalien angegangen werden? Gibt es Alternativen zu "Soft-Delete"?Wie werden Deletionsanomalien behandelt?

+3

Die Antwort ist Ihr Link: ** Normalisierung ** –

+0

@ypercube - Thank Link enthält nur Definitionen. –

+1

Der Abschnitt ** Normal Forms ** hat Links zu 1NF, 2NF, 3NF, BCNF, etc ..., wo gibt es Beispiele für die Normalisierung (von einer normalen Form zu einer höheren). –

Antwort

4

Deletionsanomalien sind ein deutliches Symptom eines fehlerhaften Datenbankentwurfs (Transaktion vorausgesetzt). Der beste Weg, sie loszuwerden, ist, Ihr Modell auf mindestens 3. Normalform (3NF) zu normalisieren.

Eine nette Erklärung kann here gefunden werden.

+0

Von der "netten Erklärung". Selbst bei 5NF führt das Löschen eines Puppy-Datensatzes (Puppy-Nummer, Puppy-Name, Kennel-Code) ohne eine Kaskade zu einem inkonsistenten Zustand der Datenbank. * * * Die Tischwelpentricks halten eine Fremdbeziehung zu einer nicht existierenden Aufzeichnung und sind daher inkonsistent, ebenso wie die Tabelle für Welpenkostüme (insbesondere eine Kreuzungstabelle), wo die Hälfte des Schlüssels die Welpennummer ist. –

+0

Das ist richtig, wenn ein Löschen ohne die Kaskade durchgeführt wird, ist die DB in einem inkonsistenten Zustand, aber ich bin mir nicht ganz sicher, ob dies eine Deletionsanomalie impliziert. Bei der Suche nach einem Fundstück finden mehrere Autoren eine Deletion-Anomalie für den Fall, dass die Löschung einer Entität indirekt die Löschung einer anderen beinhaltet. Auf der anderen Seite fand ich auch einen Autor, der glaubt, dass Foreign Keys Deletionsanomalien erzeugen kann, genau wie du gesagt hast. Es hängt von der Definition ab, die Sie wählen. –