www.comelio-medien.com MS SQL Server – Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein Webseite zum Buch: http://www.comelio-medien.com/buch-katalog/e-books/sql © Comelio Medien 2011 http://www.comelio-medien.com/buch-katalog/e-books/sql Alle Rechte vorbehalten. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jeder Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für die Vervielfältigung, Übersetzung, Mikroverfilmung und die Einspeicherung und Verbreitung in elektronischen Systemen. © Comelio GmbH Comelio GmbH Goethestr. 34 D-13086 Berlin Fon:+49 (0) 30-8 14 56 22-00 Fax:+49 (0) 30-8 14 56 22-10 www.comelio-medien.com [email protected] Umschlaggestaltung, Comelio-Grafiken, Layout & Satz: Nadine Kilian ISBN 978-3-939701-52-1 http://www.comelio-medien.com/buch-katalog/e-books/sql Inhaltsverzeichnis Inhaltsverzeichnis 1. Grundlagen 1. 1. Beispiel-System MS SQL Server 1. 1. 1. Installation 1. 1. 2. Management Studio 1. 1. 3. Abfragen direkt ausführen 1. 2. Beispieldatenbank AdventureWorks 1. 2. 1. Personaldaten 1. 2. 2. Produktdaten 1. 2. 3. Verkaufsdaten 1. 3. Das relationale Modell 1. 3. 1. Grundbegriffe des relationalen Modells 1. 3. 2. Semantisches Modell 1. 3. 3. Eigenschaften von Daten 1. 3. 4. Klassifikation von Datentypen 1. 3. 5. Beziehungen zwischen Daten 1. 3. 6. Entity-Relationship-Modell 1. 3. 7. Normalisierung mit Normalformen 1. 3. 8. DB-Anomalien 1. 4. Das relationale Datenbank-System 1. 4. 1. Zentrale Begriffe 1. 4. 2. Sichten auf ein relationales Datenbanksystem 1. 4. 3. Anforderungen an ein DBMS 1. 4. 4. Bestandteile einer Tabelle 1. 4. 5. Inhalte einer relationalen Datenbank 1. 4. 6. Architektur-Muster beim Einsatz relationaler Datenbanken 1. 5. SQL – Structured Query Language 1. 5. 1. Sprachbestandteile 1. 5. 2. Ursprung: Relationale Algebra 11 11 11 14 16 17 17 18 19 19 19 20 21 23 24 27 29 34 35 35 37 38 38 39 40 42 43 43 2. Einfache Abfragen 2. 1. Grundstruktur von SELECT 2. 1. 1. Spaltenauswahl 2. 1. 2. Aliasnamen 2. 1. 3. Qualifizierte Spaltennamen 2. 2. Bedingungen 2. 2. 1. Einfache Bedingungen und Operatoren 2. 2. 2. Boolesche Operatoren 2. 2. 3. Mathematische Operatoren 2. 2. 4. Mengen-Operatoren 2. 3. Ergebnisse aufbereiten 2. 3. 1. Duplikate ein-/ausblenden 2. 3. 2. Ergebnisse sortieren 2. 3. 3. Standard-Aggregate 2. 3. 4. Gruppieren 47 47 48 48 49 50 50 52 55 57 60 60 61 62 64 http://www.comelio-medien.com/buch-katalog/e-books/sql 3 Inhaltsverzeichnis 3. Komplexe Abfragen 3. 1. Verknüpfungen 3. 1. 1. Manuelle Verknüpfungen 3. 1. 2. ANSI-SQL-Verknüpfungen 3. 2. Unterabfragen 3. 2. 1. Einfache Unterabfragen 3. 2. 2. Spaltenunterabfragen 3. 2. 3. Abgeleitete Tabellen 3. 2. 4. Korrelierte Unterabfragen 3. 2. 5. Operatoren für Unterabfragen 3. 3. Verzweigungen 3. 3. 1. CASE mit Selektor 3. 3. 2. Selektorlose CASE-Anweisung 68 68 68 71 77 77 79 80 83 85 87 87 89 4. Datenmanipulation 4. 1. Datenstrukturen anlegen 4. 1. 1. Tabellen grafisch anlegen 4. 1. 2. Tabellen mit SQL erstellen 4. 1. 3. Tabellen und ihre Eigenschaften ändern 4. 1. 4. Sichten 4. 1. 5. Datentypen 4. 1. 6. Indizes 4. 2. Daten bearbeiten 4. 2. 1. Vorbereitung 4. 2. 2. Einfügen 4. 2. 3. Aktualisieren 4. 2. 4. Löschen 4. 3. Objekte verwalten 4. 3. 1. Katalogsichten für Objekte 4. 3. 2. Funktionen 92 92 92 97 102 104 107 109 109 109 111 113 115 117 117 119 5. Grundlagen T-SQL 5. 1. T-SQL Blöcke 5. 1. 1. SQL als Programmiersprache 5. 1. 2. Variablen und Anweisungen 5. 2. Kontrollanweisungen 5. 2. 1. Fallunterscheidungen 5. 2. 2. Schleifen 5. 3. Fehlerbehandlung 5. 3. 1. Ausnahmen 5. 3. 2. Traditionelle Fehlerbehandlung 5. 4. Cursor 5. 4. 1. Deklaration 5. 4. 2. Verwendung 5. 4. 3. Beispiele 5. 5. Transaktionen 5. 5. 1. Einfache Transaktionen 5. 5. 2. Sicherungspunkte 5. 5. 3. Erweiterte Transaktionssteuerung 123 123 123 123 125 125 126 127 127 129 130 130 131 133 136 136 139 139 6. Programm-Module in der DB 6. 1. Prozeduren 142 142 4 http://www.comelio-medien.com/buch-katalog/e-books/sql Inhaltsverzeichnis 6. 1. 1. Einführung 6. 1. 2. Prozedurarten 6. 1. 3. Parameter und Aufruf 6. 2. Funktionen 6. 2. 1. Skalare Funktionen 6. 2. 2. Tabellenwertfunktion 6. 3. Trigger 6. 3. 1. Grundlagen 6. 3. 2. DML-Trigger 6. 3. 3. DDL-Trigger 6. 3. 4. Weitere Optionen 7. Administration 7. 1. Sicherheit 7. 1. 1. Allgemeine Überlegungen zur Sicherheit 7. 1. 2. Datensicherheit 7. 1. 3. Zugriffskontrolle 7. 1. 4. Rollen 7. 1. 5. Benutzer verwalten 7. 1. 6. Rechte verwalten 7. 1. 7. Rechte kaskadierend weitergeben 7. 1. 8. Sicherheit von Prozeduren, Funktionen und Trigger 7. 2. Sicherung und Wiederherstellung 7. 2. 1. Datensicherung 7. 2. 2. Wiederherstellung von Datenbanken 7. 2. 3. DB-Zustand http://www.comelio-medien.com/buch-katalog/e-books/sql 142 145 147 150 151 152 156 156 157 161 164 166 166 166 168 168 171 171 173 174 176 179 179 181 182 5