Databases Reference
In-Depth Information
insert into farben(farbe) values('Pik');
insert into farben(farbe) values('Kreuz')
werden die Datensätze automatisch mit Werten für die id von 1 bis 4 durchnum-
meriert. Je nach SQL-Dialekt gibt es zahlreiche Variationen für den Einsatz von
generated . Teilweise kann man den Anfangswert oder die Inkremente angeben,
teilweise werden anstatt generated auch andere proprietäre Schlüsselworte wie
serial oder auto_increment verwendet.
5.11
Statische Regeln
Aus einem Relationentyp können wir weitere Integritätsregeln ableiten. Für den
Relationentyp
mitarbeiter( id , name, geschlecht, email, zugehörigkeit, gehalt)
können wir etwa geeignete Datentypen für die Spalten ermitteln und ein passen-
des Tabellenschema anlegen:
create table mitarbeiter(
id int generated always as identity primary key,
name varchar(20),
geschlecht varchar(1),
email varchar(20) unique,
zugehoerigkeit int,
gehalt int
)
Wir nehmen an, dass es neben dem Primärschlüssel id und dem Schlüsselkandi-
daten email noch die folgenden Einschränkungen für unsere Daten gibt:
1.
Das Gehalt und die Dauer der Firmenzugehörigkeit sind größer als 0.
2.
Die E-Mail-Adressen enthalten immer ein @ -Zeichen.
3.
Für das Attribut geschlecht sind nur die Werte W und M zulässig.
4.
Das Gehalt von Mitarbeitern, die weniger als 10 Jahre in der Firma arbeiten,
ist auf 100 000 begrenzt.
Solche so genannten statischen Integritätsregeln können wir in SQL mit Hilfe des
Schlüsselwortes check formulieren. Wir setzen die erste Regel beispielhaft um:
Listing 5.8: Statische Integritätsregeln
create table mitarbeiter(
id int generated always as identity primary key,
name varchar(20),
geschlecht varchar(1),
 
Search WWH ::




Custom Search