Was ist Datenintegrität?

In dieser Zeit, in der immer mehr Daten gespeichert und produziert werden als je zuvor, ist es wichtig, dass die Integrität unserer Daten erhalten bleibt. Stellen Sie sich vor, wir haben einige Mitarbeiter für ein MNC arbeiten. Diese Mitarbeiter arbeiten für zwei Abteilungen sagen, Vertrieb und Finanzen. Beide Abteilungen verfügen über eigene Datenbanktabellen. Müssen wir dann den Datensatz dieser Mitarbeiter zweimal speichern? Nein, die Datenintegrität besagt, dass in unserer Datenbank keine doppelten Daten vorhanden sein sollten., Es sollte keine Redundanz geben und unsere Daten sollten in der gesamten Datenbank konsistent sein. Aber wie kann das erreicht werden? Es gibt verschiedene Einschränkungen der Datenintegrität, die uns vom DBMS zur Verfügung gestellt werden. Also, lass uns sie im Detail sehen.

Datenintegrität

Datenintegrität hat korrekte und genaue Daten in Ihrer Datenbank. Wenn wir Daten in der Datenbank speichern, möchten wir keine sich wiederholenden Werte, keine falschen Werte oder unterbrochenen Beziehungen zwischen Tabellen. Lassen Sie uns anhand eines Beispiels verstehen, wie defekte Beziehungen zu Dateninkonsistenzen führen können.,

Beispiel: Stellen wir uns vor, wir haben eine Kundendatenbank, in der wir zwei Tabellen haben, dh ‚customer_table'(customer_id, customer_name, purchase_id) und ‚purchase_table'(purchase_id, purchhased_item). Diese beiden Tabellen sind so verknüpft, dass, wenn ein Kauf vom Kunden getätigt wird, diese Daten des gekauften Artikels in der purchase_table gespeichert werden. Wenn wir also einen Datensatz eines gekauften Artikels in der purchase_table haben, muss dieser Kauf von einem Kunden getätigt werden, der in der customer _table vorhanden ist., Betrachten wir nun eine Situation, in der die Kauftabelle besagt, dass ein Artikel von einer customer_id gekauft wird, z. B. 10, diese customer_id jedoch nicht in der customer_table vorhanden ist. Es ist nicht möglich, dass ein Kauf ohne Kunden erfolgt. Eine solche Situation könnte entstanden sein, weil die Daten des Kunden aus customer_table entfernt wurden. Wenn also die Daten des Kunden aus der Kundentabelle entfernt werden, sollten auch die entsprechenden Daten aus der Einkaufstabelle entfernt werden. Daher müssen die Änderungen in der Datenbank zur Aufrechterhaltung der Datenintegrität konsistent aktualisiert werden.,

Die Datenintegrität kann mithilfe von Einschränkungen aufrechterhalten werden. Diese Einschränkungen definieren die Regeln, nach denen die Operationen wie Aktualisierung, Löschung, Einfügungen usw. müssen durchgeführt werden, um die Datenintegrität zu erhalten. Es gibt hauptsächlich vier Arten von Datenintegrität:

  1. Domänenintegrität
  2. Entitätsintegrität
  3. Referenzielle Integrität
  4. Benutzerdefinierte Integrität

Domänenintegrität

Domäne bezieht sich auf den Bereich akzeptabler Werte. Es bezieht sich auf den Wertebereich, den wir akzeptieren und in einer bestimmten Spalte in einer Datenbank speichern werden., Die verfügbaren Datentypen sind hauptsächlich Ganzzahl, Text, Datum usw. Jeder Eintrag, den wir für eine Spalte vornehmen, sollte in der Domäne des Datentyps verfügbar sein.

Beispiel: Wenn wir das Gehalt der Mitarbeiter in der ‚employee_table‘ speichern müssen, können wir Einschränkungen festlegen, dass es sich nur um eine GANZZAHL handeln sollte. Jeder andere Eintrag als ganzzahlige Zeichen wäre nicht akzeptabel, und wenn wir versuchen, eine Eingabe wie diese zu geben, erzeugt das DBMS Fehler.

Entity-Integrität

