... Datenintegrität verwalten

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "... Datenintegrität verwalten"

Transkript

1 13... Datenintegrität verwalten

2 Lektion 13: Datenintegrität verwalten Ziele Ziele Nach dieser Lektion sollten Sie Folgendes können: Datenintegritäts-Constraints implementieren Datenintegritäts-Constraints pflegen Constraint-Informationen aus dem Data Dictionary ermitteln 13-2 Copyright Oracle Corporation, All rights reserved Oracle8i Datenbankadministration Teil I

3 Überblick Überblick Datenintegrität Daten Datenbank- Trigger Anwendungscode Integritäts- Constraint Tabelle 13-3 Copyright Oracle Corporation, All rights reserved. Methoden, um Datenintegrität zu garantieren Datenintegrität bedeutet, dass die Daten den Unternehmensregeln genügen. Datenintegrität kann verwaltet werden über: Anwendungsprogrammteile Datenbank-Trigger deklarative Integritäts-Constraints Welche dieser Möglichkeiten zur Abbildung der Unternehmensregeln verwendet wird, ist eine Design-Entscheidung. Die Datenbankadministration hat im Wesentlichen dafür zu sorgen, die vom Datenbank-Design gewählten Methoden umzusetzen sowie Performance-Anforderungen und Integritätsanforderungen auszuwägen. Anwendungsprogrammteile können entweder als gespeicherte Prozeduren in der Datenbank implementiert werden oder als Anwendungen, die auf dem Client laufen. Der Schwerpunkt dieser Lektion liegt auf Datenbank-Triggern und Integritäts- Constraints. Datenbank-Trigger Datenbank-Trigger sind PL/SQL-Programme, die bei bestimmten Ereignissen, wie zum Beispiel beim Einfügen oder Ändern einer Zeile, ausgeführt werden. Trigger können aktiviert und deaktiviert werden. Aktiviert heißt, sie werden ausgeführt, wenn das Ereignis eintritt, deaktiviert heißt, sie werden nicht ausgeführt, auch wenn sie definiert sind. Datenbank-Trigger werden in der Regel nur verwendet, wenn komplexe Unternehmensregeln eingehalten werden müssen, die nicht mit Integritäts-Constraints abgebildet werden können. Oracle8i Datenbankadministration Teil I 13-3

4 Lektion 13: Datenintegrität verwalten Hinweis: Datenbank-Trigger werden in anderen Oracle Kursen behandelt. Integritäts-Constraints Zur Umsetzung der Unternehmensregeln werden bevorzugt Integritäts-Constraints verwendet, weil sie: bessere Performance bieten einfach deklariert und geändert werden können, da keine aufwendige Programmierung erforderlich ist zentral an einer Stelle sind flexibel sind (aktiviert oder deaktiviert) vollständig im Data Dictionary dokumentiert sind Die folgenden Abschnitte erklären die Wirkung von Integritäts-Constraints und ihre Implementierung im Oracle Server Oracle8i Datenbankadministration Teil I

5 Integritäts-Constraints Integritäts-Constraints Constraint-Typen Constraint NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK Beschreibung Gibt an, daß eine Spalte keine NULL-Werte enthalten kann Gibt eine Spalte oder eine Kombination von Spalten an, die eindeutig sind Gibt eine Spalte oder eine Kombination von Spalten an, die Primärschlüssel der Tabelle sind Gibt eine Spalte oder eine Kombination von Spalten an, die Fremdschlüssel in einem referentiellen Integritäts-Constraint sind Gibt eine Bedingung an, die jede Zeile der Tabelle erfüllen muß 13-4 Copyright Oracle Corporation, All rights reserved. Constraint-Typen Wie Sie in der Folie sehen, gibt es fünf Arten von deklarativen Integritäts-Constraints. NOT NULL- und CHECK-Constraints erfordern keinen Verwaltungsaufwand. Dagegen muss die Datenbankadministration Primärschlüssel-, Unique- und Fremdschlüssel-Constraints sorgfältig verwalten, um hohe Verfügbarkeit und akzeptable Performance zu gewährleisten. Oracle8i Datenbankadministration Teil I 13-5

6 Lektion 13: Datenintegrität verwalten Constraint-Zustände Deaktiviert mit NOVALIDATE Deaktiviert mit VALIDATE Aktiviert mit NOVALIDATE Aktiviert mit VALIDATE = = Neue Daten Bestehende Daten 13-5 Copyright Oracle Corporation, All rights reserved. Constraint-Zustände Ein Integritäts-Constraint kann folgende Zustände haben: deaktiviert mit NOVALIDATE deaktiviert mit VALIDATE aktiviert mit NOVALIDATE bzw. erzwungen aktiviert mit VALIDATE Deaktiviert mit NOVALIDATE. Ein deaktiviertes Constraint mit NOVALIDATE wird nicht überprüft, obwohl die Constraint-Definition noch im Data Dictionary gespeichert ist. Daten in der Tabelle und neue Daten, die eingefügt oder aktualisiert werden, genügen eventuell nicht den durch das Constraint festgelegten Regeln. Deaktiviert mit VALIDATE. Ein Constraint in diesem Zustand erlaubt keine Änderungen der Spalten des Constraint. Zusätzlich wird der Index für das Constraint gelöscht und das Constraint ist ausgeschaltet. Mit einem Unique-Constraint im Zustand deaktiviert mit VALIDATE können Sie Daten effizient von einer nicht partitionierten in eine partitionierte Tabelle laden. Verwenden Sie dazu die Option EXCHANGE PARTITION des Befehls ALTER TABLE. Hinweis: Partitionierte Tabellen werden in diesem Kurs nicht behandelt Oracle8i Datenbankadministration Teil I

