Databases Reference
In-Depth Information
5.3
Domänen - ein selten besuchtes Gebiet
Einen systematischen Überblick über SQL-Datentypen verschaffen wir uns in Ab-
schnitt 5.16. Zunächst können wir gut mit den beiden Typen varchar für Texte
und int für ganze Zahlen leben; der Typ varchar wird dabei noch mit einer
oberen Grenze für die maximale Anzahl von Zeichen im Text versehen. In der
Beispieltabelle beträgt diese obere Grenze 20.
Die Werte der vorgegebenen SQL-Datentypen können wir wie folgt einschränken:
create domain farbwerte as
varchar(20) check(value in ('Karo', 'Herz', 'Pik', 'Kreuz'));
create domain kartenwerte as
varchar(20) check(value in ('2','3','4','5','6',
'7','8','9','10','Bube','Dame','Koenig','Ass'))
Diese Bereiche können dann wie SQL-eigene Typen genutzt werden:
create table spielkarten(
farbe farbwerte,
karte kartenwerte
)
Der Versuch, mit
insert into spielkarten values('Eichel', 'Koenigin')
einen
Datensatz
einzufügen,
dessen
Werte
nicht
im
Definitionsbereich
von
farbwerte und kartenwerte liegen, misslingt selbstverständlich.
Auch wenn die genauere Syntax der Anweisung create domain noch im Laufe
des Kapitels klarer wird, sei schon jetzt darauf hingewiesen, dass längst nicht alle
RDBMS diesen Teil des SQL-Standards unterstützen.
5.4
Der Typ ist wichtig
Bereits am einfachen Beispiel der Tabelle spielkarten haben wir gesehen, dass
die Wahl des geeigneten Datentyps ein wesentlicher Faktor für die Konsistenz un-
serer Daten ist. Wir führen uns die Konsequenzen eines ungeeigneten Datentyps
an einem weiteren Beispiel vor Augen. Mit der folgenden Anweisung definieren
wir eine Tabelle für Personen mit ihren Namen und Telefonnummern:
create table personen(
name varchar(20),
telefon int
)
Search WWH ::




Custom Search