Jede Zeile für eine Entität in einer Tabelle muss eindeutig identifiziert werden, d.h., idf Ein Datensatz wird in der Datenbank gespeichert, dann sollte dieser Datensatz eindeutig von anderen identifiziert werden. Dies geschieht mit Hilfe von Primärschlüsseln. Die Entitätseinschränkung besagt, dass der Wert des Primärschlüssels nicht NULL sein sollte. Wenn der Wert des Primärschlüssels NULL ist, können wir die Zeilen nicht eindeutig identifizieren, wenn alle anderen Felder gleich sind. Außerdem können wir mit Hilfe des Primärschlüssels jeden Datensatz eindeutig identifizieren.

Beispiel: Wenn wir eine Kundendatenbank haben und customer_table dort mit Attributen wie Alter und Name vorhanden ist. Dann sollte jeder Kunde eindeutig identifiziert werden., Möglicherweise gibt es zwei Kunden mit demselben Namen und demselben Alter, sodass beim Abrufen der Daten Verwirrung auftreten kann. Wenn wir die Daten des Kunden mit dem Namen ‚Angel‘ abrufen, haben zwei Zeilen diesen Namen und es würde Verwirrung geben. Um dieses Problem zu beheben, werden in jeder Tabelle Primärschlüssel zugewiesen, die jeden Eintrag der Tabelle eindeutig identifizieren.

Referenzielle Integrität

Referenzielle Integrität wird verwendet, um die Datenkonsistenz zwischen zwei Tabellen aufrechtzuerhalten., In der Datenbankstruktur werden Regeln festgelegt, wie Fremdschlüssel verwendet werden sollen, um sicherzustellen, dass Änderungen, Hinzufügen und Löschen in der Datenbank die Datenintegrität aufrechterhalten. Die Einschränkungen für die referenzielle Integrität besagen, dass, wenn ein Fremdschlüssel in der ersten Tabelle auf den Primärschlüssel der zweiten Tabelle verweist, jeder Wert des Fremdschlüssels in der ersten Tabelle entweder null oder in der zweiten Tabelle vorhanden sein sollte.

Beispiel: Nehmen wir an, wir haben zwei Tabellen des Schülers(student_id, name, age, course_id) und des Kurses (course_id, course_name, duration)., Wenn nun eine course_id in der Studententabelle vorhanden ist, die in der Kurstabelle nicht vorhanden ist, ist dies nicht zulässig. Die course_id in der Studententabelle sollte entweder null sein oder wenn eine course_id in der Studententabelle vorhanden ist, sollte sie auch in der Kurstabelle vorhanden sein. Auf diese Weise wird die referenzielle Integrität aufrechterhalten.

Benutzerdefinierte Integrität

Manchmal reichen diese drei Integritätsbereiche, dh Domain, referential und entity, nicht aus, um die Datenintegrität aufrechtzuerhalten., Eine solche Integrität wird typischerweise durch Trigger und gespeicherte Prozeduren implementiert. Trigger sind ein Anweisungsblock, der automatisch ausgeführt wird, wenn vordefinierte Ereignisse auftreten.

Example1: Immer wenn eine neue Zeile in eine student_table eingefügt wird, die Noten verschiedener Fächer von Schülern enthält, wird automatisch auch ein neuer Durchschnitt berechnet und gespeichert.

Wir können hier auch einige benutzerdefinierte Einschränkungen und spezifische Geschäftsregeln definieren.

Beispiel2: Wenn wir eine Tabelle für die Registrierung erstellen und das Alter des Benutzers größer als 21 sein soll., Eine solche Art von Einschränkung wird vom Benutzer festgelegt.

Example3: nehmen wir an wir haben eine employee_table mit Attributen wie emp_id, emp_name, job_name, Gehalt, mobile_no. Hier haben wir Einschränkungen, dass die ID eines Mitarbeiters immer mit bestimmten Zeichen wie „AfterAcademy“ und dann mit Ziffern beginnen sollte. Daher wäre jeder Eintrag, der dieser Einschränkung nicht folgt, nicht akzeptabel.

So, heute haben wir gelernt, über die Datenintegrität und wie es hilft bei der Aufrechterhaltung der Datenintegrität. Hoffe, Sie haben heute etwas Neues gelernt.