7 Integritäts-Constraints Constraint-Zustände (Fortsetzung) Aktiviert mit NOVALIDATE (erzwungen). Bei einem mit NOVALIDATE aktivierten Constraint können keine Daten neu eingetragen werden, die das Constraint verletzen. Allerdings kann die Tabelle ungültige Daten enthalten, die das Constraint verletzen. In der Regel handelt es sich hierbei um einen Zwischenzustand, der sicherstellt, dass alle neuen Daten geprüft werden, bevor sie in die Tabelle eingetragen werden. Aktiviert mit VALIDATE. Wenn ein Constraint diesen Zustand hat, erfüllen alle Daten in der Tabelle garantiert das Constraint. Außerdem verhindert dieser Zustand, dass ungültige Daten eingetragen werden. Dies ist der normale Betriebszustand für ein Constraint bei Online-Transaktionsverarbeitung. Wird ein Constraint vom Zustand deaktiviert in den Zustand aktiviert mit VALIDATE gesetzt, wird die Tabelle gesperrt und alle Daten in der Tabelle werden auf Konformität geprüft. Dadurch kann es vorkommen, dass DML-Operationen wie zum Beispiel Laden von Daten, warten müssen. Es ist daher ratsam, zuerst in den Zustand aktiviert mit NOVALIDATE zu wechseln und dann in den Zustand aktiviert mit VALIDATE. Oracle8i Datenbankadministration Teil I 13-7

8 Lektion 13: Datenintegrität verwalten Aufgeschobene Constraints DML-Anweisung Prüfe sofortige Constraints COMMIT Prüfe aufgeschobene Constraints 13-6 Copyright Oracle Corporation, All rights reserved. Aufgeschobene Constraints Sie können die Stelle in einer Transaktion, an der ein Constraint geprüft wird, steuern, wenn Sie das Constraint entsprechend definieren. Sofortige Constraints (nondeferred bzw. immediate) Sofortige Constraints werden am Ende jeder DML-Anweisung überprüft. Bei einer Constraint-Verletzung wird die Anweisung zurückgerollt. Löst das Constraint eine Aktion aus, wie zum Beispiel kaskadierendes Löschen, gehört diese Aktion zu der Anweisung, die die Aktion verursacht hat. Ein als NONDEFERRABLE definiertes Constraint kann nicht so eingestellt werden, dass es erst am Ende einer Transaktion geprüft wird. Aufgeschobene Constraints (deferred) Aufgeschobene Constraints werden nur überprüft, wenn eine Transaktion ein Commit durchführt. Werden zum Commit-Zeitpunkt Constraint-Verletzungen festgestellt, wird die gesamte Transaktion zurückgerollt. Diese Constraints sind sinnvoll, wenn in einer Fremdschlüsselbeziehung Eltern- und Kindzeilen gleichzeitig eingetragen werden, zum Beispiel bei einem Auftragssystem, bei dem der Auftrag und die Auftragsposten gleichzeitig eingetragen werden Oracle8i Datenbankadministration Teil I

9 Integritäts-Constraints Aufgeschobene Constraints (Fortsetzung) Um aufschiebbar zu sein, muss ein Constraint bei der Erstellung auf eine der folgenden Arten als aufschiebbares Constraint definiert werden, mit: anfangs sofort (initially immediate): Solange nichts anderes angegeben ist, funktioniert das Constraint defaultmäßig wie ein sofortiges Constraint. anfangs aufgeschoben (initially deferred): Defaultmäßig wird das Constraint nur am Ende einer Transaktion überprüft. Oracle8i Datenbankadministration Teil I 13-9

10 Lektion 13: Datenintegrität verwalten Constraints als sofortig oder aufgeschoben definieren Mit den Befehl ALTER SESSION oder SET CONSTRAINTS können Sie den Zustand für ihren Constraint setzen. ALTER SESSION SET CONSTRAINT[S] = {IMMEDIATE DEFERRED DEFAULT}; 13-7 Copyright Oracle Corporation, All rights reserved. Überprüfung eines Constraint ändern Der Default-Modus eines aufschiebbaren Constraint wird im Data Dictionary gespeichert. Anwendungen können aber den Modus auf aufgeschoben (deferred) oder sofort (immediate) ändern. Diese Änderung wird mit dem Befehl ALTER SESSION oder mit dem Befehl SET CONSTRAINT durchgeführt: ALTER SESSION SET CONSTRAINT[S] = {IMMEDIATE DEFERRED DEFAULT} SET CONSTRAINT[S] {constraint [, constraint ]... ALL } {IMMEDIATE DEFERRED} Oracle8i Datenbankadministration Teil I

11 Integritäts-Constraints Überprüfung von Primärschlüssel- und Unique-Constraints Schlüssel aktiviert? Ja Vorhandener Index verfügbar? Ja Nein Vorhandenen Index verwenden Aufgeschobenes Constraint? Ja Nein Nein Keinen Index verwenden Eindeutigen Index erzeugen Nicht-eindeutigen Index erzeugen 13-8 Copyright Oracle Corporation, All rights reserved. So wird ein Unique- und Primärschlüssel-Constraint überprüft Primär- und Unique-Schlüssel werden mit Hilfe von Indizes überprüft. Sie können den Typ dieser Indizes bestimmen. Der Oracle Server implementiert Unique- und Primärschlüssel-Constraints wie folgt: Ist das Constraint deaktiviert, werden keine Indizes benötigt. Ist das Constraint aktiviert, und die Spalten im Constraint bilden den Anfangsteil eines Index, wird der Index zur Überprüfung des Constraint verwendet. Ist das Constraint aktiviert und gibt es noch keinen Index mit den Constraint- Spalten als Hauptteil, wird ein Index mit demselben Namen wie das Constraint erzeugt: Ist das Constraint aufschiebbar (deferrable), wird ein nicht-eindeutiger Index auf der Schlüsselspalte erzeugt. Ist das Constraint nicht aufschiebbar (nondeferrable), wird ein eindeutiger Index erzeugt. Oracle8i Datenbankadministration Teil I 13-11

