Tabellen

Was sind relationale Tabellen? Wie erstellt man Tabellen? Wie löscht man Tabellen? Wie ändert man die Sturktur von Tabellen?
Categories: 

CREATE TABLE - Tabellen erstellen

Syntax Beschreibung:

    CREATE TABLE erzeugt eine neue leere Tabelle in der aktiven Datenbank, deren Struktur hier beschrieben wird.

Datentyp

    Datentyp ist hier der Typ der Daten, die in dieser Tabellenspalte eingegeben werden sollen.

    Textdatentypen:

      CHARACTER - Textfelder
      CHAR - Abkürzung für CHARACTER

    Numerische Datentypen (exact numeric):

      DECIMAL - Festkommazahlen (die maximale Anzahl der Nachkommastellen und der Stellen vor dem Komma wird fest vorgegehen).
      DEC - Abkürzung für DECIMAL
      NUMERIC - wie DECIMAL, aber Anzahl der Kommastellen ...
      INTEGER - Zahlen ohne Kommastellen (ganze Zahlen), wird ohne Grö&szligenangaben verwendet
      weil vom DBMS vorgegeben
      INT - Abkürzung für INTEGER
      SMALLINT - Zahlen ohne Kommastellen (ganze Zahlen), wird ohne Grö&szligenangaben verwendet
      und belegt evtl. weniger Platz, weil für kleine Zahlen gedacht. Wird vom DBMS fest
      vorgegeben.

    Numerische Datentypen (approximate numeric):

      FLOAT - Zahlen in Exponentialform
      REAL - wie FLOAT, aber wird ohne Grö&szligenangaben verwendet, weil vom DBMS vorgegeben
      DOUBLE PRECISION - wie REAL, aber mit evtl. grö&szligeren (doppelten) Genauigkeit
      DOUBLE - Abkürzung für DOUBLE PRECISION

    Weitere Datentypen, die nich im ANSI-Standart definiert sind:

      DATE - Datum, in europäischen Implementierungen meistens im Format dd.mm.yyyy
      TIME - Zeit, in europäischen Implementierungen meistens im Format hh-mm-ss
      VARCHAR - Textdaten variabler länge, abhängig von der Implementierung nicht grö&szliger als 254 bis 2048 Zeichen.
      LONG VARCHAR - Textdaten variabler länge, abhängig von der Implementierung nicht grö&szliger als 16KB Zeichendaten.

    Beispiel:

CREATE TABLE torder (
onum INTEGER,
anz  INTEGER );

Hier wird eine leere Tabelle torder erstellt, die aus Datensätzen mit zwei Feldern
onum und anz besteht.

Größe

    Syntax:

    [Nachkommastellen,] Gesamtgrö&szlige

    Bemerkungen: Nachkommastellen dürfen nur bei DECIMAL und NUMERIC angegeben werden. Gesamtgrö&szlige darf nur bei Datentypen mit variabler Grö&szlige angegeben werden. Wenn die Grö&szlige bei variablen Feldern nicht angegeben wird, dann gilt die Voreinstellung 1. Ausnahme: bei CHARAKTER muss die Gröse immer angegeben werden (keine Voreinstellungen).

    Beispiel:

CREATE TABLE tverkauf (
 vnum  INTEGER,
 vname CHAR(30),
 stadt CHAR(20),
 prov  DECIMAL);

Hier wird eine leere Tabelle tverkauf erstellt, die aus Datensätzen mit vier Feldern besteht: vnum - Zahl, vname - 30 Textzeichen, stadt - 20 Textzeichen und prov - Zahl.

Feldtyp

    Syntax: Feldtyp [...]

    Feldtyp ist hier der Typ der zu generierenden Spalte.

    NOT NULL


      Wird benötigt um sicherzustellen, da&szlig das Feld keine NULL-Werte enthalten darf.

    UNIQUE


      Wird benötigt um nur von den vorher eingegebenen Werten unterschiedliche Werte im Feld zu zulassen , um doppelte Werte zu vermeiden.

    CHECK( Bedingung )


      Wird benötigt um Falscheingaben in das Feld zu vermeiden.

    DEFAULT = Wert


      Hiermit wird ein Vorgabewert für das Feld definiert.

    PRIMARY KEY


      Teilt dem DBMS mit dieses Feld als Primärschlüssel zu benutzen.

    Beispiel:

