Was ist eine Insertionsanomalie?

1 Antworten


  • Eine Einfügeanomalie weist darauf hin, dass wir keinen Fakt über eine Entität einfügen können, bis wir einen zusätzlichen Fakt über eine andere Entität haben. Angenommen, wir möchten die Information speichern, dass die Kosten für das Auto Rs betragen. 14.00.000, aber wir können diese Daten nicht in die Beziehung eingeben, bis die Daten über das Auto in die Beziehung eingegeben wurden.

    Diese Einschränkung erscheint unerwünscht. Warum sollten wir warten müssen, bis jemand das Auto kauft (obwohl der Preis bekannt ist). Wir können seinen Preis aufzeichnen. Diese Einschränkung wird als Einfügungsanomalie bezeichnet. Dieses Problem kann gelöst werden, indem man die Relation in zwei Relationen aufteilt, von denen jede verwendet wird, um verschiedene Fakten zu speichern.

    Um beispielsweise ein neues Mitarbeiter-Tupel (Datensatz) in die Beziehung 'Mitarbeiter-Filiale' einzufügen, müssen wir die Details der Filiale angeben, in der sich die Mitarbeiter befinden sollen. Angenommen, Sie geben die Daten des neuen Mitarbeiters unter der Filialnummer 3891 ein, dann müssen Sie die korrekten Daten dieser Filialnummer eingeben.

    Es ist schwierig, Details einer neuen Niederlassung, die keine Mitarbeiter hat, in die Beziehung „Mitarbeiter-Niederlassung“ einzufügen. Die einzige Möglichkeit dazu besteht darin, Nullwerte in den Attributen für Personal zu platzieren, wie zB Personal-Nr. Dies erzeugt ein Integritätsproblem, da die Mitarbeiter-Nr. der Primärschlüssel der Mitarbeiter-Zweig-Beziehung ist. Daher können Sie keine Zeile für eine neue Verzweigung in die Beziehung Personal-Zweig mit einem Nullwert für das Attribut Personal-Nr eingeben. Wenn die Mitarbeiter-Zweig-Beziehung in eine Mitarbeiter- und eine Niederlassungsbeziehung unterteilt wird, tritt das oben erwähnte Problem nicht auf. Dies liegt daran, dass die Zweigstellendetails in die Zweigstellenbeziehung eingegeben werden können. Die Details der Mitarbeiter dieser Filiale können später in die Mitarbeiterbeziehung eingegeben werden.

Schreibe deine Antwort

Ihre Antwort erscheint nach der Moderation appear