12 Lektion 13: Datenintegrität verwalten Überlegungen zu Fremdschlüsseln Sie wollen Elterntabelle löschen Elterntabelle leeren Tablespace löschen, der die Elterntabelle enthält Sperren der Kindtabelle bei DML-Anweisungen auf der Elterntabelle verhindern Dazu müssen Sie CASCACE-Constraints verwenden Fremdschlüssle deaktivieren oder löschen CASCADE CONSTRAINTS-Klausel verwenden Index auf dem Fremdschlüssel erzeugen DML-Anweisungen auf der Kindtabelle ausführen 13-9 Sicherstellen, daß der Tablespace, der den Index auf der Elterntabelle enthält, online ist Copyright Oracle Corporation, All rights reserved. Überlegungen zu Fremdschlüssel-Constraints Bei der Verwaltung von Tabellen mit einer Fremdschlüssel-Beziehung müssen Sie einige Faktoren berücksichtigen. DDL-Anweisungen, die die Elterntabelle betreffen Der Fremdschlüssel muss gelöscht werden, bevor die Elterntabelle gelöscht werden kann. Sie können beide Aktionen mit einer Anweisung ausführen: DROP TABLE table CASCADE CONSTRAINTS Die Elterntabelle kann nur mit TRUNCATE geleert werden, wenn der Fremdschlüssel gelöscht oder deaktiviert wird. Der Fremdschlüssel muss gelöscht werden, bevor der Tablespace, der die Elterntabelle enthält, gelöscht werden kann. Mit folgendem Befehl können Sie beides erreichen: DROP TABLESPACE tablespace INCLUDING CONTENTS CASCADE CONSTRAINTS Oracle8i Datenbankadministration Teil I

13 Integritäts-Constraints DML-Anweisungen auf Tabellen in einer Fremdschlüssel-Beziehung Wird beim Löschen von Zeilen in der Elterntabelle nicht die Option DELETE CASCADE verwendet, muss der Oracle Server sicherstellen, dass die Kindtabelle keine Zeilen mehr mit dem entsprechenden Fremdschlüssel enthält. Ebenso darf der Elternschlüssel nur geändert werden, wenn keine Kindzeilen mehr mit dem alten Schlüsselwert vorhanden sind. Gibt es keinen Index auf dem Fremdschlüssel in der Kindtabelle, sperrt der Oracle Server die Kindtabelle und verhindert Änderungen, um referentielle Integrität sicherzustellen. Gibt es einen Index auf der Tabelle, werden zur Einhaltung der referentiellen Integrität nur die Indexeinträge gesperrt. Es müssen keine einschränkenderen Sperren auf der Kindtabelle gesetzt werden. Müssen beide Tabellen gleichzeitig von unterschiedlichen Transaktionen geändert werden, erzeugen Sie einen Index auf den Fremdschlüsselspalten. Wenn in die Fremdschlüsselspalten Daten eingetragen werden oder die Fremdschlüsselspalten geändert werden, prüft der Oracle Server den Index auf der Elterntabelle, mit dem der referenzierte Schlüssel überprüft wird. Die Operation ist daher nur erfolgreich, wenn der Tablespace, der den Index enthält, online ist. Beachten Sie, dass der Tablespace, der die Elterntabelle enthält, für DML-Operationen auf der Kindtabelle nicht online sein muss. Hinweis: Indizes auf Fremdschlüsselspalten sind empfehlenswert, da sie außer den bereits erwähnten Vorteilen noch zusätzliche Vorteile für die Performance haben. Oracle8i Datenbankadministration Teil I 13-13

14 Lektion 13: Datenintegrität verwalten Constraints implementieren Constraints beim Erzeugen der Tabelle definieren CREATE TABLE summit.employee( id NUMBER(7) CONSTRAINT employee_id_pk PRIMARY KEY DEFERRABLE USING INDEX STORAGE(INITIAL 100K NEXT 100K) TABLESPACE indx, last_name VARCHAR2(25) CONSTRAINT employee_last_name_nn NOT NULL, dept_id NUMBER(7)) TABLESPACE data; Copyright Oracle Corporation, All rights reserved. Constraints beim Erzeugen der Tabelle definieren Sie können bei der Erzeugung einer Tabelle ein Constraint definieren oder eine vorhandene Tabelle ändern, um ein Constraint hinzuzufügen. Syntax: Constraint-Definition innerhalb der Spaltendefinition Bei der Erzeugung einer Tabelle kann ein Constraint wie folgt in der Definitionszeile definiert werden, in der eine Spalte definiert wird: column datatype [CONSTRAINT constraint] in_line_constraint [defer_spec] Oracle8i Datenbankadministration Teil I

15 Constraints implementieren Syntax: Constraint-Definition innerhalb der Spaltendefinition (Fortsetzung) in_line_constraint :== {[NOT] NULL PRIMARY KEY [USING INDEX index_clause] UNIQUE [USING INDEX index_clause] REFERENCES [schema.]table [(column)] [ON DELETE CASCADE] CHECK (condition) } defer_spec :== [NOT DEFERRABLE DEFERRABLE [INITIALLY {IMMEDIATE DEFERRED}] ] [DISABLE ENABLE [VALIDATE NOVALIDATE]] mit: CONSTRAINT gibt den Namen constraint des Integritäts- Constraint an, der im Data Dictionary gespeichert wird USING INDEX gibt an, dass die in index-clause angegebenen Parameter für den Index verwendet werden sollen, mit dem der Oracle Server einen Unique- oder Primärschlüssel-Constraint überprüft. (Der Index hat denselben Namen wie das Constraint.) DEFERRABLE gibt an, dass die Constraint-Überprüfung mit dem Befehl SET CONSTRAINT(S) bis zum Ende der Transaktion aufgeschoben werden kann NOT DEFERRABLE gibt an, dass dieses Constraint am Ende jeder DML-Anweisung überprüft wird. Sessions und Transaktionen können einen als NOT DEFERRABLE definiertes Constraint nicht aufschieben. NOT DEFERRABLE ist der Default-Wert. Oracle8i Datenbankadministration Teil I 13-15