CREATE TABLE tverkauf (
 vnum  INTEGER NOT NULL UNIQUE PRIMARY KEY,
 vname CHAR(30) NOT NULL UNIQUE,
 stadt CHAR(20) DEFAULT='Berlin',
 prov  DECIMAL CHECK(comm &lt 1) );

Hier wird eine leere Tabelle tverkauf erstellt, deren Datensätze aus vier Feldern bestehen:
vnum - Zahl, die nicht NULL ist, nicht doppelt vorkommt und als Primärschlüssel dient;
vname - Textfeld aus 30 Zeichen, da&szlig nicht NULL ist und nicht doppelt vorkommt;
stadt - Textfeld aus 20 Zeichen, da&szlig mit 'Berlin' vorbelegt ist;
prov - Zahl, die immer kleiner 1 sein muss.

Categories: 

DROP TABLE - Tabellen löschen

Syntax Beschreibung

    Mit DROP TABLE kann mann Tabellen löschen. Die Tabelle muss nicht unbedingt leer leer sein. Dies hängt von der implementierung im Datenbanksystem ab.

    Beispiel:

DROP TABLE tkunden;

Hier wird Kundentabelle tkunden gelöscht.

Categories: 

ALTER TABLE - Tabellen verändern

Syntax

Beschreibung

    Mit ALTER TABLE können Sie Spalten in Tabellen hinzufügen oder löschen. Die Tabelle darf dabei nicht leer sein.

    Beispiel:

ALTER TABLE tkunden ADD COLUMN new_number INTEGER NOT NULL;

Hier wird eine neue Spalte new_number mit Datenfeldern vom Typ INTEGER zur Kundentabelle tkunden mit der Restriktion nicht leer hinzugefügt.

Beispiel:

ALTER TABLE TABLE tkunden DROP COLUMN new_number;

Hier wird die Spalte new_number aus der Kundentabelle tkunden gelöscht.

Categories: 

GRANT - Tabellenrechte vergeben

Syntax

    GRANT { SELECT | INSERT | UPDATE | DELETE | ALL } ON Tabellenname
    TO { User | {GROUP|ROLE} groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ];

Beschreibung

    Mit GRANT können Sie den spezifizierten Usern bzw. Benutzergruppen (Rollen) folgende Berechtigungen geben:
    SELECT - Daten abfragen
    INSERT - Daten/Datensätze hinzufügen
    UPDATE - Daten verändern
    DELETE - Daten/Datensätze löschen
    ALL - alle Tabellenrechte geben

    Wenn anstatt konkreter user und benutzergruppen PUBLIC angegeben wird, werden die Rechte allen Usern gegeben (Je nach RDMBS ggf. nur für die aktuelle Datenbank).

    WITH GRANT OPTION erlaubt es den Usern die neu erworbenen Tabellenrechte an weitere User weiterzugeben.

    Beispiel:

GRANT SELECT ON tkunden TO my_user;

Hier wird der User my_user berechtigt die Daten aus der Kundentabelle tkunden abzufragen/auszuwerten.

Categories: 

REVOKE - Tabellenrechte entfernen

Syntax

Beschreibung

    Mit REVOKE können Sie den spezifizierten Usern bzw. Benutzergruppen (Rollen)
    folgende Berechtigungen entziehen:
    SELECT - Daten abfragen
    INSERT - Daten/Datensätze hinzufügen
    UPDATE - Daten verändern
    DELETE - Daten/Datensätze löschen
    ALL - alle Tabellenrechte entziehen
    Wenn anstatt konkreter User und Benutzergruppen PUBLIC angegeben wird,
    werden die Rechte allen Usern entzogen (Je nach RDMBS ggf. nur für die aktuelle Datenbank).

    Beispiel:

REVOKE UPDATE ON tkunden TO my_user;

Hier wird dem User my_user das recht entzogen die Daten in der Kundentabelle tkunden zu verändern.

Categories: