Was ist SQL?

4 Wie definiert man Daten?

Eine Datenbank besteht aus Tabellen. Auf Feldern der Tabellen können Indexe liegen.

Ein Index ist eine Art Verzeichnis, das den Zugriff beschleunigt, wie wir ihn z.B. auch aus dem Anhang von Fachbüchern kennen. Wenn man nach einem bestimmetn Schlüssel, z.B. dem Kunden mit einem bestimmten Kundennr sucht, findet man ihn schnell in tausenden von Tabellenzeilen

Jetzt wollen wir uns einmal ansehen, wie wir unsere Datenbank erzeugen.

Eingabe:
CREATE DATABASE datenbankname;

Z.B. können wir unseren Shop erzeugen mit:

CREATE DATABASE internetShop;

Eine Datenbank löscht man wieder mit:

Eingabe:
DROP DATABASE datenbankname;

Eine Tabelle legt man an mit:

Eingabe:
CREATE TABLE tabellenname ( liste_von_feldern );

Die Felder werden angegeben mit Feldname, Feldtyp und zusätzlichen Angaben. Z.B. kann man definieren, dass ein Feld keine NULL-Wete enthalten darf. Als Beispiel folgen die Definitionen unserer drei Tabellen aus unserem Einführungsbeispiel.

CREATE TABLE Kunde (
    Kundennr INTEGER NOT NULL,
    Kundenname VARCHAR(50) );

CREATE TABLE Artikel (
    Artikelnr INTEGER NOT NULL,
    Artikelname VARCHAR(50),
    Artikelpreis DECIMAL(8,2) );

CREATE TABLE Auftrag (
    Auftragsnr INTEGER NULL,
    Kundennr INTEGER NOT NULL,
    Auftragsdatum DATE,
    Anzahl INTEGER,
    Artikelnr INTEGER NOT NULL );

Löschen können wir eine Tabelle mit:

Eingabe:
DROP TABLE tabellenname

Um den Zugriff mit SELECT auf eine Tabelle über ein bestimmtes Feld zu beschleunigen, kann man Indexe definieren.

Eingabe:
CREATE INDEX indexname ON tabellenname (feldnamen)

Z.B. wird es sinnvoll sein Indexe auf die Kunden und Artikel zu legen, damit beim Join vom Auftrag auf diese Tabellen der Zugriff schneller geht:

CREATE INDEX KundeKundennr ON Kunde (Kundennr);
CREATE INDEX ArtikelArtikelnr ON Artikel (Artikelnr);
CREATE INDEX AuftragKundennr ON Auftrag(Kundennr);

Einen Index löscht man mit:

Eingabe:
DROP INDEX

Wenn man sehr viele Änderungen an den Daten einer Datenbank vornehmen will, dann ist es häufig schneller, Die Indexe zu löschen, die Änderungen durchzuführen und dann die Indexe wieder anzulegen.

3 Wie ändert man Daten? Hauptseite 5 Was sind Transaktionen?

© 2001 Mario Boller-Olfert - 123-Byte - Marios Welt - EMail: Kontaktformular