Seitenleiste

Community

SQL

Grundlagen

Datenbanksysteme

Client/Server

Eingebettet

Tabellen erstellen

Syntax

CREATE TABLE Tabellenname
(
 --Folgende Constraintart nennt man "Spaltenconstraints"
 Spaltenname1 Spaltentyp [[Constraintname1] Constrainttyp [ON DELETE | ON UPDATE],
 Spaltenname2 Spaltentyp [Constraintname2] Constrainttyp [ON DELETE | ON UPDATE],
 ...]
 
 --Diese Constraints nennt man Tabellenconstraints
 [CONSTRAINT Constraintname Constrainttyp (Spaltenname) [ON DELETE | ON UPDATE]
); --Strichpunkt zum Schluss ist wichtig, 
--da oft mehrere Tabellen hintereinander gleichzeitig erzeugt werden

Beim Anlegen einer Tabelle können optional Constraints (Bedingungen) angegeben werden. Diese werden beim Erzeugen/Ändern/Löschen von Tabelleneinträgen überprüft. Bei Verletzungen der Constraintbedingung wird die Operation nicht durchgeführt.

Spaltentypen/Datentypen

Constrainttypen

Beispiele

In den folgenden Beispielen erzeugen wir unsere Mitgliedertabelle.

Beispiel Spaltenconstraints

CREATE TABLE Mitarbeiter (
  Mitarbeiternummer INTEGER PRIMARY KEY,
  Name VARCHAR2(30) NOT NULL,
  Vorgesetzter INTEGER NOT NULL,
  Gehalt NUMBER(10,2) NOT NULL, --NUMBER weil wir ja 2 Nachkommastellen beim Gehalt haben können
  Abteilungsnummer INTEGER REFERENCES Abteilung(Abteilungsnummer)
);

Beispiel Tabellenconstraints

CREATE TABLE Mitarbeiter (
  Mitarbeiternummer INTEGER,
  Name VARCHAR2(30) NOT NULL,
  Vorgesetzter INTEGER NOT NULL,
  Gehalt NUMBER(10,2), --NUMBER weil wir ja 2 Nachkommastellen beim Gehalt haben können
  Abteilungsnummer INTEGER,
 
  CONSTRAINT pk_mitarbeiter_mitarbeiternummer PRIMARY KEY (Mitarbeiternummer),
  CONSTRAINT fk_mitarbeiter_abteilungsnummer FOREIGN KEY Abteilungsnummer REFERENCES Abteilung(Abteilungsnummer)
);