Datenbanken Online Lexikon TH Köln, Campus Gummersbach
Aktuelle Änderungen - Suchen:

CREATE TABLE-Anweisung (SQL, Oracle)

Die CREATE TABLE-Anweisung dient zur Anlage von Tabellen? im DBS. Sie geh�rt zum Sprachumfang der SQL-DDL. Hier ist nur der Auszug aus dem Befehl zu finden, der f�r das Anlegen von Spalten und Integrit�tsbedingungen relevant ist. Die vielen Optionen zur Spezifikation einer optimierten Speicherung der Daten sind hier nicht zu finden, zum einen, weil sie �u�erst umfangreich sind und zudem trotz aller Standardisierungen doch recht herstellerspezfisch ausfallen. F�r weitere Recherchen sei auf die Online-Hilfen der verschiedenen Hersteller verwiesen.

Syntax der CREATE-TABLE�Anweisung (Auszug):

 <CREATE TABLE Anweisung (SQL, Oracle, Auszug)> ::=
    CREATE TABLE Tabellenname  {( <Spaltendefinition>  [ , <Spaltendefinition> ]...
                                | <Tabellenbedingung>  [ , <Tabellenbedingung> ]...  
                                )} 
                              | { AS SELECT-Anweisung } ;

  <Spaltendefinition> ::=
    Spaltenname <SQL-Datentyp> [ DEFAULT <Ausdruck> ] 
                               [ <Spaltenbedingung> [ , <Spaltenbedingung> ]... ]

Beispiele:

  -- Hier nur Spaltenbedingungen
  CREATE TABLE Lager (
    LAnr  INTEGER  CONSTRAINT lager_pk PRIMARY KEY,
    LaBez CHAR(20) CONSTRAINT lager_uk UNIQUE,
    Plz   INTEGER  DEFAULT 56137 NOT NULL);

  -- hier nur Tabellenbedingungen, au�er NOT NULL
  -- Da bei der REFERENCES-Klausel keine Spalten angegeben werden, 
  -- wird automatisch der dortige Prim�rschl�ssel verwendet.
  CREATE TABLE Auftragsposition(
    AuftragsNr NUMERIC(10) NOT NULL,
    TNr        NUMERIC(10) NOT NULL,
    Menge      NUMERIC(10) DEFAULT 1 NOT NULL),
    CONSTRAINT aufpos_pk       PRIMARY KEY (Auftragsnr, TNr),
    CONSTRAINT aufpos_teile_fk FOREIGN KEY (TNr) REFERENCES Teile;

  -- hier wird eine komplette Tabellendefinition auf eine neue Tabelle �bertragen,
  -- allerdings werden dabei unter Oracle alle CONSTRAINTS bis auf die NOT NULL CONSTRAINTS nicht �bernommen
  -- Die Spaltennamen k�nnen dabei auch ver�ndert werden.
  CREATE TABLE LAGER_KOPIE 
    AS SELECT * FROM LAGER;

siehe auch : ALTER TABLE, DROP TABLE, Namensraum

Quellen:

  • ANSI/ISO/IEC 9075-1:2003. Part 1 "SQL/Framework", ISO International Organization for Standardization / ANSI American National Standards Institute, September 2003
  • ANSI/ISO/IEC 9075-2:2003. Part 2 "SQL/Foundation", ISO International Organization for Standardization / ANSI American National Standards Institute, Dezember 2003
  • Elmasri, Ramez/Navathe, Shamkant B.: "Grundlagen von Datenbanksystemen" , Pearson Studium, M�nchen, 2002, ISBN 3-8273-7021-3
  • Faeskorn-Woyke, Heide/Bertelsmeier, Birgit/Riemer, Petra/Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, M�nchen, 2007, ISBN 978-3-8273-7266-6
  • Kemper, Alfons/Eickler, Andr�: "Datenbanksysteme", Oldenbourg, M�nchen, 2009, 978-3-486-59018-0
  • Melton, Jim/Simon, Alan R.: "SQL: 1999 - Understanding Relational Language Components", Morgan Kaufmann, San Francisco, 2001, ISBN 1558604561
  • Oracle� Database SQL Language Reference 11g Release 2 (11.2), E17118-03, August 2010, http://download.oracle.com/docs/cd/E11882_01/server.112/e17118.pdf
  • Saake, Gunter/Sattler, Kai-Uwe/Heuer, Andreas: "Datenbanken - Konzepte und Sprachen", mitp-Verlag, Redline GmbH, Heidelberg, 2007, ISBN 3-8266-1664-2
  • Vossen, Gottfried: "Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme", Oldenbourg, M�nchen, 2008, ISBN 978-3-486-27574-2

Kategorie: SQL, C