16 Lektion 13: Datenintegrität verwalten Syntax: Constraint-Definition innerhalb der Spaltendefinition (Fortsetzung) INITIALLY IMMEDIATE gibt an, dass am Anfang einer Transaktion defaultmäßig das Constraint am Ende jeder DML-Anweisung überprüft wird. Fehlt die INITIALLY-Klausel, ist der Default- Modus INITIALLY IMMEDIATE. INITIALLY DEFERRED bedeutet, dass das Constraint aufschiebbar ist und defaultmäßig erst am Ende einer Transaktion überprüft wird DISABLE deaktiviert das Integritäts-Constraint. Ein deaktiviertes Integritäts-Constraint wird vom Oracle Server nicht überprüft Oracle8i Datenbankadministration Teil I

17 Constraints implementieren Syntax: Constraint-Definition außerhalb der Spaltendefinition Ein Constraint kann auch außerhalb der Spaltendefinition definiert werden: [CONSTRAINT constraint] out_of_line_constraint out_of_line_constraint :== {PRIMARY KEY (column [, column ]... ) [USING INDEX index_clause] UNIQUE (column [, column ]... ) [USING INDEX index_clause] FOREIGN KEY (column [, column ]... ) REFERENCES [schema.]table [(column [, column ]... )] [ON DELETE CASCADE] CHECK (condition) } [defer_spec] Hinweis Sie sollten Namenkonventionen für Constraints verwenden, insbesondere für CHECK-Constraints, weil dasselbe Constraint mehrmals mit unterschiedlichen Namen erzeugt werden kann. Constraint-Definitionen außerhalb der Spaltendefinition werden in folgenden Fällen benötigt: wenn sich ein Constraint auf zwei oder mehr Spalten bezieht wenn ein Constraint (außer NOT NULL-Constraints) zu einer Tabelle hinzugefügt wird Constraints nach Erzeugung der Tabelle definieren: Beispiel ALTER TABLE summit.employee ADD(CONSTRAINT employee_dept_id_fk FOREIGN KEY(dept_id) REFERENCES summit.department(id) DEFERRABLE INITIALLY DEFERRED); Hinweis: Mit der EXCEPTIONS-Klausel, die in Constraints aktivieren später in dieser Lektion besprochen wird, können Zeilen identifiziert werden, die ein Constraint verletzen, das mit dem Befehl ALTER TABLE hinzugefügt wird. Oracle8i Datenbankadministration Teil I 13-17

18 Lektion 13: Datenintegrität verwalten Richtlinien für Constraints Primärschlüssel- und Unique-Constraints: Indizes in getrennten Tablespace plazieren Verwenden Sie nicht-eindeutige Indizes, wenn häufig große Mengen von Daten geladen werden Selbstreferenzierende Fremdschlüssel : Definieren bzw. aktivieren Sie den Fremdschlüssel nach dem ersten Laden Verwenden Sie aufschiebbare Constraints Copyright Oracle Corporation, All rights reserved. Richtlinien für Constraints Folgende Richtlinien sollten Sie bei der Erzeugung von Constraints berücksichtigen: Legen Sie Indizes für Primärschlüssel- und Unique-Constraints in einen anderen Tablespace als die Tabelle. Dazu geben Sie entweder die Klausel USING INDEX an, oder Sie erstellen die Tabelle, erstellen den Index und ändern dann die Tabelle, um das Constraint hinzuzufügen oder zu aktivieren. Wenn häufig Daten in großem Umfang in die Tabelle geladen werden, sollten zuerst die Constraints deaktiviert, dann die Daten geladen und zum Schluss die Constraints wieder aktiviert werden. Wird ein eindeutiger Index für ein Primärschlüssel- oder Unique-Constraint verwendet, wird dieser Index gelöscht, wenn das Constraint deaktiviert wird. Die Performance kann eventuell verbessert werden, wenn in solchen Fällen ein nicht-eindeutiger Index verwendet wird. Dazu kann entweder das Constraint als aufschiebbar definiert werden oder der Index erzeugt werden, bevor das Constraint definiert und aktiviert wird. Enthält eine Tabelle einen selbstreferenzierenden Fremdschlüssel, laden Sie Daten auf eine der folgenden Arten: Definieren bzw. aktivieren Sie den Fremdschlüssel nach dem ersten Laden. Definieren Sie das Constraint als aufschiebbares Constraint. Die zweite Methode ist besser, wenn häufig Daten geladen werden Oracle8i Datenbankadministration Teil I

19 Constraints verwalten Constraints verwalten Constraints aktivieren Aktivieren mit NOVALIDATE Kein Sperren der Tabelle Primär- und Unique- Schlüssel müssen nichteindeutige Indizes verwenden ALTER TABLE summit.department ENABLE NOVALIDATE CONSTRAINT dept_pk; Copyright Oracle Corporation, All rights reserved. Constraints aktivieren Ein deaktivierter Constraint kann auf zwei Arten aktiviert werden: mit NOVALIDATE oder mit VALIDATE. Mit NOVALIDATE aktivieren Die Aktivierung eines Constraint mit NOVALIDATE ist viel schneller als die Aktivierung mit VALIDATE, weil die vorhandenen Daten nicht auf Constraint- Verletzung geprüft werden. Wenn ein Constraint mit dieser Option aktiviert wird, sind keine Sperren auf der Tabelle erforderlich. Diese Methode eignet sich, wenn viel DML-Aktivität auf einer Tabelle erforderlich ist wie typischerweise in einer OLTP- Umgebung. Syntax Mit folgendem Befehl können Sie ein Constraint mit NOVALIDATE aktivieren: ALTER TABLE [ schema. ] table ENABLE NOVALIDATE {CONSTRAINT constraint PRIMARY KEY UNIQUE ( column [, column ]... ) } [ USING INDEX index_clause ] Oracle8i Datenbankadministration Teil I 13-19

