Databases Reference
In-Depth Information
grenze für die Länge der einzelnen Beiträge existiert, ist
varchar
in diesem Fall
nicht die erste Wahl. Um Texte beliebiger Größe zu speichern, sieht SQL den Da-
tentyp
clob
(character large object) vor. Dieser Typ ist aber sicher kein vollwerti-
ger Ersatz für
varchar
, da ihm - zumindest in den meisten RDBMS - Funktio-
nalitäten etwa zur Mustererkennung oder zum Extrahieren von Textteilen fehlen.
Beliebige Binärdaten, also auch Bilder und MP3-Dateien, können in Spalten vom
Typ
blob
(binary large object) abgelegt werden. Hier ergibt sich die Schwierigkeit,
dass wir Daten nicht wie gewohnt mit
insert
-Anweisungen in
blob
-Spalten
einfügen können. Beim Typ
clob
ist dies noch möglich, für Daten vom Typ
blob
im Rahmen eines Programms, das wir etwa in Java (siehe Abschnitt 18.8) schrei-
ben.
Allesklar?
In einem RDBMS werden Tabellen mit Hilfe der
create table
-
Anweisung angelegt.
Die Spalten und der Datentyp der Spalten können beim Anlegen der Tabelle
oder später mit
alter table
angegeben werden.
Die Anweisung
create domain
kann genutzt werden, um Wertebereiche
zu definieren.
Primärschlüssel werden mit
primary key
definiert.
SQL erzwingt die Definition eines Primärschlüssels nicht.
Viele RDBMS bieten die Möglichkeit, die Primärschlüsselwerte automatisch
zu erzeugen.
Eine
create table
-Anweisung kann Integritätsregeln enthalten.
Statische Integritätsregeln werden mit
check
vereinbart.
Mit
references
werden Fremdschlüssel definiert, die dann eine Tabelle
referenzieren.
Eine Tabelle kann nur referenziert werden, wenn sie einen Primärschlüssel
oder einen mit
unique
definierten Schlüsselkandidaten enthält.
Wichtige Datentypen sind
varchar
,
int
,
decimal
,
timestamp
,
date
und
time
.
Jeder Datentyp enthält den Wert
null
. Durch die Existenz von
null
erge-
ben sich einige Probleme.
Für einzelne Spalten kann der Wert
null
ausgeschlossen werden.
Die Entitätsintegrität besagt, dass Primärschlüssel keine
null
-Werte enthal-
ten.