Datenbankaufbau : Skript
Laufkäfer, Käferdatenbank South
Kensington
Kapitel 5: Grundzüge von SQL
von Margarete Payer & Alois Payer
(mailto:
payer@hbi-stuttgart.de
Zitierweise / cite as:
Payer, Margarete <1942 - >: Datenbankaufbau :
Skript / Margarete Payer & Alois Payer. -- Kapitel 5:
Grundzüge von SQL. -- Fassung vom 1997-05-15. -- URL: http://www.payer.de/dbaufbau/dbauf05.html.
-- [Stichwort].
Letzte Überarbeitung: 1997-05-15
Anlaß: Lehrveranstaltungen an der HBI Stuttgart
©opyright: Dieser Text steht der Allgemeinheit zur
Verfügung. Eine Verwertung in Publikationen, die über übliche
Zitate hinausgeht, bedarf der ausdrücklichen Genehmigung der
Verfasserin.
Dieser Text ist Teil der Abteilung Datenbankaufbau
von Tüpfli's Global
Village Library
5.0. Übersicht
- 5.1. Weiterführende Ressourcen
- 5.2. Was ist SQL ?
- 5.3. Zur Aussprache von
"SQL"
- 5.4. Merkmale von SQL
- 5.5. Zur Geschichte von SQL
- 5.6. Datentypen in SQL
- 5.7. Übersicht über die SQL-Befehle
5.1. Weiterführende Ressourcen
Yahoo Categories:
http://www.yahoo.com/Computers_and_Internet/Programming_Languages/SQL/.
-- Zugriff am 15. Mai 97
Printed Media:
Taylor, Allen G.: SQL for dummies. --
Foster City [u.a.] : IDG Books Worldwide, 1995. -- 363 S. :
Ill. -- ISBN 1-56884-336-4. -- [Eine sehr empfehlenswerte
Einführung.]
Bowman, Judith S.: The practical SQL
handbook : using Structured Query language / Judith S.
Bowman, Sandra L. Emerson, and Marcy Darnovsky. -- 2. ed. --
Reading [u.a.] : Addison-Wesley, 1993. -- 453 S. -- ISBN
0-201-62623-3. -- [Sehr empfehlenswert. Praktisch
orientiert.]
Groff, James R.: LAN Times guide to SQL /
James R. Groff and Paul N. Weinberg. -- Berkeley [u.a.] :
Osborne McGraw-Hill, 1994. -- 660 S. : Ill. -- ISBN
0-07-882026-X. -- [Gründlich.]
5.2. Was ist SQL ?
SQL ist eine
standardisierte Data Sublanguage zum Erstellen,
Bearbeiten und Kontrollieren von relationalen
Datenbanken.
|
- Eine Sublanguage ist eine Computersprache, die
nur einen Teil der nötigen Operationen abdeckt.
- Eine Data Sublanguage ist eine Sublanguage zum
Umgang mit Datenbanken, die sich nur auf den Umgang mit
den Daten bezieht, wie Einfügen, Update, Löschen und
Auswählen von Daten. Sie enthält aber nicht andere
Bereiche, wie Ausgabe auf einen Drucker u.ä.
Da SQL eine Sublanguage ist, kann man SQL nicht alleinstehend,
sondern nur in Verbindung mit einer anderen Computersprache (z.B.
einer bestimmten Datenbanksprache wie dBASE) verwenden.
SQL ist keine prozedurale Computersprache wie BASIC,
C u.ä. Das bedeutet, daß man in ihr nicht ausdrückt, wie
der Computer eine Aufgabe erfüllen soll, sondern nur, was
er tun soll. Das Data Base Management System (DBMS) bestimmt dann
die Weise, wie diese Aufgabe erfüllt werden soll.
Beispiel: SELECT * FROM AUTHOR WHERE NAME = Meyer
OR NAME = Mayer
Mit SQL kann man sowohl ad hoc Datenbankanfragen durchführen
als auch Programme für immer wiederkehrende Routinen schreiben.
5.3. Zur Aussprache von "SQL"
Nach ihrem Vorgänger (s. 5.5.) wird "SQL" oft wie
"sequel" ausgesprochen. Da aber die Bezeichnung
"SQL" keine Bedeutung hat (sie ist auch keine
Abkürzung für "Structured Query Language"!), sprechen
"Gebildete" "SQL" als "Es Kju El"
(in Englisch) bzw. "Es Ku El" (auf deutsch) aus.
5.4. Merkmale von SQL
SQL ist (zumindest in der Theorie):
- Hersteller-unabhängig
- Portabel zwischen verschiedenen
Computer-Systemen ; allerdings geht faktisch der
Übergang nie problemlos
- Standard von ANSI, ISO, FIPS (Federal Computer
processing Standard, d.h. verpflichtend für Behörden
der USA), X/OPEN (europäischer UNIX-Standard)
- von IBM Datenbankprodukten unterstützt
- durch Microsoft ODBC (Open Database Connectivity)
unterstützt [Yahoo Categories: http://www.yahoo.com/Computers_and_Internet/Software/Databases/ODBC/
- beruht auf dem relationalen Datenbankmodell
- ist eine high level Computersprache, meist mit
normalen Englischkenntnissen ohne weiteres verständlich
- ist interaktiv, d.h. erlaubt ad hoc
Datenbankanfragen
- ist programmierbar, d.h. erlaubt die
Programmierung von Routinen
- erlaubt vielfache Sichtweisen (views) der Daten
- sie ist eine vollständige Data Sublanguage
- sie erlaubt den Zugriff auf Daten durch den Benutzer auch
während die Struktur der Datenbank verändert
wird
- sie ist besonders geeignet für Client/Server
Architektur als Bindeglied zwischen
benutzerfreundlichen Anwendungen und DBMS
[Nach Groff u.a., S. 6-10]
5.5. Zur Geschichte von SQL
- 1970: E. F. Codd: A relational model of
data for large shared data banks. Entwurf des
relationalen Datenbankmodells
- 1974: Erste Beschreibung von IBMs SEQUEL
(Structured English QUEry Language) als DBMS für
relationale Datenbanken. Aus Gründen des
Warenzeichenrechts kann das Produkt nicht als SEQUEL in
den Handel kommen. Deshalb wählt IBM 1981 für das
Produkt den Namen SQL
- 1979: Oracle bringt das erste
kommerzielle DBMS für relationale Datenbanken auf den
Markt
- 1981: IBM bringt SQL/DS auf den Markt
- 1982: ANSI bildet ein SQL Standard
Committee
- 1986: ANSI SQL Standard ratifiziert:
SQL1 (SQL-86)
- 1987: ISO SQL Standard ratifiziert
- 1992: Microsoft ODBC
- 1992: ANSI SQL2 (SQL-92) Standard
ratifiziert
- 1993: erste ODBC Produkte auf dem Markt
5.6. Datentypen in SQL
SQL enthält Befehle (commands) und unterstützt verschiedene
Datentypen. SQL-92 anerkennt sechs allgemeine Datentypen (die
u.U. wieder Untertypen enthalten):
- exact numerics:
- INTEGER, z.B. 1234
- SMALLINT, z.B. 1234
- NUMERIC, z.B. 123.456
- DECIMAL, z.B. 123.456
- approximate numerics: z.B. 6.023E-23
- character strings:
- CHARACTER (feste Feldlänge), z.B. "Tuepfli
"
- CHARACTER VARYING (variable Feldlänge), z.B.
z.B. "Tuepfli"
- NATIONAL CHARACTER
z.B.:
CREATE TABLE XLATE (
LANGUAGE_1 CHARACTER (40)
LANGUAGE_2 CHARACTER VARYING (40) CHARACTER
SET GREEK
LANGUAGE_3 NATIONAL CHARACTER (40) [könnte
z.B. deutscher Zeichensatz sein]
LANGUAGE_4 CHARACTER (40) CHARACTER SET KANJI
)
- NATIONAL CHARACTER VARYING
- bit strings, z.B. 11011
- datetimes:
- DATE, z.B. 1996-04-15
- TIME, z.B. 18:02:12
- TIMESTAMP, z.B. 04-15-1996 18:02:12
- TIME WITH TIME ZONE, z.B. 18:02:12-01:00
- TIMESTAMP WITH TIMEZONE
- intervals:
INTERVAL DAY-TIME, z.B. 4 DAY
INTERVAL YEAR-MONTH, z.B. 3 YEAR
Leere Felder (null values) sind zu unterscheiden von
Feldern, die "0" (Null) Blanks enthalten. Sowohl Null
als auch Blanks sind Zeichen!
Einschränkungen (constraints) verhindern, daß
unzulässige Daten in ein Feld eingetragen werden. Neuere DBMS
Produkte erlauben, die Einschränkungen direkt in der Datenbank
zu machen (nicht erst in den Anwendungsprogrammen).
5.7. Übersicht über die SQL-Befehle
Die Befehle (commands) von SQL lassen sich nach den
Hauptaufgaben von SQL einteilen in:
- Data Definition Language (DDL): enthält die
Befehle zum Erstellen, Modifizieren oder Löschen
einer Datenbank
- Data Manipulation Language (DML): enthält die
Befehle zum Unterhalt einer Datenbank, d.h. zum Eintragen,
Ändern oder Auswählen von Daten aus einer
Datenbank
- INSERT
- UPDATE
- DELETE
- SELECT
- Data Control Language (DCL): enthält die
Befehle zur Sicherheit einer Datenbank.
- COMMIT: führt die Änderungen an einer Datenbank
endgültig durch
- ROLLBACK: solange eine Änderung noch nicht mit
COMMIT abgeschlossen ist, kann der ursprüngliche
Zustand der Datenbank mit ROLLBACK wieder
hergestellt werden
- GRANT: erlaubt dem Nutzer bestimmte Aktionen an
der Datenbank
- REVOKE: entzieht mit GRANT verliehene
Zugriffsrechte
Zu
Kapitel 6: Grundzüge von dBase 5.0 für Windows