Inhaltsverzeichnis 1 Einleitung 1.1 1.2 2 2.3 2.4 3 3.2 3.3 5 5.2 6 27 SQL - Die Datenbanksprache......................................................................... 27 SQL als eine "Philosophie" ............................................................................ 28 4.2.1 Die Aufgaben von SQL lassen sich in drei Gruppen unterteilen. ..... 28 DML (Data Manipulation Language) 5.1 21 Datenbeschreibung......................................................................................... 22 3.1.1 Das Reisebüro hat folgende Daten zu verwalten:.............................. 22 ERM ............................................................................................................... 23 Tabellendefinition .......................................................................................... 24 Structured Query Language 4.1 4.2 15 Allgemeines.................................................................................................... 15 Tabellen.......................................................................................................... 16 2.2.1 Spalten (englisch column) ................................................................. 16 2.2.2 Zeilen (englisch rows) ....................................................................... 16 Indizes ............................................................................................................ 17 2.3.1 Andere wichtige Anwendungen von Indizes:.................................... 18 Das Entity-Relationship Model (ERM).......................................................... 19 Das Übungsmodell 3.1 4 Geschichte und Umfeld.................................................................................... 9 Relational DataBase Management System (RDBMS) ..................................... 9 Relationales Datenbanksystem 2.1 2.2 9 29 Das SELECT - Statement (Daten abfragen)................................................... 29 5.1.1 Die Projektion - Auswahl von Spalten .............................................. 30 5.1.2 Die Selektion - Auswahl von Zeilen. Die WHERE-Klausel ............. 30 5.1.3 Der JOIN - Tabellen verbinden ......................................................... 37 5.1.4 Alias-Namen...................................................................................... 40 5.1.5 Der Self-JOIN ................................................................................... 41 5.1.6 Der Outer-JOIN (Pseudoverbindungen)............................................ 42 5.1.7 Sub-Queries ....................................................................................... 46 5.1.8 Correlated Subquery.......................................................................... 48 5.1.9 UNION - Klausel (Vereinigung von zwei Mengen) ......................... 50 5.1.10 ORDER BY - Klausel ..................................................................... 53 5.1.11 Ausdrücke........................................................................................ 55 5.1.12 Funktionen....................................................................................... 57 5.1.13 Group By - Klausel - Gruppieren von Zeilen.................................. 62 5.1.14 DISTINCT - Vermeiden von doppelten Datenzeilen ...................... 64 5.1.15 Die Pseudo-Spalten ......................................................................... 65 5.1.16 Der volle Umfang des SELECT Statements.................................... 66 Das INSERT - Statement (Daten einfügen) ................................................... 67 5.2.1 Mit VALUES .................................................................................... 68 5.2.2 Mit SUBQUERY............................................................................... 68 © ikon 2003 5.3 5.4 6 DDL (Data Definition Language) 6.1 6.2 6.3 6.4 6.5 7 7.2 7.3 7.4 7.5 8.2 8.3 91 Behandlung von Transaktionen...................................................................... 91 7.1.1 COMMIT - Statement (Transaktion abschließen) ............................. 92 7.1.2 ROLLBACK - Statement (Transaktion verwerfen)........................... 92 Mehrfachzugriff auf Tabellen und Sperrstrategien ........................................ 93 7.2.1 SHARE LOCK ................................................................................. 94 7.2.2 EXCLUSIVE LOCK ........................................................................ 94 7.2.3 EXCLUSIVE LOCK für Zeilen ........................................................ 95 Weitere Lock-Methoden ................................................................................ 96 Privilegienbehandlung.................................................................................... 96 7.4.1 Das GRANT - Statement (für Benutzer) ........................................... 97 7.4.2 Das GRANT - Statement (für Tabellen)............................................ 99 7.4.3 Das REVOKE - Statement (Aufgabe von Privilegien).................... 101 Verbindung zur Datenbank .......................................................................... 101 7.5.1 Das CONNECT - Statement............................................................ 102 7.5.2 Das DISCONNECT - Statement ..................................................... 102 Anhang 8.1 73 Tabellen.......................................................................................................... 74 6.1.1 Datentypen......................................................................................... 74 6.1.2 Schlüssel ............................................................................................ 75 6.1.3 Primärschlüssel (Primary Key).......................................................... 75 6.1.4 Fremdschlüssel (FOREIGN KEY) .................................................... 76 6.1.5 Eindeutiger Schlüssel (Unique Key) ................................................. 77 6.1.6 CREATE TABLE - Statement (Tabellen definieren und erzeugen) . 77 6.1.7 ALTER TABLE - Statement (Tabellendefinitionen verändern) ....... 79 6.1.8 DROP TABLE - Statement (Tabellen löschen)................................. 81 Indizes ............................................................................................................ 82 6.2.1 CREATE INDEX - Statement (Indizes erstellen) ............................. 83 6.2.2 DROP INDEX - Statement (Indizes löschen) ................................... 84 Views.............................................................................................................. 84 6.3.1 CREATE VIEW - Statement (Views erzeugen)................................ 86 6.3.2 DROP VIEW - Statement (Views löschen)....................................... 88 RENAME - Umbenennen von Datenbankobjekten ....................................... 88 SYNONYM - Vergabe von alternativen Namen............................................ 89 DCL (Data Control Language) 7.1 8 Das UPDATE - Statement (Daten verändern)................................................ 70 5.3.1 Direkt................................................................................................. 70 5.3.2 Mit SUBQUERY............................................................................... 71 Das DELETE - Statement (Daten löschen) .................................................... 72 103 Datenaufbau des Übungsmodells ................................................................. 103 8.1.1 Tabellen erstellen, Index erstellen, Tabellen mit Daten versorgen.. 103 SQL - Zusammenfassung ............................................................................. 107 8.2.1 Data Manipulation Language (DML).............................................. 107 8.2.2 Data Definition Language (DDL).................................................... 108 8.2.3 Data Control Language (DCL) ........................................................ 110 Lösungen der Aufgaben ............................................................................... 112 SQL – Structured Query Language 7 9 8 Index 1 © ikon 2003