einführung in sql - · pdf filebibliografische information diese publikation ist bei der...
TRANSCRIPT
Einfhrung in SQLDatenbanken bearbeiten
Jrgen Thomas
Wikibooks
Bibliografische InformationDiese Publikation ist bei der Deutschen Nationalbibliothek registriert. DetaillierteAngaben sind im Internet zu erhalten:HTTPS://PORTAL.D-NB.DE/OPAC.HTM?METHOD=SHOWOPTIONS#TOPEinschrnkung auf elektronische Datentrger, Titel Einfhrung in SQL.Namen von Programmen und Produkten sowie sonstige Angaben sind hufig ge-schtzt. Da es auch freie Bezeichnungen gibt, wird das Symbol nicht verwendet.Die Online-Version und die PDF-Version unterscheiden sich nur wegen unter-schiedlicher Seitenformate und technischer Mglichkeiten.Erstellt am 22. November 2011.
Diese Publikation ist entstanden bei Wikibooks, einem Projekt fr Lehr-, Sach-und Fachbcher unter den Lizenzen Creative Commons Attribution/Share-Alike(CC-BY-SA) und GFDL.PDF- und Druckversion sind entstanden mit dem Programm wb2pdf unter GPL.Dabei wurde das Textsatzprogramm LATEX verwendet, das unter der LPPL steht.Einzelheiten und Quellen stehen im Anhang auf Seite 481.
https://portal.d-nb.de/opac.htm?method=showOptions##top
Inhaltsverzeichnis
1. VORWORT 1
I. EINFHRUNG 3
2. EIN EINSTIEG 52.1. DATENBANKEN ENTHALTEN INFORMATIONEN . . . . . . . . . . . 52.2. ABFRAGE NACH DEN MITARBEITERN . . . . . . . . . . . . . . . . . 62.3. NEUAUFNAHME BEI DEN MITARBEITERN . . . . . . . . . . . . . . 72.4. SQL UND NATRLICHE SPRACHE . . . . . . . . . . . . . . . . . . . 82.5. ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . 102.6. SIEHE AUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3. EINLEITUNG 113.1. EINFHRUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2. GESCHICHTE VON SQL . . . . . . . . . . . . . . . . . . . . . . . . 123.3. BERSICHT BER DATENBANKMANAGEMENTSYSTEME . . . . . . 123.4. REGELN FR DIE BEISPIELE . . . . . . . . . . . . . . . . . . . . . . 143.5. SIEHE AUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4. RELATIONALE DATENBANKEN 174.1. GRUNDSTRUKTUR VON RELATIONALEN DATENBANKEN . . . . . . 174.2. TABELLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3. SPALTEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.4. VERKNPFUNGEN UND SCHLSSEL . . . . . . . . . . . . . . . . . 224.5. SIEHE AUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5. NORMALISIERUNG 275.1. GRUNDGEDANKEN . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2. TABELLENKALKULATION ALS AUSGANGSPUNKT . . . . . . . . . . 285.3. DIE 1. NORMALFORM . . . . . . . . . . . . . . . . . . . . . . . . . 305.4. DIE 2. NORMALFORM . . . . . . . . . . . . . . . . . . . . . . . . . 325.5. DIE 3. NORMALFORM . . . . . . . . . . . . . . . . . . . . . . . . . 355.6. ZUSTZLICHE MASSNAHMEN . . . . . . . . . . . . . . . . . . . . . 365.7. ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . 39
III
Inhaltsverzeichnis
5.8. SIEHE AUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6. BEISPIELDATENBANK 416.1. SACHVERHALT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416.2. SCHEMATISCHE DARSTELLUNG . . . . . . . . . . . . . . . . . . . . 436.3. TABELLENSTRUKTUR UND DATENBANK . . . . . . . . . . . . . . . 446.4. ANMERKUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
II. GRUNDLAGEN 49
7. SQL-BEFEHLE 517.1. ALLGEMEINE HINWEISE . . . . . . . . . . . . . . . . . . . . . . . . 527.2. DML DATA MANIPULATION LANGUAGE . . . . . . . . . . . . . 537.3. DDL DATA DEFINITION LANGUAGE . . . . . . . . . . . . . . . . 567.4. TCL TRANSACTION CONTROL LANGUAGE . . . . . . . . . . . . 567.5. DCL DATA CONTROL LANGUAGE . . . . . . . . . . . . . . . . . 567.6. ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . 577.7. BUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577.8. SIEHE AUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8. DML (1) DATEN ABFRAGEN 618.1. SELECT ALLGEMEINE HINWEISE . . . . . . . . . . . . . . . . . 618.2. DIE EINFACHSTE ABFRAGE . . . . . . . . . . . . . . . . . . . . . . 628.3. EINGRENZEN DER SPALTEN . . . . . . . . . . . . . . . . . . . . . . 638.4. DISTINCT KEINE DOPPELTEN ZEILEN . . . . . . . . . . . . . . 648.5. WHERE EINGRENZEN DER ERGEBNISMENGE . . . . . . . . . . 648.6. ORDER BY SORTIEREN . . . . . . . . . . . . . . . . . . . . . . . 658.7. FROM MEHRERE TABELLEN VERKNPFEN . . . . . . . . . . . . 678.8. AUSBLICK AUF KOMPLEXE ABFRAGEN . . . . . . . . . . . . . . . . 688.9. ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . 698.10. BUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
9. DML (2) DATEN SPEICHERN 739.1. INSERT DATEN EINFGEN . . . . . . . . . . . . . . . . . . . . . 739.2. UPDATE DATEN NDERN . . . . . . . . . . . . . . . . . . . . . 769.3. DELETE DATEN LSCHEN . . . . . . . . . . . . . . . . . . . . . 789.4. TRUNCATE TABELLE LEEREN . . . . . . . . . . . . . . . . . . . 799.5. ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . 799.6. BUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
10. DDL STRUKTUR DER DATENBANK 8310.1. ALLGEMEINE SYNTAX . . . . . . . . . . . . . . . . . . . . . . . . . 83
IV
Inhaltsverzeichnis
10.2. HAUPTTEILE DER DATENBANK . . . . . . . . . . . . . . . . . . . . 84
10.3. ERGNZUNGEN ZU TABELLEN . . . . . . . . . . . . . . . . . . . . . 87
10.4. PROGRAMMIEREN MIT SQL . . . . . . . . . . . . . . . . . . . . . . 89
10.5. ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.6. BUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.7. SIEHE AUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
11. TCL ABLAUFSTEUERUNG 9311.1. BEISPIELE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
11.2. TRANSAKTIONEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
11.3. TRANSAKTION ERFOLGREICH BEENDEN . . . . . . . . . . . . . . . 95
11.4. SICHERUNGSPUNKTE . . . . . . . . . . . . . . . . . . . . . . . . . . 96
11.5. TRANSAKTION RCKGNGIG MACHEN . . . . . . . . . . . . . . . . 96
11.6. ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . 96
11.7. BUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
12. DCL ZUGRIFFSRECHTE 10112.1. GRANT ZUGRIFF GEWHREN . . . . . . . . . . . . . . . . . . . . 101
12.2. REVOKE ZUGRIFF VERWEIGERN . . . . . . . . . . . . . . . . . . 101
13. DATENTYPEN 10313.1. VORDEFINIERTE DATENTYPEN . . . . . . . . . . . . . . . . . . . . 103
13.2. KONSTRUIERTE UND BENUTZERDEFINIERTE DATENTYPEN . . . . 108
13.3. SPEZIALISIERTE DATENTYPEN . . . . . . . . . . . . . . . . . . . . 108
13.4. NATIONALE UND INTERNATIONALE ZEICHENSTZE . . . . . . . . 109
13.5. ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . 111
13.6. BUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
13.7. SIEHE AUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
14. FUNKTIONEN 11514.1. ALLGEMEINE HINWEISE . . . . . . . . . . . . . . . . . . . . . . . . 115
14.2. FUNKTIONEN FR ZAHLEN . . . . . . . . . . . . . . . . . . . . . . 116
14.3. FUNKTIONEN FR ZEICHENKETTEN . . . . . . . . . . . . . . . . . 119
14.4. FUNKTIONEN FR DATUMS- UND ZEITWERTE . . . . . . . . . . . 121
14.5. FUNKTIONEN FR LOGISCHE UND NULL-WERTE . . . . . . . . . 122
14.6. KONVERTIERUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . 123
14.7. SPALTENFUNKTIONEN . . . . . . . . . . . . . . . . . . . . . . . . . 126
14.8. ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . 129
14.9. BUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
14.10. SIEHE AUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
V
Inhaltsverzeichnis
III. MEHR ZU ABFRAGEN 135
15. AUSFHRLICHE SELECT-STRUKTUR 13715.1. ALLGEMEINE SYNTAX . . . . . . . . . . . . . . . . . . . . . . . . . 13815.2. SET QUANTIFIER MENGENQUANTIFIZIERER . . . . . . . . . . . 13815.3. SELECT LIST AUSWAHLLISTE . . . . . . . . . . . . . . . . . . . . 13915.4. TABLE REFERENCE LIST TABELLEN-VERWEISE . . . . . . . . . . 14015.5. WHERE CLAUSE WHERE-KLAUSEL . . . . . . . . . . . . . . . . 14115.6. GROUP BY CLAUSE GROUP BY-KLAUSEL . . . . . . . . . . . . 14315.7. HAVING CLAUSE HAVING-KLAUSEL . . . . . . . . . . . . . . . 14315.8. UNION CLAUSE UNION-KLAUSEL . . . . . . . . . . . . . . . . 14415.9. ORDER BY CLAUSE ORDER BY-KLAUSEL . . . . . . . . . . . . 14415.10. ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . 14415.11. BUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
16. FUNKTIONEN (2) 14916.1. ALLGEMEINE HINWEISE . . . . . . . . . . . . . . . . . . . . . . . . 14916.2. FUNKTIONEN FR ZAHLEN . . . . . . . . . . . . . . . . . . . . . . 15016.3. FUNKTIONEN FR ZEICHENKETTEN . . . . . . . . . . . . . . . . . 15216.4. FUNKTIONEN FR DATUMS- UND ZEITWERTE . . . . . . . . . . . 15516.5. FUNKTIONEN FR LOGISCHE UND NULL-WERTE . . . . . . . . . 15716.6. VERSCHIEDENE FUNKTIONEN . . . . . . . . . . . . . . . . . . . . 15816.7. ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . 15916.8. BUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15916.9. SIEHE AUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
17. WHERE-KLAUSEL IM DETAIL 16517.1. ALLGEMEINE HINWEISE . . . . . . . . . . . . . . . . . . . . . . . . 16517.2. EINE EINZELNE BEDINGUNG . . . . . . . . . . . . . . . . . . . . . 16617.3. MEHRERE BEDINGUNGEN VERKNPFEN . . . . . . . . . . . . . . 17117