20 Lektion 13: Datenintegrität verwalten Einschränkungen Die Klausel USING INDEX kann nur für Primärschlüssel- und Unique- Constraints verwendet werden, die als aufschiebbar definiert wurden und für die gilt: Die Constraints wurden deaktiviert erzeugt. Die Constraints wurden deaktiviert und der Index gelöscht. Wenn der Index allerdings erst erzeugt werden muss, ist diese Methode nicht besser als die Aktivierung mit VALIDATE, da der Oracle Server die Tabelle sperren muss, um den Index aufzubauen. Hinweis: Deaktivieren von Constraints wird im Kurs Professioneller Einstieg in SQL und Oracle behandelt Oracle8i Datenbankadministration Teil I

21 Constraints verwalten Constraints aktivieren Aktivieren mit VALIDATE Sperren der Tabelle Eindeutige und nicht eindeutige Indizes sind möglich Tabellendaten müssen gültig sein ALTER TABLE summit.employee ENABLE VALIDATE CONSTRAINT emp_dept_fk; Copyright Oracle Corporation, All rights reserved. Mit VALIDATE aktivieren Bei der Aktivierung eines Constraint mit VALIDATE werden die vorhandenen Daten auf Constraint-Verletzung geprüft. Dies ist die Default-Einstellung beim Aktivieren eines Constraint. Die Aktivierung eines deaktivierten Constraint mit VALIDATE hat folgende Wirkung: Die Tabelle wird gesperrt und Änderungen an der Tabelle werden verhindert, bis die Validierung der vorhandenen Daten abgeschlossen ist. Der Oracle Server erstellt einen Index auf den Indexspalten, wenn noch keiner vorhanden ist. Für ein Primärschlüssel- bzw. Unique-Constraint, das sofort ausgeführt wird, wird ein eindeutiger Index erstellt. Für ein aufschiebbares Primärschlüssel- bzw. Unique-Constraint wird ein nicht-eindeutiger Index erstellt. Wird der Befehl bei der Überprüfung des Constraint ausgeführt, sind keine Tabellensperren für die Validierung erforderlich. Das Constraint garantiert, dass während der Validierung keine Constraint-Verletzungen vorkommen können. Dies hat folgende Vorteile: Alle Constraints werden gleichzeitig aktiviert. Jedes Constraint wird intern parallelisiert. Gleichzeitige Aktivitäten auf der Tabelle sind erlaubt. Oracle8i Datenbankadministration Teil I 13-21

22 Lektion 13: Datenintegrität verwalten Syntax Mit folgendem Befehl aktivieren Sie ein Constraint mit VALIDATE: ALTER TABLE [ schema. ] table ENABLE [ VALIDATE ]{CONSTRAINT constraint PRIMARY KEY UNIQUE ( column [, column ]... ) } [ USING INDEX index_clause ] [ EXCEPTIONS INTO [ schema. ] table ] Hinweis Die Option VALIDATE ist die Default-Option. Sie muss daher nicht angegeben werden, wenn ein deaktiviertes Constraint aktiviert wird. Enthält die Tabelle Daten, die das Constraint verletzen, wird die Anweisung zurückgerollt und das Constraint bleibt deaktiviert. Die EXCEPTIONS-Klausel wird im folgenden Abschnitt behandelt Oracle8i Datenbankadministration Teil I

23 Constraints verwalten EXCEPTIONS-Tabelle verwenden 1. EXCEPTIONS-Tabelle erzeugen (utlexcpt.sql). 2. ALTER TABLE mit EXCEPTIONS-Klausel ausführen. 3. Zeilen mit ungültigen Daten durch eine Unterabfrage auf EXCEPTIONS identifizieren. 4. Fehler korrigieren. 5. ALTER TABLE erneut ausführen, um as Constraint zu aktivieren Copyright Oracle Corporation, All rights reserved. So werden Constraint-Verletzungen identifiziert Die EXCEPTIONS-Klausel unterstützt die Identifizierung von Zeilen, die ein zu aktivierendes Constraint verletzen. So können Sie Constraint-Verletzungen entdecken und beheben und das Constraint wieder aktivieren: 1 Wenn die Tabelle EXCEPTIONS noch nicht existiert, führen Sie das Skript utlexcpt.sql im Administrationsverzeichnis aus, um diese Tabelle zu erstellen: Statement processed. SQL> DESCRIBE exceptions Name Null? Type ROW_ID UNDEFINED OWNER VARCHAR2(30) TABLE_NAME VARCHAR2(30) CONSTRAINT VARCHAR2(30) Bei Windows NT steht das Skript im Verzeichnis %ORACLE_HOME%\RDBMS\ADMIN. Oracle8i Datenbankadministration Teil I 13-23

24 Lektion 13: Datenintegrität verwalten So werden Constraint-Verletzungen identifiziert (Fortsetzung) 2 Führen Sie den Befehl ALTER TABLE mit der Klausel EXCEPTIONS aus: SQL> ALTER TABLE summit.employee 2 ENABLE VALIDATE CONSTRAINT employee_dept_id_fk 3 EXCEPTIONS INTO system.exceptions; ALTER TABLE summit.employee * ORA-02298: cannot enable (summit.emp_dept_fk) - parent keys not found Wenn die Tabelle EXCEPTIONS nicht mit dem Namen des Eigentümers qualifiziert wird, muss sie dem Eigentümer der zu ändernden Tabelle gehören. In die Tabelle EXCEPTIONS werden Zeilen eingefügt. Bevor sie den Befehl erneut ausführen, leeren Sie die Tabelle mit TRUNCATE, um alle vorhandenen Zeilen zu entfernen. 3 Identifizieren Sie ungültige Daten durch eine Unterabfrage der Tabelle EXCEPTIONS: SQL> SELECT rowid, id, last_name, dept_id 2 FROM summit.employee 3 WHERE ROWID in (SELECT row_id 4 FROM exceptions) 5 FOR UPDATE; ROWID ID LAST_NAME DEPT_ID AAAAeyAADAAAAA1AAA 1003 Pirie 50 1 row selected. 4 Korrigieren Sie die Fehler: SQL> UPDATE summit.employee 2 SET id=10 3 WHERE rowid= AAAAeyAADAAAAA1AAA ; 1 row processed. SQL> COMMIT; Statement processed Oracle8i Datenbankadministration Teil I

