498
Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Wikibooks

Einführung in SQL - · PDF fileBibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben sind im Internet zu erhalten:

Embed Size (px)

Citation preview

  • 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