2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Dieter Staas Das Einsteigerseminar SQL
Vorwort 15 Einleitung 17 Lernen - Üben - Anwenden 17 Zum Inhalt des Buchs 18 Datenabfrage und Datenmanipulation 19 Wozu Sie SQL benötigen 19 Teil I: Lernen,. SQL-Grundlagen 23 SQL-Server und Datenbank-Management-Systeme 23 Was sind Abfragen? 24 Unterschiede zu Programmiersprachen 25 Eine Testumgebung wählen 25 Beispieltabelle erzeugen 26 Beispieldaten verwenden 27 Verwendung anderer Datenbanksysteme 29 Groß- und Kleinschreibung 30 Zeilenumbruch und Zeilenabschluss 30 Einfache Auswahlabfragen 33 Das SELECT-Kommando 33 Verschiedene Schreibweisen 34 Eckige Klammern in Access 35 Vollständige Spaltenbezeichnungen 36 Reihenfolge der Spalten 36 Datensätze auswählen 37 Verwendung von Datentypen 38 Numerische Datentypen 39 Der Datumstyp 41
SELECT-Prädikate 42 Aliasnamen verwenden 44 Ausgabe sortieren 46 Sortierung über mehrere Spalten 48 Zahl der Datensätze vorgeben 49 Operatoren und Funktionen 51 Ausdrücke 51 Operatoren 52 Berechnete Spalten 53 Vergleichsoperatoren 54 Spezielle Vergleichsoperatoren 55 Mustervergleich 57 Logische Operatoren 59 Funktionen 62 Mathematische Funktionen 64 Zeichenketten-Funktionen 69 Datumsfunktionen 74 Komplexe SQL-Ausdrücke 79 Bedingungen kombinieren 79 Priorität der Teilbedingungen 80 Komplexe Berechnungen 82 Verschachtelte Funktionen 84 Funktionen als Funktionsargument 85 Rechnen mit Datumswerten 86 Spaltenwerte in Datumsberechnungen 87 INSERT - Datensätze einfügen 91 Neue Datensätze einfügen 91 Das Primärschlüsselfeld 92 Numerische Werte einfügen 93 Datumswerte einfügen 93 Alle Spaltenwerte berücksichtigen 94 Berechnungen in Spaltenwerten 95
Daten aus anderen Tabellen einfügen 95 Die Syntax 96 Daten in Zieltabelle kopieren 96 Tabellen mit ungleicher Struktur 97 Berechnete Felder kopieren 98 Hinweise zur Typkompatibilität 99 UPDATE - Datensätze ändern 101 Einzelne Datensätze ändern 101 Numerische Werte ändern 103 Datumswerte ändern 104 Tagesdatum zuweisen 105 Mehrere Datensätze gezielt ändern 105 Berechnete Werte zuweisen 106 Spalteneinträge mit UPDATE»löschen«109 Richtig löschen mit dem»wert«null 109 m DELETE - Datensätze löschen 111 WHERE-Klausel definieren 111 Löschen mit Mehrfachbedingungen 112 Markieren statt Löschen 113 GROUP BY - Datensätze gruppieren 115 Gruppierung von Datensätzen 115 Gruppieren ohne Aggregatfunktion 116 GROUP BY und WHERE-Klausel 117 Gruppierung für Spalten mit wenigen Wertausprägungen 118 Aggregatfunktionen 118 Durchschnittswerte bilden 121 Ausdrücke als Funktionsargument 123 GROUP BY und Aggregatfunktionen 124 GROUP BY-Klausel und WHERE-Klausel 127 Gruppierung über mehrere Spalten 128 Gruppenauswahl mit HAVING 130 WHERE, GROUP BY und HAVING 131
m Abfragen über mehrere Tabellen 135 Tabellen verknüpfen 135 Probleme bei Verwendung von mehreren Tabellen... 137 Spalten benennen 137 Die JOIN-Klauseln 139 OUTER JOIN 142 WHERE-Klausel hinzufügen 143 Theta Joins 144 Gruppierungen 144 Mengenoperationen 145 UNION - Vereinigungsmengen 145 WHERE-Klausel verwenden 147 Gruppierte Datensätze vereinen 148 EXCEPT - Differenzmengen 149 INTERSECT-Schnittmengen 149 BEI Datenbankstruktur erzeugen 151 Datenbank erzeugen 151 Was ist eine Datenbank? 151 CREATE DATABASE 152 Tabellen erzeugen 154 CREATE TABLE 155 Feldliste definieren 156 Primärschlüssel 157 Mehrfelderschlüssel 159 Indizes definieren 159 Eigenschaften festlegen 160 Einschränkungen 163 CONSTRAINT 164 FOREIGN KEY 165 FOREIGN KEY und Referenzielle Integrität 166 Andere Datenbankobjekte erzeugen 168 Sonstige CREATE-Anweisungen 169 Views - virtuelle Tabellen 170 Views für die Anwendersicht 170 Views erzeugen 171 8
View über mehrere Tabellen 172 Spalten benennen 172 Erweiterte Syntax 173 HD Datenbankstruktur ändern 177 Strukturänderungen und Datenverlust 177 Tabellenstruktur ändern 177 Spalten hinzufügen 178 Weitere Spalteneigenschaften 179 Spalten ändern 180 Spaltentyp ändern 180 Einschränkungen hinzufügen 181 Andere Datenbankobjekte ändern 182 Datenbankobjekte löschen 182 Einschränkungen löschen 183 Spalten löschen 184 Tabellen löschen 184 Views löschen 185 Datenbank löschen 186 BEI Index 189 Indizes erstellen 190 Eindeutige Indizes 191 Mehrfelderindex 191 Indizes für numerische Felder 193 Indizes für Datumsfelder 194 Indizes löschen 195 Temporäre Indizes 195 Indizes ändern 196 HE3 Zugriffsrechte 197 Der Administrator 197 Zugriffsrechte einrichten 198 Eingeschränkte Zugriffsrechte 198 Privileg-Level 199
Passwort vergeben 200 Zugriffsrechte auf Spaltenebene 201 Änderungsrechte (UPDATE) 201 Wirkung der Zugriffsrechte 202 Weitergabe von Rechten 202 Rechte entziehen 202 Weitergegebene Rechte entziehen 203 Rechte auf Datenbankebene 205 003 Weitere SQL-Sprachelemente 207 Unterabfragen 207 Operatoren für Unterabfragen 209 Unterabfragen mit Aggregatfunktion 212 Mehrfach verschachtelte Unterabfragen 215 Transaktionen 217 SQL-Befehle 217 Tabellen sperren 218 COMMITund ROLLBACK 218 CONNECT / DISCONNECT 220 Verbindung einrichten 220 Verbindung beenden 221 Mehrere Sitzungen einrichten 221 CASE-Struktur 222 Verzweigungen 222 ÜB Datenbanktheorie 227 Aufgabe der Datenbankmodellierung 227 Das ER-Modell 228 Struktur einer Relation 228 Schlüssel/Primärschlüssel 229 Künstliche Schlüssel 232 Datenstruktur definieren 232 Redundanz 233 Datenbankkonsistenz 233 10
Tabellen normalisieren 234 Die Erste Normalform 235 Die Zweite Normalform 236 Die dritte Normalform 239 Mehrfelderschlüssel verwenden 240 Erweiterte Normalisierung 242 Der Tabellenentwurf 244 Felder benennen 244 Feldtypen und Feldlängen bestimmen 245 Beziehungen zwischen Tabellen 248 Beziehungen zwischen Relationen 248 Verknüpfung über Schlüsselfelder 249 Indexfelder bestimmen 250 Primär- und Sekundärindex 251 Integritätsstufen 252 Referenzielle Integrität 252 Transaktionen 254 SQL-Datentypen 255 Bedeutung des Datentyps 255 Numerische Typen 256 Alphanumerische Typen 258 Datums- und Zeittypen 260 Spezielle Datentypen 261 Sonstige Datentypen 262 BLOß 263 MEMO-Felder 263 Den richtigen Typ wählen 264 Datentyp und Eingabekontrolle 264 Autowert für Primärschlüssel 264 Feldlänge bestimmen 265 11
3 Übungen zu Kapitel L1 269 3 Übungen zu Kapitel L2 271 [j Übungen zu Kapitel L3 274 3 Übungen zu Kapitel L4 277 1 Übungen zu Kapitel L5 279 3 Übungen zu Kapitel L6 281 3 Übungen zu Kapitel L7 283 U Übungen zu Kapitel L8 284 EU Übungen zu Kapitel L9 287 Q Übungen zu Kapitel L10 290 Übungen zu Kapitel L11 293 Übungen zu Kapitel L12 295 Übungen zu Kapitel L13 297 Übungen zu Kapitel L14 300 Übungen zu Kapitel L15 303 Übungen zu Kapitel L16 3051 12 ]
r Q 1"eüHJ; 4mm*t#$$&mäktä-s*..307 ED MySQL-Datenbankserver 309 MySQL einsetzen 310 MySQL aus dem Internet laden 311 Setup starten 311 MySQL-Tools 312 Neue Datenbank erstellen 314 MySQL Query Browser 315 Tabellen erzeugen 316 MySQL-Besonderheiten 317 Spezielle MySQL-Datentypen 317 Unterschiede in der SQL-Syntax 320 ES SQL in Webanwendungen 323 SQL in Skript-Sprachen 323 Hinweise zu PHP 324 Datenzugriff per PHP 324 Datenbank erzeugen 325 Tabelle definieren 326 Datensätze einfügen 327 Daten ausgeben 327 SQL-Zugriff optimieren 328 Optimizer 328 Syntaxbeschreibungen interpretieren 329 SQL in VBA-Anwendungen 331 VBA und SQL 332 Access-Abfragen ausführen 332 SQL-Anweisungen direkt ausführen 334 Variablen in SQL-Anweisungen 334 Anhang 337 Struktur einer Artikeltabelle 337 Struktur einer Rechnungstabelle 338 13