PostgreSQL - CREATE Table: Ein Anfängerleitfaden
Hallo da draußen, zukünftige Datenbank-Zauberer! Heute machen wir uns auf eine aufregende Reise in die Welt von PostgreSQL, dabei konzentrieren wir uns insbesondere darauf, wie man Tabellen erstellt. Machen Sie sich keine Sorgen, wenn Sie noch nie eine Zeile Code geschrieben haben – ich werde Ihr freundlicher Guide sein, und wir gehen das Schritt für Schritt durch. Am Ende dieses Tutorials werden Sie Tabellen wie ein Profi erstellen können!
Was ist eine Tabelle in PostgreSQL?
Bevor wir uns den Details der Tabelleerstellung zuwenden, lassen Sie uns verstehen, was eine Tabelle eigentlich ist. Stellen Sie sich eine Tabelle vor – Sie wissen, diese Raster mit Zeilen und Spalten? Eine Datenbanktabelle ist sehr ähnlich. Es ist eine Sammlung von verwandten Daten, die in Zeilen (auch als Datensätze bezeichnet) und Spalten (auch als Felder bezeichnet) organisiert sind.
Zum Beispiel, wenn Sie eine kleine Bibliothek führen, könnten Sie eine Tabelle namens "Bücher" mit Spalten wie "Titel", "Autor", "ISBN" und "Veröffentlichungsdatum" haben. Jede Zeile in dieser Tabelle würde ein einzelnes Buch in Ihrer Bibliothek darstellen.
Die CREATE TABLE Syntax
Nun schauen wir uns die grundlegende Syntax zur Erstellung einer Tabelle in PostgreSQL an:
CREATE TABLE tabellen_name (
spalte1 datentyp constraints,
spalte2 datentyp constraints,
spalte3 datentyp constraints,
....
);
Lassen Sie sich nicht erschrecken! Es ist einfacher, als es aussieht. Lassen Sie uns das einmal durchgehen:
-
CREATE TABLE
: Dies ist der Befehl, der PostgreSQL mitteilt, dass Sie eine neue Tabelle erstellen möchten. -
tabellen_name
: Hier geben Sie an, wie Sie Ihre Tabelle nennen möchten. - Innerhalb der Klammern listen Sie alle Spalten auf, die Sie in Ihrer Tabelle haben möchten.
- Für jede Spalte geben Sie an:
- Den Namen der Spalte
- Den Datentyp (wie INTEGER für ganze Zahlen, TEXT für Zeichenketten, etc.)
- Jegliche Constraints (wie NOT NULL, wenn die Spalte immer einen Wert haben muss)
Beispiele: Lasst uns einige Tabellen erstellen!
Beispiel 1: Eine einfache Bücher-Tabelle
Fangen wir mit einem einfachen Beispiel an. Wir erstellen eine Tabelle für unsere imaginierte Bibliothek:
CREATE TABLE bücher (
buch_id SERIELL PRIMARY KEY,
titel VARCHAR(100) NOT NULL,
autor VARCHAR(50) NOT NULL,
veröffentlichungsdatum DATE,
isbn VARCHAR(13) UNIQUE
);
Lassen Sie uns das einmal durchgehen:
-
buch_id
: Dies ist ein eindeutiger Identifikator für jedes Buch. SERIELL bedeutet, dass er automatisch für jedes neue hinzugefügte Buch erhöht wird. -
titel
: Dies kann bis zu 100 Zeichen lang sein und darf nicht leer sein (NOT NULL). -
autor
: Bis zu 50 Zeichen, darf ebenfalls nicht leer sein. -
veröffentlichungsdatum
: Dies ist optional (wir haben NOT NULL nicht angegeben). -
isbn
: Dies ist für jedes Buch eindeutig.
Beispiel 2: Eine komplexere Kunden-Tabelle
Nun erstellen wir eine etwas komplexere Tabelle für Kunden:
CREATE TABLE kunden (
kunden_id SERIELL PRIMARY KEY,
vorname VARCHAR(50) NOT NULL,
nachname VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
telefon VARCHAR(20),
registrationsdatum DATE DEFAULT CURRENT_DATE,
treuepunkte INTEGER DEFAULT 0 CHECK (treuepunkte >= 0)
);
Diese Tabelle führt einige neue Konzepte ein:
-
DEFAULT
: Wir verwenden dies fürregistrationsdatum
, um es automatisch auf das heutige Datum zu setzen, wenn ein neuer Kunde hinzugefügt wird. -
CHECK
: Dies stellt sicher, dasstreuepunkte
niemals negativ sein können.
Datentypen in PostgreSQL
PostgreSQL bietet eine Vielzahl von Datentypen. Hier sind einige häufig verwendete:
Datentyp | Beschreibung | Beispiel |
---|---|---|
INTEGER | Ganze Zahl | 42 |
SERIELL | Automatisch inkrementierende Ganzzahl | Automatisch zugewiesen |
VARCHAR(n) | Variabellange Zeichenkette bis zu n Zeichen | 'Hallo, Welt!' |
TEXT | Variabellange Zeichenkette beliebiger Länge | 'Ein sehr langer Text...' |
DATE | Datum (ohne Uhrzeit) | '2023-06-15' |
TIMESTAMP | Datum und Uhrzeit | '2023-06-15 14:30:00' |
BOOLEAN | True/False-Wert | TRUE oder FALSE |
NUMERIC(p,s) | Exakte Zahl mit p Stellen (s nach dem Dezimalpunkt) | 123.45 |
Constraints in PostgreSQL
Constraints sind Regeln, die wir auf unsere Spalten setzen. Hier sind einige häufig verwendete:
Constraint | Beschreibung |
---|---|
NOT NULL | Die Spalte darf keinen NULL-Wert enthalten |
UNIQUE | Alle Werte in der Spalte müssen unterschiedlich sein |
PRIMARY KEY | Eindeutig identifiziert jede Zeile in der Tabelle |
FOREIGN KEY | Stellt die Referentielle Integrität zwischen zwei Tabellen sicher |
CHECK | Stellt sicher, dass alle Werte in einer Spalte eine spezifische Bedingung erfüllen |
DEFAULT | Setzt einen Standardwert für eine Spalte |
Noch einige weitere Beispiele
Beispiel 3: Eine Tabelle mit Fremdschlüssel
Lassen Sie uns eine 'Bestellungen'-Tabelle erstellen, die auf unsere 'Kunden'-Tabelle verweist:
CREATE TABLE bestellungen (
bestell_id SERIELL PRIMARY KEY,
kunden_id INTEGER REFERENCES kunden(kunden_id),
bestell datum DEFAULT CURRENT_DATE,
gesamt_betrag NUMERIC(10,2) CHECK (gesamt_betrag > 0)
);
Diese Tabelle hat einen Fremdschlüssel (kunden_id
), der auf die kunden
-Tabelle verweist, um sicherzustellen, dass jede Bestellung mit einem gültigen Kunden verbunden ist.
Beispiel 4: Eine Tabelle mit zusammengesetztem Primärschlüssel
Manchmal möchte man einen Primärschlüssel, der aus mehreren Spalten besteht:
CREATE TABLE buch_autoren (
buch_id INTEGER REFERENCES bücher(buch_id),
autor_id INTEGER REFERENCES autoren(autor_id),
PRIMARY KEY (buch_id, autor_id)
);
Diese Tabelle könnte verwendet werden, um Bücher mit mehreren Autoren oder Autoren, die mehrere Bücher geschrieben haben, zu verwalten.
Schlussfolgerung
Glückwunsch! Sie haben gerade Ihre ersten Schritte in der Welt der PostgreSQL-Tabelleerstellung gemacht. Denken Sie daran, Übung macht den Meister. Versuchen Sie, Tabellen für verschiedene Szenarien zu erstellen – vielleicht eine Musikbibliothek, ein Kochbuch oder sogar eine Datenbank für Ihre Lieblings-Videospiele.
Haben Sie keine Angst vor Experimenten und Fehlern – das ist, wie wir lernen! Und immer daran denken: In der Welt der Datenbanken haben Sie die Macht, um Datenwelten zu ERSTELLEN, ZU ÄNDERN und sogar ZU LÖSCHEN. Verwenden Sie diese Macht klug, junger Padawan!
Frohes Coden und möge die PostgreSQL mit Ihnen sein!
Credits: Image by storyset