Bevor wir uns den Details der PostgreSQL Implementierung zuwenden, versuchen wir, eine einfache Tabelle anzulegen.
Dazu starten Sie mit 'psql test' eine interaktive Shell. Sie sind nun mit der Datenbank 'test' verbunden und können SQL Befehle absetzen:
test=# CREATE TABLE t_person ( id int4, vorname text, nachname text, stundensatz numeric); CREATE TABLE
In diesem Fall haben wir eine Tabelle mit vier Spalten angelegt. Die erste Spalte enthält eine Personennummer in Form einer 4-Byte Integer Variable. Es sollte also möglich sein, etwas mehr als 4 Milliarden Personennummern abzulegen ohne den Wertebereich zu sprengen. Die zweite und dritte Spalte enthalten Textfelder. Die maximale Länge eines Textfeldes kann 1 Gigabyte betragen. In aller Regel reicht das völlig aus. Im letzten Feld wollen wir den Stundensatz speichern. Der Stundensatz ist ein Feld vom Typ 'numeric'. Numerische Felder sind ein Feature von SQL und ermöglichen das Speichern von Zahlen beliebiger Länge und beliebiger Nachkommagenauigkeit. Im Gegensatz zu Feldern vom Typ 'float4' oder dergleichen, ist numeric absolut flexibel einsetzbar - benötigt aber klarerweise auch etwas mehr CPU Zeit.
Um sich die Struktur einer Tabelle anzusehen, bietet psql die Möglichkeit, '' zu verwenden:
test=# \d t_person
Table "public.t_person"
Column | Type | Modifiers
-------------+---------+-----------
id | integer |
vorname | text |
nachname | text |
stundensatz | numeric |
In diesem Fall wird die entsprechende Datenstruktur gelistet und kann vom Benutzer eingesehen werden.
Oft will man Tabellen nicht nur anlegen sondern auch wieder loswerden. In diesem Fall schlägt die Stunde von DROP TABLE:
test=# \h DROP TABLE Command: DROP TABLE Description: remove a table Syntax: DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
Will man keine Sonderfälle abdecken, geht das Löschen einer Tabelle sehr flott von Statten:
test=# DROP TABLE t_person; DROP TABLE