Informatikmaterialien 
von Tino Hempel

Startseite | Informatik | Physik | Mathematik | Sonstiges |
 


Richard-Wossidlo-Gymnasium Ribnitz-Damgarten
Fachbereich Informatik


Implementation des Relationalen Modells mit SQL
(siehe auch MySQL-Handbuch)

SQL (Structured Query Language) ist eine Programmiersprache der 4. Generation und die Sprache zum Aufbau, zur Verwaltung und zur Abfrage von relationalen Datenbanken. Sie wurde von IBM im Rahmen eines Forschungsprojektes entwickelt und 1987 international standardisiert. (Fast) alle Datenbanksysteme benutzen und arbeiten mit dieser Sprache.

Einteilung der SQL-Sprachelemente

SQL-Sprachelemente werden in drei Klassen unterteilt:

Klasse DDL DCL DML
Beispiele Databank erzeugen
CREATE DATABASE
Zugriffsrechte gewähren
GRANT
Tabelle abfragen
SELECT
Tabelle erzeugen
CREATE TABLE
Zugriffsrechte entziehen
REVOKE
Tabellenzeile löschen
DELETE
Tabellenaufbau ändern
ALTER TABLE
Tabellenzeile einfügen
INSERT
Tabelle löschen
DROP TABLE
Tabellendaten ändern
UPDATE
Tabelle umbenennen
RENAME
Virtuelle Tabelle erzeugen
CREATE VIEW

Befehl CREATE DATABASE

Verwendung: Erzeugung einer Datenbank

Syntax: CREATE DATABASE db_name

Besonderheiten: Oft ist die Anzahl der erstellbaren Datenbanken durch den Administrator vorgegeben. 

Befehl CREATE TABLE

Verwendung: Erzeugung einer Tabelle

Syntax:

CREATE TABLE tabelle
(
feld datentyp [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [COMMENT 'string'],
CONSTRAINT name
  PRIMARY KEY (feld1, feld2, ...)
  FOREIGN KEY (feld1, feld2, ...) REFERENCES tabelle (feld1, feld2)
)

Für die Datentypen müssen entweder numerische, Zeichenketten- oder Datumstypen gewählt werden. Die wichtigsten sind dabei:

Typ Beschreibung
INTEGER [UNSIGNED] [ZEROFILL] ganze Zahlen [nichtnegative Zahlen] [mit Nullen aufgefüllt]
DOUBLE Fließkommazahlen
CHAR(länge) Zeichenketten der Länge länge
BOOLEANWahrheitswert (0 oder 1), wird intern in den Integer-Typ TINYINT(1) umgewandelt
DATE Datumsangaben
TIME Zeitangaben
DATETIMEDatums- und Zeitangaben

Die Optionen haben folgende Bedeutung:

Option Beschreibung
NOT NULL NULL-Werte sind nicht zuläßig
DEFAULT Standardvorgabewert
AUTO_INCREMENT automatische Erhöhung der Integerzahl bei Hinzufügen eines weiteren Datensatzes, i. d. R. für Schlüsselattribute
COMMENTKommentar für die Tabelle

Die Tabelle Schüler(SNr, Vorname, Name) soll erzeugt werden.  

Die Umsetzung in SQL lautet:
CREATE TABLE schueler
(
  SNr INTEGER(4) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  Vorname CHAR(20),
  Name CHAR(30) NOT NULL,
  CONSTRAINT schluessel
    PRIMARY KEY (snr)
)

Die Tabelle Kurs(SNr, KNr, Fehlstunden, Punkte) soll erzeugt werden.  

Die Umsetzung in SQL lautet:
CREATE TABLE kurs
(
  SNr INTEGER(4) UNSIGNED ZEROFILL NOT NULL,
  KNR INTEGER(2) UNSIGNED ZEROFILL NOT NULL,
  Fehlstunden INTEGER,
  Punkte INTEGER(2) UNSIGNED ZEROFILL NOT NULL,
  CONSTRAINT schluessel
    PRIMARY KEY (Snr, Knr),
    FOREIGN KEY (Snr) REFERENCES schueler (Snr)
)

Befehl INSERT

Verwendung: Einfügen von Datensätzen in eine Tabelle

Syntax:

INSERT INTO tabelle [(spalte1, spalte2, ...)]
VALUES
  (wert1, wert2, ...)

Die Tabelle Schüler soll mit folgenden Werten gefüllt werden:

Schüler
SNr Vorname Name
4711 Paul Müller
0815 Erich Schmidt

Die Umsetzung in SQL lautet:

INSERT INTO schueler
VALUES
  (4711, 'Paul','Müller'),
  (0815, 'Erich','Schmidt')




zur Startseite
© Tino Hempel 1997 - 2008 Im Web vertreten seit 1994.
Eine Internet-Seite aus dem Angebot von Tino Hempel.