SQL

Datendefinitionen

9. 06. 2012

Übersicht

SQL enthält neben den Möglichkeiten zum Erstellen und Ändern von Daten auch eine Datendefinitions- oder -beschreibungssprache (DDL). Diese ermöglicht es, die logischen Datenstrukturen zu beschreiben und zu ändern, also quasi die „Daten über die Daten“. Typische Operationen sind das Erstellen, Ändern und Löschen von Tabellen.

Zunächst aber einige Begrifflichkeiten:

  • Relation: Entspricht quasi einer Tabelle
  • Relationenschema: Information, wie eine Relation aufgebaut ist
  • Attribut: Entspricht einer Spalte einer Tabelle
  • Datentyp: Bezeichnet die Art der Information, die ein Attribut enthalten kann
  • Tupel: Bezeichnet einen Datensatz

Datentypen

Hier eine Liste ausgewählter Datentypen in SQL:

  • VARCHAR(n): Zeichenkette mit var. Länge, max. jedoch n
  • INTEGER: Ganzzahl
  • SMALLINT: kleinere Ganzzahl
  • NUMERIC(p,d): Dezimalzahl mit p Ziffern links und d Ziffern rechts des Kommas
  • REAL, DOUBLE: Gleitkommazahl
  • FLOAT(n): Gleitkommazahl mit benutzerdefinierter Genauigkeit von n Ziffern
  • DATE: Datum
  • TIME: Tageszeit in Stunden, Minuten und Sekunden
  • TIMESTAMP: Datum und Uhrzeit
  • INTERVAL: Zeitperiode

Die Subtraktion von Datum- oder Zeitangaben ergibt einen Intervall-Wert. Einzelne Werte können auch ausgelesen werden, z. B. „EXTRACT(YEAR FROM timestamp)“. Es geht auch umgekehrt: „CAST zeichenkette AS DATE“.

Eigene Datentypen können mit „CREATE DOMAIN“ definiert werden, z. B.:

CREATE DOMAIN personenname CHAR(25) NOT NULL

Erzeugen von Relationenschemata

Syntax:

CREATE TABLE tabellenname (
  Attribut1 Datentyp1,
  Attribut2 Datentyp2
)

Beispiel:

CREATE TABLE filiale (
  filialname    VARCHAR(15) NOT NULL,
  filialstadt   VARCHAR(30)
);

Ändern von Relationenschemata

Syntax:

ALTER TABLE tabellenname ADD Attribut1 Datentyp1
 
ALTER TABLE tabellenname DROP filialstadt

Beispiel:

ALTER TABLE filiale ADD filialnr SMALLINT

Löschen von Relationenschemata

Dies löscht eine Tabelle.

Syntax:

DROP TABLE tabellenname

Indexstrukturen

Indizes dienen dazu, dass auf Daten rascher zugegriffen werden kann. Schlüssel garantieren die Eindeutigkeit der Daten. Dies schlägt sich jedoch auf die Speichergeschwindigkeit und den Platzbedarf nieder.

Zusätzlich können Daten noch „geclustert“ werden, d. h. sie liegen auch am physikalischen Speicher nebeneinander.

Syntax:

CREATE [UNIQUE] INDEX INDEX
ON Relation (Attribut1 Ordnung1, .. , Attribut n Ordnung n)
[CLUSTER]

Beispiel:

CREATE UNIQUE INDEX kundeind1 ON kunde(kundenname ASC)
CLUSTER

Quelle

  • Schikuta, Erich: Datenmodellierung und Datenbanksysteme, FFH, 2008

image_print
1 Stern2 Sterne3 Sterne4 Sterne5 Sterne
Loading...

Author

Manuel

Ich bin Manuel Wurm, IT-Consultant und Blogger. Ich mag es, verschiedenste Dinge auszuprobieren. Vor allem mit Retro-Computern, Bierbrauen, Bogenschießen und Schlagzeug spielen verbringe ich gerne meine Zeit. Kochen zählt zu meinen größten Hobbys - das spiegelt sich auch auf wurmweb.at wieder, wo ich gerne Rezepte teile und hilfreiche Tipps für Interessierte festhalte.

Related Posts

SQL

Integrität

11. 06. 2012

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne
Loading...

SQL / Visual Basic

MySQL in Visual Studio

28. 12. 2013

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne
Loading...