DDL, Constraints, Views und Indexe
DDL, Constraints, Views und Indexe
Datenbanken brauchen Regeln. Sie sollen nicht nur Daten speichern, sondern auch verhindern, dass ungültige Daten entstehen.
DDL
Data Definition Language definiert Datenbankobjekte.
Wichtige Befehle:
CREATEALTERDROP
Beispiel:
CREATE TABLE kunde (
kundennummer NUMBER PRIMARY KEY,
name VARCHAR2(100) NOT NULL,
email VARCHAR2(200)
);
ALTER TABLE
Mit ALTER TABLE wird eine Tabelle nachträglich verändert.
Beispiele:
ALTER TABLE kunde
ADD geburtsdatum DATE;
ALTER TABLE kunde
MODIFY name VARCHAR2(150);
ALTER TABLE kunde
DROP COLUMN geburtsdatum;
Constraints
Constraints sind Regeln für Daten.
| Constraint | Bedeutung |
|---|---|
PRIMARY KEY | eindeutige Kennung einer Zeile |
FOREIGN KEY | Verweis auf eine andere Tabelle |
NOT NULL | Wert darf nicht leer sein |
UNIQUE | Wert muss eindeutig sein |
CHECK | Wert muss eine Bedingung erfüllen |
Primärschlüssel-Constraint
CREATE TABLE film (
film_id NUMBER PRIMARY KEY,
titel VARCHAR2(200) NOT NULL
);
Fremdschlüssel-Constraint
CREATE TABLE vorstellung (
vorstellung_id NUMBER PRIMARY KEY,
film_id NUMBER NOT NULL,
startzeit DATE,
CONSTRAINT fk_vorstellung_film
FOREIGN KEY (film_id)
REFERENCES film (film_id)
);
Damit kann keine Vorstellung auf einen nicht existierenden Film verweisen.
CHECK-Constraint
CREATE TABLE ticket (
ticket_id NUMBER PRIMARY KEY,
preis NUMBER CHECK (preis >= 0)
);
So werden fachlich ungültige Werte direkt in der Datenbank abgefangen.
Views
Eine View ist eine gespeicherte Abfrage, die sich wie eine virtuelle Tabelle verwenden lässt.
CREATE VIEW veteran AS
SELECT *
FROM players
WHERE year_of_birth < 1950;
Abfrage:
SELECT *
FROM veteran;
Views können helfen bei:
- Vereinfachung komplexer Abfragen
- Zugriffsbeschränkung auf bestimmte Spalten
- fachlicher Sicht auf Daten
- Wiederverwendung
WITH CHECK OPTION
Bei änderbaren Views kann ein Problem entstehen: Eine Änderung kann dazu führen, dass der Datensatz nicht mehr zur View passt.
CREATE VIEW veteran AS
SELECT *
FROM players
WHERE year_of_birth < 1950
WITH CHECK OPTION;
WITH CHECK OPTION verhindert Änderungen, die die View-Bedingung verletzen.
Indexe
Ein Index beschleunigt Suchzugriffe.
Vergleich: Ein Buchindex hilft, ein Thema schnell zu finden, ohne das ganze Buch zu lesen.
CREATE INDEX idx_kunde_email
ON kunde (email);
Vorteile:
- schnellere Suche
- schnellere Joins
- schnellere Sortierungen in bestimmten Fällen
Nachteile:
- braucht Speicherplatz
- verlangsamt
INSERT,UPDATEundDELETE - muss gepflegt werden
Integrität
Datenintegrität bedeutet, dass Daten korrekt, vollständig und widerspruchsfrei bleiben.
Wichtige Formen:
- Entitätsintegrität durch Primärschlüssel
- referentielle Integrität durch Fremdschlüssel
- Wertebereichsintegrität durch Datentypen und Checks
- Geschäftsregeln durch Constraints oder Anwendungscode
Merksatz
Constraints schützen Datenqualität. Views strukturieren Zugriffe. Indexe beschleunigen Abfragen, kosten aber Pflegeaufwand.
Zuletzt aktualisiert: 6. Juni 2026