25 Constraints verwalten So werden Constraint-Verletzungen identifiziert (Fortsetzung) 5 Leeren Sie die Tabelle EXCEPTIONS und aktivieren Sie das Constraint erneut: SQL> TRUNCATE TABLE exceptions; Statement processed. SQL> ALTER TABLE summit.employee 2 ENABLE VALIDATE CONSTRAINT employee_dept_id_fk 3 EXCEPTIONS INTO system.exceptions; Statement processed. So löschen Sie Constraints: ALTER TABLE summit.employee DROP CONSTRAINT emp_en_uk; So löschen Sie eine Tabelle und alle referenzierenden Fremdschlüssel: DROP TABLE department CASCADE CONSTRAINTS; Oracle8i Datenbankadministration Teil I 13-25

26 Lektion 13: Datenintegrität verwalten Informationen über Constraints abfragen Constraint-Informationen abfragen DBA_CONSTRAINTS OWNER CONSTRAINT_NAME CONSTRAINT_TYPE TABLE_NAME SEARCH_CONDITION R_OWNER R_CONSTRAINT_NAME DELETE_RULE STATUS DEFERRABLE DEFERRED VALIDATED GENERATED BAD RELY LAST_CHANGE DBA_CONS_COLUMNS OWNER CONSTRAINT_NAME TABLE_NAME COLUMN_NAME POSITION Copyright Oracle Corporation, All rights reserved. Constraints und ihr Zustand Folgende Abfrage liefert Name, Typ und Status von allen Constraints auf der Tabelle EMPLOYEE von SUMMIT: SQL> SELECT constraint_name, constraint_type, deferrable, 2 deferred, validated 3 FROM dba_constraints 4 WHERE owner='summit' 5 AND table_name='employee'; CONSTRAINT_NAME C DEFERRABLE DEFERRED VALIDATED EMPLOYEE_DEPT.. R DEFERRABLE DEFERRED VALIDATED EMPLOYEE_ID_PK P DEFERRABLE IMMEDIATE VALIDATED SYS_C00565 C NOT DEFERRABLE IMMEDIATE VALIDATED 3 rows selected Oracle8i Datenbankadministration Teil I

27 Informationen über Constraints abfragen Constraints und ihr Zustand (Fortsetzung) In der folgenden Tabelle sind die Spalten der View DBA_CONSTRAINTS beschrieben, die nicht selbsterklärend sind. Name CONSTRAINT_TYPE SEARCH_CONDITION R_OWNER R_CONSTRAINT_NAME GENERATED BAD RELY LAST_CHANGE Beschreibung Der Typ eines Constraint ist P für Primärschlüssel, U für Unique, R für Fremdschlüssel und C für Check. NOT NULL-Constraints werden als CHECK-Constraints gespeichert. gibt die für ein Check-Constraint angegebene Bedingung an gibt bei Fremdschlüsseln Eigentümer und Name des referenzierten Constraint an gibt an, ob das Constraint ein vom System generiertes Constraint ist. Gültige Werte sind USER NAME und GENERATED NAME. gibt an, ob das Constraint neu definiert werden muss, um Probleme wie bei der Umstellung aufs Jahr 2000 zu vermeiden. (Dies kann vorkommen, weil in früheren Oracle Versionen 2-stellige Jahresangaben in CHECK-Constraints erlaubt waren.) wenn dieses Flag gesetzt ist, wird es vom Optimizer verwendet Datum, an dem das Constraint zuletzt aktiviert und deaktiviert wurde Spalten in Constraints Folgende Abfrage liefert die Spalten in den Constraints auf der EMPLOYEE-Tabelle von SUMMIT: SQL> SELECT c.constraint_name, c.constraint_type, 2 cc.column_name 3 FROM dba_constraints c, dba_cons_columns cc 4 WHERE c.owner='summit' 5 AND c.table_name='employee' 6 AND c.owner = cc.owner 7 AND c.constraint_name = cc.constraint_name 8 ORDER BY cc.position; Oracle8i Datenbankadministration Teil I 13-27

28 Lektion 13: Datenintegrität verwalten Spalten in Constraints (Fortsetzung) CONSTRAINT_NAME C COLUMN_NAME EMPLOYEE_DEPT... R DEPT_ID EMPLOYEE_ID_PK P ID SYS_C00565 C LAST_NAME 3 rows selected. Primärschlüssel Fremdschlüssel-Beziehungen herausfinden Folgende Abfrage liefert die Fremdschlüssel auf der EMPLOYEE-Tabelle von SUMMIT und die Constraints auf der Elterntabelle: SQL> SELECT c.constraint_name AS "Foreign Key", 2 p.constraint_name AS "Referenced Key", 3 p.constraint_type, 4 p.owner, 5 p.table_name 6 FROM dba_constraints c, dba_constraints p 7 WHERE c.owner='summit' 8 AND c.table_name='employee' 9 AND c.constraint_type='r' 10 AND c.r_owner=p.owner 11 AND c.r_constraint_name = p.constraint_name; Foreign Key Referenced Key C OWNER TABLE_NAME EMPLOYEE_DEPT.. DEPT_PK P SUMMIT DEPARTMENT 1 row selected Oracle8i Datenbankadministration Teil I

29 Zusammenfassung Zusammenfassung Zusammenfassung In dieser Lektion sollten Sie Folgendes gelernt haben: Datenintegrität implementieren Geeignete Strategien für das Erzeugen und Verwalten von Constraints anwenden Information aus dem Data Dictionary abfragen Copyright Oracle Corporation, All rights reserved. Oracle8i Datenbankadministration Teil I 13-29

