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 2008 (R2) Express

Book Description

SQL Server 2008 R2 Express als kostenloser und leistungsfähiger Datenbankserver ist ideal, um in die professionelle Datenbankentwicklung einzusteigen. Mit dieser Version von SQL Server ist es möglich, auch komplexe Datenbankprojekte zu verwirklichen, die die Funktionalität einer Desktop-Datenbank wie Microsoft Access übersteigen. Wenn Sie in die Datenbankentwicklung mit einem professionellen Datenbankserver einsteigen wollen, ist dieses Buch genau das Richtige für Sie. Es vermittelt sowohl die Datenbankgrundlagen als auch das Programmierwissen, das Sie benötigen, um die umfangreichen Möglichkeiten von SQL Server 2008 R2 Express auszunutzen. Das didaktische Konzept des Buches beinhaltet viele Übungen, praxisnahe Tipps und zusätzliche Informationen auf der Website zum Buch.

Table of Contents

  1. Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2008 R2 Express
  2. A Note Regarding Supplemental Files
  3. Vorwort
  4. Vorwort zur 2. Ausgabe
  5. 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 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 Workgroup Edition
        5. SQL Server Standard Edition
        6. SQL Server Enterprise Edition
        7. SQL Server Datacenter Edition (nur SQL Server 2008 R2)
        8. SQL Server Parallel Data Warehouse Edition (nur SQL Server 2008 R2)
        9. SQL Server Developer Edition
        10. SQL Azure
      5. 2.5 Übungen zu diesem Kapitel
        1. Übung 2.1
        2. Übung 2.2
        3. Übung 2.3
      6. 2.6 Zusammenfassung
    3. 3. Erste Schritte mit SQL Server 2008 Express
      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 Business Intelligence Development Studio
        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
  6. 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 bearbeiten mit UPDATE, INSERT und DELETE
        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
  7. III. Datenbankentwicklung
    1. 7. Erweiterte SQL-Programmierung
      1. 7.1 Komplexe SQL-SELECTs
        1. Fallunterscheidung mit CASE
        2. Unterabfragen
        3. Aggregierungsfunktionen mit COMPUTE nutzen
      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 Übungen zu diesem Kapitel
        1. Übung 7.1
        2. Übung 7.2
        3. Übung 7.3
      5. 7.5 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
      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
  8. 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 Verwendung von Schemas
        1. Schemas erstellen
        2. Schemas verwenden
        3. Berechtigungen für Schemas verwalten
      6. 11.6 Übungen zu diesem Kapitel
        1. Übung 11.1
        2. Übung 11.2
        3. Übung 11.3
      7. 11.7 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
  9. 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 Die CLR-Integration von SQL Server
      6. 13.6 Übungen zu diesem Kapitel
        1. Übung 13.1
        2. Übung 13.2
        3. Übung 13.3
        4. Übung 13.4
        5. Übung 13.5
      7. 13.7 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 Compact Edition
        1. Kurzvorstellung SQL Server Compact Edition
        2. Datenbanken mit der Compact Edition erstellen
        3. Daten zwischen Compact Edition und SQL Server Express austauschen
      4. 15.4 SQL Azure
        1. Zusammenspiel zwischen SQL Azure und SQL Server 2008 R2
      5. 15.5 Umstieg auf eine größere Edition
        1. »Side by Side«-Installation
        2. »In Place«-Installation
      6. 15.6 Übungen zu diesem Kapitel
        1. Übung 15.1
        2. Übung 15.2
      7. 15.7 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. Importieren von Datenebenenanwendungen
        2. Aktualisieren von Datenebenenanwendungen
        3. Löschen von Datenebenenanwendungen
      4. 16.4 Übungen zu diesem Kapitel
        1. Übung 16.1
        2. Übung 16.2
        3. Übung 16.3
      5. 16.5 Zusammenfassung
  10. VI. Anhänge
    1. A. Kleine SQL-Referenz
      1. A.1 SELECT
        1. Einfache Abfragen
          1. Grundform
          2. Einschränkungen mit WHERE
          3. Sortierung mit ORDER BY
          4. Gruppierung mit GROUP BY
        2. Komplexere Abfragen
          1. Fallunterscheidung mit CASE
          2. Aggregierungsfunktionen mit COMPUTE
        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
      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
          1. 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. B. Inhalt der Buch-DVD
      1. B.1 SQL Server 2008/2008 R2 Express
      2. B.2 Updates und Service Packs
      3. B.3 Zusatztools und sonstige Dateien
    3. C. 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 Sonstige Websites zu SQL Server
      4. C.4 SQL Server-Foren und -Newsgroups
    4. D. Glossar
  11. Stichwortverzeichnis
  12. Impressum