O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012

Book Description

Diese Buch vermittelt sowohl die Datenbankgrundlagen als auch das Programmierwissen, das Sie benötigen, um professionell mit SQL Server 2012 zu arbeiten.

Table of Contents

  1. Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012
  2. Vorwort
  3. I. Einführung
    1. 1. Einleitung
      1. 1.1 Warum dieses Buch?
      2. 1.2 Aufbau des Buches
        1. Aufbau der einzelnen Kapitel
      3. 1.3 Die Beispieldatenbank
      4. 1.4 Schreibweisen
      5. 1.5 DVD, Softlinks und Website zum Buch
      6. 1.6 Zusammenfassung
    2. 2. Der Microsoft SQL Server
      1. 2.1 Historie des Microsoft SQL Server
        1. Sybase und die Anfänge des Microsoft SQL Server
        2. Microsoft SQL Server entsteht
        3. Der SQL Server wird erwachsen
        4. SQL Server bekommt neue Tools
        5. Kleiner Überblick über die wichtigsten Versionen und Builds
      2. 2.2 Neuerungen bei SQL Server 2008
        1. Neue Datentypen
        2. Sonstige Neuerungen für SQL Server 2008 Express
        3. Neue Features für die größeren Editionen von SQL Server 2008
      3. 2.3 Neuerungen bei SQL Server 2008 R2
        1. Neue Business-Intelligence-Features für SQL Server 2008 R2
        2. Sonstige neue Features der größeren Editionen von SQL Server 2008 R2
        3. Neue Features von SQL Server 2008 R2 Express
      4. 2.4 Neuerungen bei SQL Server 2012
        1. Mission Critical Confidence – Sicherheit und Hochverfügbarkeit
        2. Breakthrough Insight – neue BI-Features
        3. Cloud On Your Terms – bessere Anbindung an die Cloud
        4. Neuerungen bei SQL Server 2012 Express
        5. Änderungen bei der Lizenzierung
      5. 2.5 Die verschiedenen SQL Server-Editionen im Vergleich
        1. SQL Server Compact Edition
        2. SQL Server Express Edition
        3. SQL Server Web Edition
        4. SQL Server Standard Edition
        5. SQL Server Enterprise Edition
        6. SQL Server Parallel Data Warehouse Edition
        7. SQL Server Developer Edition
        8. SQL Server LocalDB
        9. SQL Azure
      6. 2.6 Übungen zu diesem Kapitel
        1. Übung 2.1
        2. Übung 2.2
        3. Übung 2.3
      7. 2.7 Zusammenfassung
    3. 3. Installation und erste Schritte
      1. 3.1 Systemvoraussetzungen
        1. Hardwarevoraussetzungen
        2. Softwarevoraussetzungen
      2. 3.2 Installation
        1. Installation der Advanced Edition
        2. Aktualisieren von SQL Server
      3. 3.3 Die wichtigsten SQL Server-Tools
        1. SQL Server-Installationscenter
        2. SQL Server-Konfigurations-Manager
          1. SQL Server-Dienste
          2. SQL Server-Netzwerkkonfiguration
          3. SQL Native Client 10.0-Konfiguration
        3. SQL Server Management Studio
        4. SQL Server Data Tools
        5. SQL Server-Import/Export-Assistent
        6. SQLCMD
      4. 3.4 Übungen zu diesem Kapitel
        1. Übung 3.1
        2. Übung 3.2
        3. Übung 3.3
        4. Übung 3.4
        5. Übung 3.5
      5. 3.5 Zusammenfassung
  4. II. Datenbankgrundlagen
    1. 4. Allgemeine Datenbankgrundlagen
      1. 4.1 Erstellen von Datenbanken und Tabellen
        1. Anlegen einer Datenbank
        2. Anlegen von Tabellen
        3. Spalten und Datentypen
          1. Numerische Datentypen
          2. Alphanumerische Datentypen
          3. Binäre Datentypen
          4. Temporale Datentypen
          5. Sonstige Datentypen
        4. NULL-Werte und Defaults
      2. 4.2 Anzeigen und Ändern von Daten
        1. Ändern von Tabelleninhalten
        2. Anzeigen von Daten
      3. 4.3 Bearbeiten von Datenbanken und Tabellen
        1. Ändern von Datenbankeinstellungen
        2. Anpassen der Felddefinitionen einer Tabelle
      4. 4.4 Primärschlüssel
      5. 4.5 Indizes
        1. Funktionsweise von Indizes
        2. Erstellen von Indizes
      6. 4.6 Übungen zu diesem Kapitel
        1. Übung 4.1
        2. Übung 4.2
        3. Übung 4.3
        4. Übung 4.4
        5. Übung 4.5
      7. 4.7 Zusammenfassung
    2. 5. Eine Tabelle kommt selten allein
      1. 5.1 Relationen und Fremdschlüssel
      2. 5.2 Normalisierung
      3. 5.3 Datenbankdiagramme
        1. Erstellen von Datenbankdiagrammen
        2. Ändern von Datenstrukturen mit Datenbankdiagrammen
      4. 5.4 Abfragen
      5. 5.5 Sichten (Views)
        1. Sichten auf eine Tabelle
        2. Sichten, die mehrere Tabellen nutzen
      6. 5.6 Übungen zu diesem Kapitel
        1. Übung 5.1
        2. Übung 5.2
        3. Übung 5.3
        4. Übung 5.4
        5. Übung 5.5
      7. 5.7 Zusammenfassung
    3. 6. Kleine Einführung in SQL
      1. 6.1 Was ist eigentlich SQL?
      2. 6.2 SQL-Anweisungen im Management Studio ausführen
      3. 6.3 Datenbankabfragen mit SELECT
        1. Abfragen auf einer Tabelle
        2. Aggregierungsfunktionen und Gruppierungen
        3. Abfragen auf mehreren Tabellen
          1. Spalten aus mehreren Tabellen mit JOIN verknüpfen
          2. Zeilen aus mehreren Tabellen mit UNION verknüpfen
      4. 6.4 Daten mit UPDATE, INSERT und DELETE bearbeiten
        1. INSERT und SELECT INTO zum Einfügen von Daten
        2. UPDATE zum Ändern von Daten
        3. DELETE und TRUNCATE TABLE zum Löschen von Daten
      5. 6.5 Erstellen und Verwenden von Sichten
        1. Erstellen von Sichten
        2. Verwenden von Sichten in SELECT-Abfragen
        3. Verwenden von Sichten für Datenänderungsoperationen
      6. 6.6 Übungen zu diesem Kapitel
        1. Übung 6.1
        2. Übung 6.2
        3. Übung 6.3
        4. Übung 6.4
        5. Übung 6.5
        6. Übung 6.6
      7. 6.7 Zusammenfassung
  5. III. Datenbankentwicklung
    1. 7. Erweiterte SQL-Programmierung
      1. 7.1 Komplexe SQL-SELECTs
        1. Fallunterscheidung mit CASE
        2. Fallunterscheidung mit IIF und CHOOSE
        3. Unterabfragen
        4. Aggregierungsfunktionen mit ROLLUP kumulieren
      2. 7.2 Komplexe INSERTs, UPDATEs und DELETEs
        1. INSERT auf Basis von mehreren Tabellen
        2. UPDATE auf Basis von mehreren Tabellen
        3. DELETE auf Basis von mehreren Tabellen
      3. 7.3 Daten abgleichen mit dem MERGE-Befehl
        1. Die klassische Variante (ohne MERGE)
        2. Die neue Variante (mit MERGE)
      4. 7.4 Common Table Expressions
      5. 7.5 Die OFFSET-Klausel
      6. 7.6 Sequenzen
      7. 7.7 Übungen zu diesem Kapitel
        1. Übung 7.1
        2. Übung 7.2
        3. Übung 7.3
        4. Übung 7.4
        5. Übung 7.5
      8. 7.8 Zusammenfassung
    2. 8. SQL-Skripts
      1. 8.1 Arbeiten mit SQL-Skripts
      2. 8.2 Variablen
        1. Systemvariablen
        2. Tabellenvariablen und temporäre Tabellen
      3. 8.3 Fallunterscheidungen und Schleifen
        1. Fallunterscheidung mit IF
        2. Anweisungsblöcke mit BEGIN ... END
        3. WHILE-Schleifen
      4. 8.4 Debuggen von SQL-Skripts
        1. Schrittweise Ausführung
        2. Breakpoints (Haltepunkte) nutzen
      5. 8.5 Fehlerbehandlung in SQL-Skripts
        1. RAISERROR
        2. TRY ... CATCH
        3. THROW
      6. 8.6 Sperren, Transaktionen und Deadlocks
        1. Sperren
        2. Transaktionen
        3. Deadlocks
      7. 8.7 Übungen zu diesem Kapitel
        1. Übung 8.1
        2. Übung 8.2
        3. Übung 8.3
        4. Übung 8.4
        5. Übung 8.5
      8. 8.8 Zusammenfassung
    3. 9. Gespeicherte Prozeduren, Funktionen, Trigger und Cursor
      1. 9.1 Systemprozeduren und -funktionen
        1. Systemprozeduren
        2. Die wichtigsten Systemfunktionen
      2. 9.2 Benutzerdefinierte gespeicherte Prozeduren
        1. Einfache gespeicherte Prozeduren
        2. Gespeicherte Prozeduren mit Parametern
        3. Gespeicherte Prozeduren mit OUTPUT-Parametern
      3. 9.3 Benutzerdefinierte Funktionen
        1. Skalarwertfunktionen (oder kurz: Skalarfunktionen)
        2. Tabellenwertfunktionen
        3. Aggregatfunktionen
      4. 9.4 Trigger
        1. Ein einfacher UPDATE-Trigger
        2. Kombinierte DML-Trigger
        3. Verwendung von geänderten Daten im Trigger
        4. INSTEAD OF-Trigger
      5. 9.5 SQL-Cursor
        1. Ein einfacher Cursor
        2. Cursor und Trigger kombiniert verwenden
      6. 9.6 Übungen zu diesem Kapitel
        1. Übung 9.1
        2. Übung 9.2
        3. Übung 9.3
        4. Übung 9.4
        5. Übung 9.5
      7. 9.7 Zusammenfassung
        1. Aufruf, Eingabe und Ausgabe von Daten
        2. Komplexität
        3. Performance
  6. IV. Datenbankadministration
    1. 10. Datenbankadministration mit SQL
      1. 10.1 Skriptgenerierung oder »SQL ist überall«
        1. Skriptgenerierung aus Dialogfeldern heraus
        2. Skriptgenerierung über den Objekt-Explorer
        3. Skriptgenerierung mit dem Vorlagen-Explorer
      2. 10.2 Verwalten von Datenbanken
        1. Datenbanken erstellen
        2. Datenbanken anpassen
        3. Datenbanken löschen
      3. 10.3 Verwalten von Datenbankobjekten
        1. Tabellen
        2. Indizes
        3. Sichten, Funktionen, gespeicherte Prozeduren und Trigger
      4. 10.4 DDL-Trigger
        1. Servertrigger
        2. Datenbanktrigger
        3. Was wurde eigentlich geändert?
      5. 10.5 Übungen zu diesem Kapitel
        1. Übung 10.1
        2. Übung 10.2
        3. Übung 10.3
      6. 10.6 Zusammenfassung
    2. 11. Benutzer, Rollen und Rechte
      1. 11.1 Das SQL Server-Rechtesystem
      2. 11.2 Anmeldungen und Authentifizierung
        1. Anlegen von SQL Server-Anmeldungen
        2. Windows-Benutzer und -Gruppen als Anmeldungen anlegen
        3. Anmeldungen testen
      3. 11.3 Verwalten von Datenbankbenutzern
      4. 11.4 Rechte und Rollen
        1. Serverrechte und -rollen
        2. Datenbankrechte und -rollen
      5. 11.5 Contained Databases
      6. 11.6 Verwendung von Schemas
        1. Schemas erstellen
        2. Schemas verwenden
        3. Berechtigungen für Schemas verwalten
      7. 11.7 Übungen zu diesem Kapitel
        1. Übung 11.1
        2. Übung 11.2
        3. Übung 11.3
      8. 11.8 Zusammenfassung
    3. 12. Daten sichern und bewegen
      1. 12.1 Sichern von Datenbankdateien
        1. Der naive Backup-Ansatz: Dateien kopieren
        2. Trennen und Verbinden von Datenbanken
      2. 12.2 Das Transaktionslog
      3. 12.3 Sichern und Wiederherstellen von Datenbanken
        1. Wahl der richtigen Sicherungsstrategie
          1. Anwendungstyp 1: Referenzdatenbank, die in unregelmäßigen Abständen neu aufgebaut wird
          2. Anwendungstyp 2: Unkritische Daten, die sich regelmäßig ändern
          3. Anwendungstyp 3: Kritische Daten, die sich regelmäßig ändern (großes Transaktionslog)
          4. Anwendungstyp 4: Kritische Daten, die sich regelmäßig ändern (kleines Transaktionslog)
      4. 12.4 Import und Export von Daten
        1. Der Import-/Export-Assistent
        2. Masseneinfügen per BULK INSERT
        3. BCP – Masseneinfügen über die Kommandozeile
        4. Formatdateien für BULK INSERT und bcp nutzen
      5. 12.5 Übungen zu diesem Kapitel
        1. Übung 12.1
        2. Übung 12.2
      6. 12.6 Zusammenfassung
  7. V. Erweiterte Funktionen
    1. 13. SQL Server und .NET Framework
      1. 13.1 Schichtentrennung und Applikationsaufbau
      2. 13.2 Zugriff über ADO.NET
      3. 13.3 LINQ to SQL
        1. LINQ to SQL-Klassen per Quelltext erstellen
        2. LINQ to SQL-Klassen mit dem Server-Explorer erstellen
      4. 13.4 Das ADO.NET Entity Framework
      5. 13.5 Übungen zu diesem Kapitel
        1. Übung 13.1
        2. Übung 13.2
        3. Übung 13.3
        4. Übung 13.4
      6. 13.6 Zusammenfassung
    2. 14. Reporting mit SQL Server Express mit Advanced Services
      1. 14.1 Überblick über die Reporting Services
      2. 14.2 Konfiguration der Reporting Services
      3. 14.3 Erstellen eines Reports mit dem Report-Designer
      4. 14.4 Übungen zu diesem Kapitel
        1. Übung 14.1
        2. Übung 14.2
      5. 14.5 Zusammenfassung
    3. 15. Zusammenarbeit mit anderen SQL Server-Instanzen und -Editionen
      1. 15.1 Verbindung zu anderen Servern
      2. 15.2 Replikation
        1. Überblick über die SQL Server-Replikation
        2. Welche Rolle spielt SQL Server Express bei der Replikation?
      3. 15.3 Die SQL Server LocalDB
      4. 15.4 Die SQL Server Compact Edition
      5. 15.5 SQL Azure
        1. Zusammenspiel von SQL Azure und SQL Server 2012
      6. 15.6 Umstieg auf eine größere Edition
        1. »Side by Side«-Installation
        2. »In Place«-Installation
      7. 15.7 Übungen zu diesem Kapitel
        1. Übung 15.1
        2. Übung 15.2
      8. 15.8 Zusammenfassung
    4. 16. Datenebenenanwendungen
      1. 16.1 Überblick über Datenebenenanwendungen
      2. 16.2 Erstellen von Datenebenenanwendungen
        1. Extrahieren von Datenebenenanwendungen
        2. Registrieren von Datenebenenanwendungen
      3. 16.3 Verteilen von Datenebenenanwendungen
        1. Bereitstellen von Datenebenenanwendungen
        2. Aktualisieren von Datenebenenanwendungen
        3. Löschen von Datenebenenanwendungen
      4. 16.4 Importieren und Exportieren von Datenebenenanwendungen
        1. Exportieren von Datenebenenanwendungen
        2. Importieren von Datenebenenanwendungen
      5. 16.5 Übungen zu diesem Kapitel
        1. Übung 16.1
        2. Übung 16.2
        3. Übung 16.3
      6. 16.6 Zusammenfassung
    5. 17. Die SQL Server Data Tools
      1. 17.1 Überblick über die SQL Server Data Tools
      2. 17.2 Installation
      3. 17.3 Mit Datenbankprojekten arbeiten
        1. Anlegen eines neuen Datenbankprojekts
        2. Objekte in Datenbankprojekten anpassen
        3. Veröffentlichen von Datenbankprojekten
      4. 17.4 Die CLR-Integration von SQL Server
      5. 17.5 Sonstige nützliche Features
        1. Server-Explorer und SQL Server-Objekt-Explorer
        2. Schemavergleich
        3. Statische Code-Analyse
      6. 17.6 Ausblick
        1. Zukünftige Features
        2. Team Foundation Server Express
      7. 17.7 Übungen zu diesem Kapitel
        1. Übung 17.1
        2. Übung 17.2
        3. Übung 17.3
        4. Übung 17.4
      8. 17.8 Zusammenfassung
    6. A. Nachwort
  8. VI. Anhänge
    1. B. Kleine SQL-Referenz
      1. A.1 SELECT
        1. Einfache Abfragen
          1. Grundform
          2. Eingrenzung der Ergebnismenge mit TOP
          3. Einschränkungen mit WHERE
          4. Sortierung mit ORDER BY
          5. Eingrenzung der Ergebnismenge mit OFFSET
          6. Gruppierung mit GROUP BY
        2. Komplexere Abfragen
          1. Fallunterscheidung mit CASE
          2. Aggregierungsfunktionen mit ROLLUP
        3. Abfragen auf mehreren Tabellen
          1. Verknüpfen mit JOIN
          2. Verbinden mit UNION SELECT
        4. Unterabfragen
          1. Unterabfragen mit IN
          2. Unterabfragen mit EXISTS
          3. Unterabfragen als berechnetes Feld
        5. Common Table Expressions
      2. A.2 Data Manipulation Language (DML)
        1. UPDATE
          1. Einfaches UPDATE
          2. UPDATE auf Basis von mehreren Tabellen
        2. INSERT/SELECT INTO
          1. INSERT mit konkreten Werten
          2. INSERT auf einer Abfrage basierend
          3. SELECT INTO
        3. DELETE/TRUNCATE TABLE
          1. DELETE mit Bedingung
          2. TRUNCATE TABLE
          3. DELETE auf Basis von mehreren Tabellen
        4. MERGE
      3. A.3 Data Definition Language (DDL)
        1. Datenbanken erstellen und konfigurieren
          1. Datenbanken erstellen
          2. Datenbanken konfigurieren
        2. Schemas erstellen
        3. Tabellen erstellen und ändern
          1. Tabellen erstellen
          2. Tabellen ändern (Spalte hinzufügen)
          3. Tabellen ändern (Standardwert definieren)
          4. Tabellen ändern (Fremdschlüssel definieren)
        4. Sichten erstellen und ändern
        5. Indizes erstellen und aktualisieren
          1. Indizes erstellen
          2. Indizes aktualisieren
        6. Gespeicherte Prozeduren erstellen und ändern
        7. Benutzerdefinierte Funktionen erstellen und ändern
          1. Skalarwertfunktionen erstellen bzw. ändern
          2. Tabellenwertfunktionen erstellen bzw. ändern
        8. Trigger erstellen und ändern
          1. DML-Trigger erstellen und ändern
          2. Server-Trigger erstellen und ändern
          3. Datenbank-Trigger erstellen und ändern
        9. Datenbankobjekte löschen
      4. A.4 Data Control Language (DCL)
        1. Anmeldungen und Benutzer anlegen
          1. SQL Server-Anmeldungen anlegen
          2. Windows-Anmeldungen anlegen
          3. Datenbankbenutzer anlegen
        2. Server- und Datenbankrollen
          1. Anmeldungen einer Serverrolle zuordnen
          2. Neue Datenbankrolle erstellen
          3. Datenbankbenutzer einer Datenbankrolle zuordnen
        3. Server- und Datenbankrechte
          1. Serverrechte für Anmeldungen erteilen, verweigern und entziehen
          2. Datenbankrechte für Benutzer und Rollen erteilen, verweigern und entziehen
      5. A.5 SQL Server-Datentypen
        1. Numerische Datentypen
        2. Alphanumerische Datentypen
        3. Binäre Datentypen
        4. Zeit- und Datumstypen
        5. Sonstige Datentypen
      6. A.6 Systemobjekte
        1. Systemsichten
        2. Systemfunktionen
        3. Systemprozeduren
        4. Systemvariablen
    2. C. Inhalt der Buch-DVD
      1. B.1 Beispiele
        1. Datenbanken
        2. Skriptdateien
        3. Projektdateien
      2. B.2 SQL Server 2012 Express
      3. B.3 SQL Server Compact 4.0
      4. B.4 SQL Server Data Tools
    3. D. Weiterführende Infos im Web
      1. C.1 Die Website zu Buchreihe, Verlag und Autor
      2. C.2 Microsoft-Websites zu SQL Server
      3. C.3 Downloads zu SQL Server
      4. C.4 Sonstige Websites zu SQL Server
      5. C.5 SQL Server Foren und Blogs
    4. E. Glossar
  9. Stichwortverzeichnis
  10. Impressum