30 Lektion 13: Datenintegrität verwalten Kurzreferenz Kontext Initialisierungsparameter Dynamische Performance-Views Data Dictionary-Views Befehle Prozeduren und Funktionen in Packages Referenz keine keine DBA_CONSTRAINTS DBA_CONS_COLUMNS CREATE TABLE... CONSTRAINT ALTER TABLE ADD CONSTRAINT... EXCEPTIONS INTO ALTER TABLE... DISABLE CONSTRAINT ALTER TABLE... ENABLE NOVALIDATE CONSTRAINT ALTER TABLE... ENABLE VALIDATE CONSTRAINT... EXCEPTIONS INTO keine Oracle8i Datenbankadministration Teil I

Erzeugen von Constraints

Erzeugen von Constraints Erzeugen von Constraints Was sind Constraints? Durch Constraints werden Regeln auf einem bestimmtem Tabellen-Level erzwungen. Die folgenden Constraint-Typen sind in Oracle integriert: NOT NULL UNIQUE Key

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

... Kontrolldatei administrieren

... Kontrolldatei administrieren 6... Kontrolldatei administrieren Lektion 6: Kontrolldatei administrieren Ziele Ziele Nach dieser Lektion sollten Sie Folgendes können: Arbeiten mit der Kontrolldatei erklären Inhalt der Kontrolldatei

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

Kapitel 7: Referentielle Integrität

Kapitel 7: Referentielle Integrität Kapitel 7: Referentielle Integrität Im Allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen (IB) erfüllen. Integritätsbedingungen

Mehr

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel 4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu

Mehr

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

Mehr

Erzeugung und Veränderung von Tabellen

Erzeugung und Veränderung von Tabellen Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen

Mehr

VO Datenmodellierung. Katrin Seyr

VO Datenmodellierung. Katrin Seyr Datenintegrität Datenintegrität VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Datenintegrität 1. Überblick Überblick 1 Überblick 2 Integritätsbedingungen

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

Beispiel zur referentiellen Integrität

Beispiel zur referentiellen Integrität 3. Der SQL-Standard 3.14. Integrität und Trigger Seite 1 Beispiel zur referentiellen Integrität CREATE TABLE T1( k1 NUMERIC NOT NULL PRIMARY KEY); CREATE TABLE T2( k2 NUMERIC NOT NULL PRIMARY KEY, k1 NUMERIC,

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

6. Datenintegrität. Integritätsbedingungen

6. Datenintegrität. Integritätsbedingungen 6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können

Mehr

Integritätsbedingungen Eindeutige Identifikation (1)

Integritätsbedingungen Eindeutige Identifikation (1) 8. Tabellendefinition in SQL 8-1 8. Tabellendefinition in SQL 8-2 Inhalt 1. Schlüssel Tabellendefinitionen 2. Fremdschlüssel 3. CREATE TABLE-Syntax 4. DROP TABLE 5. ALTER TABLE 8. Tabellendefinition in

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Konstante Relationen

Konstante Relationen Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine

Mehr

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne Informatik für Ökonomen II: Datenintegrität Prof. Dr. Carl-Christian Kanne 1 Konsistenzbedingungen DBMS soll logische Datenintegrität gewährleisten Beispiele für Integritätsbedingungen Schlüssel Beziehungskardinalitäten

Mehr

Datenbanksysteme I Integrität und Trigger Felix Naumann

Datenbanksysteme I Integrität und Trigger Felix Naumann Datenbanksysteme I Integrität und Trigger 9.5.2011 Felix Naumann Motivation Aktive Datenbanken 2 Einzufügende Daten können fehlerhaft sein Typographische Fehler, logische Fehler Lösung 1: Bessere Anwendung

Mehr

Automatisierte Datenmigration mit dynamischen SQL

Automatisierte Datenmigration mit dynamischen SQL Automatisierte Datenmigration mit dynamischen SQL Rolf Wesp Consultant Rolf.Wesp@trivadis.com Düsseldorf, 27. Oktober 2009 Baden Basel Bern Brugg Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br.

Mehr

SQL. Fortgeschrittene Konzepte Auszug

SQL. Fortgeschrittene Konzepte Auszug SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt

Mehr

Oracle 9i Einführung Performance Tuning

Oracle 9i Einführung Performance Tuning Kurs Oracle 9i Einführung Performance Tuning Teil 3 Der Optimizer Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 16 Seite 1 von 16 1. auf Tabellen 2. 3. Optimizer 4. Optimizer RBO 5. Optimizer CBO 6.

Mehr

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

Mehr

Datenbanksysteme 2013

Datenbanksysteme 2013 Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

Datenintegrität. Bisherige Integritätsbedingungen

Datenintegrität. Bisherige Integritätsbedingungen Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge

Mehr

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten Fakultät für Informatik & Wirtschaftsinformatik Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär-

Mehr

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement Funktion definieren Gibt Summe der Gehälter zurück Aufruf in einem SQL-Statement Dr. Christian Senger Einführung PL/SQL 1 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN

Mehr

Datenschutz: Zugriffsrechte in SQL

Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-1 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt Datenschutz: Zugriffsrechte in SQL 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe MySQL 4, 5 Kapitel 16: Fremdschlüssel Gliederung 1 Gliederung 1 Fremdschlüssel sichern die Referenzielle Integrität voneinander abhängiger Tabellen. Um Fremdschlüssel definieren zu können, müssen Sie die

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Übung PL/SQL Trigger Lösungen

Übung PL/SQL Trigger Lösungen Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde

Mehr

Oracle Database 12c Was Sie immer schon über Indexe wissen wollten

Oracle Database 12c Was Sie immer schon über Indexe wissen wollten Oracle Database 12c Was Sie immer schon über Indexe wissen wollten Marco Mischke, 08.09.2015 DOAG Regionaltreffen B* Indexe - Aufbau 0-Level Index A-F G-Z 1-Level Index A-F G-Z 2-Level Index A-F G-M N-Z

Mehr

Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird:

Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird: ALTER TABLE BEFEHLE Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird: Fügt die Spalte Adresse zur Tabelle Kunden hinzu: ALTER TABLE Kunden ADD COLUMN

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

SQL. Datendefinition

SQL. Datendefinition SQL Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer oder logischer Natur sein. Das folgende Kapitel beschäftigt sich mit der

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

Vorlesung Informationssysteme

Vorlesung Informationssysteme Saarbrücken, 25.06.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung Kapitel 8: Transaktionen und wann sie gebraucht werden Erik Buchmann (buchmann@cs.uni-saarland.de) Foto: M. Strauch

Mehr

Kapitel 7 TEIL II: Dies und Das

Kapitel 7 TEIL II: Dies und Das Kapitel 7 TEIL II: Dies und Das Teil I: Grundlagen ER-Modell und relationales Datenmodell Umsetzung in ein Datenbankschema: CREATE TABLE Anfragen: SELECT -- FROM -- WHERE Arbeiten mit der Datenbank: DELETE,

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

IBM Informix SQL. Seminarunterlage. Version 11.04 vom

IBM Informix SQL. Seminarunterlage. Version 11.04 vom Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

Mehr

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 5. SQL: Erstellen von Tabellen Erzeugen und Löschen von Tabellen Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 106 SQL Structured Query Language Historie: Anfänge ca. 1974 als SEQUEL

Mehr

Kapitel 8: Datenintegrität

Kapitel 8: Datenintegrität Kapitel 8: Datenintegrität Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe einer Domäne Jetzt:

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Oracle Old Features. Vortrag für die DOAG-Konferenz Uwe M. Küchler, Valentia GmbH

Oracle Old Features. Vortrag für die DOAG-Konferenz Uwe M. Küchler, Valentia GmbH Oracle Old Features Vortrag für die DOAG-Konferenz 2011 17.11.2011 Uwe M. Küchler, Valentia GmbH Zur Person Generation C=64 Seit über 25 Jahren in der IT tätig 1997-2000 bei Oracle Seither durchgehend

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer

SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer SQL-Vertiefung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung Einführung SQL-Programmteile

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

Datendefinition und Datenmanipulation in SQL

Datendefinition und Datenmanipulation in SQL SQL Datendefinition und Datenmanipulation in SQL 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 SQL: Geschichte SQL (Structured Query Language) ist heute die bei weitestem populärste und verbreitetste

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Statische vs. dynamische Integritätsbedingungen Statische Integritätsbedingungen Bedingungen

Mehr

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15 Vorwort 13 Kapitel 1 Einleitung 15 Kapitel 2 SQL-der Standard relationaler Datenbanken... 19 2.1 Die Geschichte 19 2.2 Die Bestandteile 20 2.3 Die Verarbeitung einer SQL-Anweisung 22 2.4 Die Struktur von

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)

