DB2 Universal Database - Systemverwaltung


Geschäftsregeln für Daten

In jeder Geschäftsumgebung müssen Daten häufig bestimmten Rahmenbedingungen oder Regeln genügen. Zum Beispiel muss eine Personalnummer eindeutig sein. DB2 stellt Integritätsbedingungen bereit, die zur Implementierung solcher Regeln definiert werden können.

DB2 stellt die folgenden Arten von Integritätsbedingungen zur Verfügung:

Integritätsbedingung NOT NULL
Die Integritätsbedingung NOT NULL verhindert, daß Nullwerte in eine Spalte eingegeben werden.

Eindeutige Integritätsbedingung
Eindeutige Integritätsbedingungen stellen sicher, daß die Werte in einer Gruppe von Spalten eindeutig sind und für alle Zeilen in der Tabelle nicht null sind. Zum Beispiel könnte eine typische eindeutige Integritätsbedingung in einer Tabelle DEPARTMENT mit Daten über Abteilungen darin bestehen, daß die Abteilungsnummer eindeutig und nicht null ist.

Abbildung 11. Eindeutige Integritätsbedingungen verhindern mehrfach auftretende Daten.

Eindeutige Integritätsbedingungen verhindern mehrfach auftretende Daten.

Der Datenbankmanager beachtet die Integritätsbedingung bei Operationen zum Einfügen und Aktualisieren von Daten, um die Datenintegrität zu gewährleisten.

Integritätsbedingung über Primärschlüssel
Jede Tabelle kann einen und nur einen Primärschlüssel besitzen. Ein Primärschlüssel ist eine Spalte oder eine Kombination von Spalten, die die gleichen Merkmale wie eine eindeutige Integritätsbedingung besitzen. Ein Primärschlüssel und Integritätsbedingungen über Fremdschlüssel dienen zur Definition von Beziehungen zwischen Tabellen.

Da ein Primärschlüssel zur Angabe einer Zeile in einer Tabelle verwendet wird, sollte er eindeutig sein und möglichst wenigen Hinzufüge- oder Löschoperationen unterliegen. Eine Tabelle kann nicht mehr als einen Primärschlüssel, jedoch mehrere eindeutige Schlüssel besitzen. Primärschlüssel sind wahlfrei und können definiert werden, wenn eine Tabelle erstellt oder geändert wird. Sie besitzen zudem den weiteren Vorteil, daß sie für eine Reihenfolge der Daten sorgen, wenn Daten exportiert oder reorganisiert werden.

In den folgenden Tabellen sind DEPTNO und EMPNO die Primärschlüssel der Tabellen DEPARTMENT und EMPLOYEE.

Tabelle 1. Tabelle DEPARTMENT
DEPTNO (Primärschlüssel) DEPTNAME MGRNO
A00 Spiffy Computer Service Division 000010
B01 Planning 000020
C01 Information Center 000030
D11 Manufacturing Systems 000060


Tabelle 2. Tabelle EMPLOYEE
EMPNO (Primärschlüssel) FIRSTNAME LASTNAME WORKDEPT (Fremdschlüssel) PHONENO
000010 Christine Haas A00 3978
000030 Sally Kwan C01 4738
000060 Irving Stern D11 6423
000120 Sean O'Connell A00 2167
000140 Heather Nicholls C01 1793
000170 Masatoshi Yoshimura D11 2890

Integritätsbedingung über Fremdschlüssel
Integritätsbedingungen über Fremdschlüssel (die auch als referentielle Integritätsbedingungen bezeichnet werden) geben Ihnen die Möglichkeit, erforderliche Beziehungen zwischen und innerhalb von Tabellen zu definieren.

Zum Beispiel könnte eine typische Integritätsbedingung über Fremdschlüssel festlegen, daß jeder Mitarbeiter in der Tabelle EMPLOYEE ein Mitglied einer bestehenden, in der Tabelle DEPARTMENT definierten Abteilung sein muß.

Zur Herstellung dieser Beziehung würden Sie die Abteilungsnummer (WORKDEPT) der Tabelle EMPLOYEE als Fremdschlüssel und die Abteilungsnummer (DEPTNO) der Tabelle DEPARTMENT als Primärschlüssel definieren.

Abbildung 12. Integritätsbedingungen über Fremd- und Primärschlüssel definieren Beziehungen und schützen Daten.

Integritätsbedingungen über Fremd- und Primärschlüssel definieren Beziehungen und schützen Daten.

Prüfung auf Integritätsbedingung
Eine Prüfung auf Integritätsbedingung ist eine Datenbankregel, mit der die zulässigen Werte in einer oder mehreren Spalten jeder Zeile einer Tabelle angegeben werden.

Zum Beispiel können Sie einer Tabelle EMPLOYEE definieren, daß die Spalte für die Jobbezeichnung nur die Werte "Sales", "Manager" oder "Clerk" enthalten kann. Unter dieser Integritätsbedingung ist jeder Datensatz mit einem anderen Wert in der Spalte für die Jobbezeichnung ungültig und würde zurückgewiesen, um die Regeln über den Typ der zulässigen Daten in der Tabelle durchzusetzen.

In einer Datenbank können außerdem Auslöser genutzt werden. Auslöser sind komplizierter und potentiell leistungsfähiger als Integritätsbedingungen. Sie definieren eine Reihe von Aktionen, die in Verbindung mit einer bzw. ausgelöst durch eine Klausel INSERT, UPDATE oder DELETE an einer angegebenen Basistabelle ausgeführt wird. Auslöser können zur Unterstützung allgemeiner Formen der Datenintegrität und Geschäftsregeln verwendet werden. Zum Beispiel kann ein Auslöser die Kreditgrenze eines Kunden überprüfen, bevor ein Auftrag akzeptiert wird, oder er kann in einer Bankanwendung eingesetzt werden, um einen Alert auszulösen, wenn eine Geldentnahme aus einem Konto nicht dem gewöhnlichen Geldentnahmemuster eines Kunden entspricht. Weitere Informationen zu Auslösern (Triggers) finden Sie im Handbuch Application Development Guide.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]