Mehr

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert

Mehr

Ein Ausflug zu ACCESS

Ein Ausflug zu ACCESS Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3) Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Kuriositäten in der Oracle-Datenbank

Kuriositäten in der Oracle-Datenbank Kuriositäten in der Oracle-Datenbank 19. Deutsche ORACLE-Anwenderkonferenz Do. 16.11., 14.00 Uhr, Variohalle 1 Dr. Peter Alteheld, Systemberater MT AG, Bereich Solutions Development, FB Plattform Services

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler SQL-Vertiefung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2015/16 Gliederung

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

S W I S S O R A C L E U S E R G R O U P. N e w s l e t t e r 2 / 2 0 1 1 A p r i l 2 0 1 1. Oracle 11g

S W I S S O R A C L E U S E R G R O U P. N e w s l e t t e r 2 / 2 0 1 1 A p r i l 2 0 1 1. Oracle 11g S W I S S O R A C L E U S E R G R O U P www.soug.ch N e w s l e t t e r 2 / 2 0 1 1 A p r i l 2 0 1 1 Edition Based Redefinition Erfolgreicher Datenschutz Hybrid Columnar Compression Archive Log Maintenance

Mehr

Kurs. Teil 7 UNDO-Management. Universität Hannover. Agenda. Einführung. Nutzung RBS Oracle 9i Einführung Performance Tuning.

Kurs. Teil 7 UNDO-Management. Universität Hannover. Agenda. Einführung. Nutzung RBS Oracle 9i Einführung Performance Tuning. Kurs Oracle 9i Performance Tuning Teil 7 UNDO-Management Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 23 Seite 1 von 23 1. 2. Nutzung des Rollback Segments 3. 4. 5. Größe von UNDO- TBS berechnen 6.

Mehr

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

Mehr

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking Grundlagen von Datenbanken Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking SQL DDL: Referentielle Aktionen (1/3) Potentielle Gefährdung der referentiellen Integrität durch Änderungsoperationen

Mehr

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

3.17 Zugriffskontrolle

3.17 Zugriffskontrolle 3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

Mehr

Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17

Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17 Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren Aufgabe 1 10 = 5 + 5 Punkte) DDL Relationenmodell eer-diagramm /10) Gegeben sei das folgende SQL-DDL-Skript zur Generierung eines Oracle-Datenbankschemas:

Mehr

Übung 01 Tabellen erstellen

Übung 01 Tabellen erstellen UEB-01-1 Übung 01 Tabellen erstellen Die folgende Musterrechnung dokumentiert eine Miniwelt "Rechnung" in einer Firma. 1. Welche Objekte und Beziehungen lassen sich daraus ableiten? 2. Erstellen Sie ein

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198 Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen

Mehr

Arbeit mit zusammengesetzten Datentypen

Arbeit mit zusammengesetzten Datentypen Arbeit mit zusammengesetzten Datentypen Zusammengesetzte Datentypen Typen: PL/SQL RECORDS PL/SQL TABELLEN Enthalten interne Komponenten Sind wiederverwendbar Copyright Oracle Corporation, 1998. All rights

Mehr

Die Anweisung create table

Die Anweisung create table SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl

Mehr

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

Mehr

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press Marcus Throll, Oliver Bartosch Einstieg in SQL Verstehen, einsetzen, nachschlagen Galileo Press Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr