Datenbankentwicklung lernen mit SQL Server 2016 - Robert Panther - E-Book

Datenbankentwicklung lernen mit SQL Server 2016 E-Book

Robert Panther

0,0

Beschreibung

SQL Server 2016 und die kostenlose Version SQL Server 2016 Express sind ideal, um in die professionelle Datenbankentwicklung einzusteigen. Sie können mit ihnen komplexe Datenbankprojekte verwirklichen, die die Funktionalität einer Desktop-Datenbank wie Microsoft Access deutlich übersteigen. Wenn Sie tiefer in die Datenbankentwicklung mit einem professionellen Datenbankserver einsteigen wollen, ist dieses Buch genau das Richtige für Sie. Es vermittelt leicht verständlich sowohl die Datenbankgrundlagen als auch das Programmierwissen, das Sie benötigen, um die umfangreichen Möglichkeiten von SQL Server 2016 zu nutzen. Aufgrund des didaktisch durchdachten Konzepts mit vielen Übungen und Praxistipps ermöglicht dieses Buch Ihnen eine fundierte Einarbeitung in die Entwicklung von Datenbanken. Das Buch basiert auf der kostenfrei erhältlichen Version SQL Server 2016 Express, eignet sich aber auch für größere SQL-Server-Editionen. Aus dem Inhalt: - Neuerungen bei SQL Server 2016 - Installation und erste Schritte - Datenbanken und Tabellen erstellen und bearbeiten - Daten anzeigen und ändern - Sichten erstellen und verwenden - erweiterte SQL-Features (CTEs, Sequenzen, Temporal Tables etc.) - komplexe Datentypen (XML und JSON) - Debugging und Fehlerbehandlung - Sperren, Transaktionen und Deadlocks - gespeicherte Prozeduren, Funktionen, Trigger und Cursor - Datenbankadministration mit SQL, Benutzer, Rollen und Rechte - Daten sichern und bewegen, Reporting - Zusammenarbeit mit anderen SQL Server-Instanzen und -Editionen - Datenebenenanwendungen - SQL Server Data Tools - SQL Server und .NET

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 560

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Datenbankentwicklung lernen mit SQL Server 2016

Der praxisorientierte Grundkurs

Robert Panther

Robert Panther

Lektorat: Alexandra FolleniusKorrektorat: Sibylle FeldmannHerstellung: Susanne BröckelmannUmschlaggestaltung: Michael Oréal, Foto von Michael Oréal, www.oreal.deSatz: Gerhard Alfes, www.mediaservice.tvDruck und Bindung: Druckerei C.H. Beck, www.becksche.de

Bibliografische Information der Deutschen NationalbibliothekDie Deutsche Nationalbibliothek verzeichnet diese Publikation in derDeutschen Nationalbibliografie; detaillierte bibliografische Datensind im Internet über http://dnb.d-nb.de abrufbar.

ISBN:Print   978-3-96009-041-0PDF   978-3-96010-081-2ePub  978-3-96010-082-9mobi  978-3-96010-083-6

Dieses Buch erscheint in Kooperation mit O’Reilly Media, Inc. unter dem Imprint »O’REILLY«. O’REILLY ist ein Markenzeichen und eine eingetragene Marke von O’Reilly Media, Inc. und wird mit Einwilligung des Eigentümers verwendet.

1. Auflage 2017

Copyright © 2017 dpunkt.verlag GmbHWieblinger Weg 1769123 Heidelberg

Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.

Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.

Die Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden. Verlag, Autoren und Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für eventuell verbliebene Fehler und deren Folgen.

5 4 3 2 1 0

Inhalt

Vorwort

Teil I Einführung

1 Einleitung

Warum dieses Buch?

Aufbau des Buchs

Die Beispieldatenbank

Schreibweisen

Benötigte Software

Zusammenfassung

2 Der Microsoft SQL Server

Historie des Microsoft SQL Server

Sybase und die Anfänge des Microsoft SQL Server

Microsoft SQL Server entsteht

Der SQL Server wird erwachsen

SQL Server bekommt neue Tools

Kleiner Überblick über die wichtigsten Versionen und Builds

Neuerungen bei SQL Server 2012

Mission Critical Confidence – Sicherheit und Hochverfügbarkeit

Breakthrough Insight – neue BI-Features

Cloud On Your Terms – bessere Anbindung an die Cloud

Neuerungen bei SQL Server 2012 Express

Änderungen bei der Lizenzierung

Neuerungen bei SQL Server 2014

Mission Critical Performance

Platform for Hybrid Cloud

Faster Insights from any Data

Neuerungen bei SQL Server 2016

Mission Critical Performance

Faster Insights from any Data

Hyperscale Cloud

Sonstige Neuerungen

Die verschiedenen SQL Server-Editionen im Vergleich

SQL Server Compact Edition

SQL Server Express Edition

SQL Server Web Edition

SQL Server Standard Edition

SQL Server Enterprise Edition

SQL Server Parallel Data Warehouse Edition

SQL Server Developer Edition

SQL Server LocalDB

SQL Azure

Übungen zu diesem Kapitel

Zusammenfassung

3 Installation und erste Schritte

Systemvoraussetzungen

Hardwarevoraussetzungen

Softwarevoraussetzungen

Installation

Download von SQL Server 2016 Express

Installation von SQL Server Express mit Advanced Services

Installation der SQL Server-Verwaltungstools

Installation der SQL Server Data Tools

Die wichtigsten SQL Server-Tools

SQL Server-Installationscenter

SQL Server-Konfigurations-Manager

SQL Server Management Studio

SQL Server Data Tools

SQL Server-Import/Export-Assistent

SQLCMD

Weitere Tools

Übungen zu diesem Kapitel

Zusammenfassung

Teil II Datenbankgrundlagen

4 Allgemeine Datenbankgrundlagen

Erstellen von Datenbanken und Tabellen

Anlegen einer Datenbank

Anlegen von Tabellen

Spalten und Datentypen

NULL-Werte und Defaults

Anzeigen und Ändern von Daten

Ändern von Tabelleninhalten

Anzeigen von Daten

Bearbeiten von Datenbanken und Tabellen

Ändern von Datenbankeinstellungen

Anpassen der Felddefinitionen einer Tabelle

Primärschlüssel

Indizes

Funktionsweise von Indizes

Erstellen von Indizes

Übungen zu diesem Kapitel

Zusammenfassung

5 Eine Tabelle kommt selten allein

Relationen und Fremdschlüssel

Normalisierung

Datenbankdiagramme

Erstellen von Datenbankdiagrammen

Ändern von Datenstrukturen mit Datenbankdiagrammen

Abfragen

Sichten (Views)

Sichten auf eine Tabelle

Sichten, die mehrere Tabellen nutzen

Übungen zu diesem Kapitel

Zusammenfassung

6 Kleine Einführung in SQL

Was ist eigentlich SQL?

SQL-Anweisungen im Management Studio ausführen

Datenbankabfragen mit SELECT

Abfragen auf einer Tabelle

Aggregierungsfunktionen und Gruppierungen

Abfragen auf mehreren Tabellen

Daten mit UPDATE, INSERT und DELETE bearbeiten

INSERT und SELECT INTO zum Einfügen von Daten

UPDATE zum Ändern von Daten

DELETE und TRUNCATE TABLE zum Löschen von Daten

Erstellen und Verwenden von Sichten

Erstellen von Sichten

Verwenden von Sichten in SELECT-Abfragen

Verwenden von Sichten für Datenänderungsoperationen

Übungen zu diesem Kapitel

Zusammenfassung

Teil III Datenbankentwicklung

7 Erweiterte SQL-Programmierung

Komplexe SQL-SELECTs

Fallunterscheidung mit CASE

Fallunterscheidung mit IIF und CHOOSE

Unterabfragen

Aggregierungsfunktionen mit ROLLUP kumulieren

Komplexe INSERTs, UPDATEs und DELETEs

INSERT auf Basis von mehreren Tabellen

UPDATE auf Basis von mehreren Tabellen

DELETE auf Basis von mehreren Tabellen

Daten abgleichen mit dem MERGE-Befehl

Die klassische Variante (ohne MERGE)

Die neue Variante (mit MERGE)

Common Table Expressions

Die OFFSET-Klausel

Sequenzen

Temporale Tabellen

Übungen zu diesem Kapitel

Zusammenfassung

8 Komplexe Datentypen

XML

Daten im XML-Format ausgeben

Daten im XML-Format speichern

Daten aus XML-Spalten auslesen

JSON

Daten im JSON-Format ausgeben

Daten im JSON-Format speichern

Daten aus JSON-Spalten auslesen

Daten in JSON-Spalten ändern

Übungen zu diesem Kapitel

Zusammenfassung

9 SQL-Skripte

Arbeiten mit SQL-Skripten

Variablen

Systemvariablen

Tabellenvariablen und temporäre Tabellen

Fallunterscheidungen und Schleifen

Fallunterscheidung mit IF

Anweisungsblöcke mit BEGIN ... END

WHILE-Schleifen

Debuggen von SQL-Skripten

Schrittweise Ausführung

Breakpoints (Haltepunkte) nutzen

Fehlerbehandlung in SQL-Skripten

RAISERROR

TRY ... CATCH

THROW

Sperren, Transaktionen und Deadlocks

Sperren

Transaktionen

Deadlocks

Übungen zu diesem Kapitel

Zusammenfassung

10 Gespeicherte Prozeduren, Funktionen, Trigger und Cursor

Systemprozeduren und -funktionen

Systemprozeduren

Die wichtigsten Systemfunktionen

Benutzerdefinierte gespeicherte Prozeduren

Einfache gespeicherte Prozeduren

Gespeicherte Prozeduren mit Parametern

Gespeicherte Prozeduren mit OUTPUT-Parametern

Benutzerdefinierte Funktionen

Skalarwertfunktionen (oder kurz Skalarfunktionen)

Tabellenwertfunktionen

Aggregatfunktionen

Trigger

Ein einfacher UPDATE-Trigger

Kombinierte DML-Trigger

Verwendung von geänderten Daten im Trigger

INSTEAD OF-Trigger

SQL-Cursor

Ein einfacher Cursor

Cursor und Trigger kombiniert verwenden

Übungen zu diesem Kapitel

Zusammenfassung

Teil IV Datenbankadministration

11 Datenbankadministration mit SQL

Skriptgenerierung oder »SQL ist überall«

Skriptgenerierung aus Dialogfeldern heraus

Skriptgenerierung über den Objekt-Explorer

Skriptgenerierung mit dem Vorlagen-Explorer

Verwalten von Datenbanken

Datenbanken erstellen

Datenbanken anpassen

Datenbanken löschen

Verwalten von Datenbankobjekten

Tabellen

Indizes

Sichten, Funktionen, gespeicherte Prozeduren und Trigger

DDL-Trigger

Servertrigger

Datenbanktrigger

Was wurde eigentlich geändert?

Übungen zu diesem Kapitel

Zusammenfassung

12 Benutzer, Rollen und Rechte

Das SQL Server-Rechtesystem

Anmeldungen und Authentifizierung

Anlegen von SQL Server-Anmeldungen

Windows-Benutzer und -Gruppen als Anmeldungen anlegen

Anmeldungen testen

Verwalten von Datenbankbenutzern

Rechte und Rollen

Serverrechte und -rollen

Datenbankrechte und -rollen

Contained Databases

Verwendung von Schemas

Schemas erstellen

Schemas verwenden

Berechtigungen für Schemas verwalten

Übungen zu diesem Kapitel

Zusammenfassung

13 Daten sichern und bewegen

Sichern von Datenbankdateien

Der naive Backup-Ansatz: Dateien kopieren

Trennen und Verbinden von Datenbanken

Das Transaktionslog

Sichern und Wiederherstellen von Datenbanken

Wahl der richtigen Sicherungsstrategie

Import und Export von Daten

Der Import/Export-Assistent

Masseneinfügen per BULK INSERT

BCP – Masseneinfügen über die Kommandozeile

Formatdateien für BULK INSERT und BCP nutzen

Übungen zu diesem Kapitel

Zusammenfassung

Teil V Erweiterte Funktionen

14 Reporting mit SQL Server Express mit Advanced Services

Überblick über die Reporting Services

Konfiguration der Reporting Services

Erstellen eines Reports mit dem Report-Designer

Übungen zu diesem Kapitel

Zusammenfassung

15 Zusammenarbeit mit anderen SQL Server-Instanzen und -Editionen

Verbindung zu anderen Servern

Replikation

Überblick über die SQL Server-Replikation

Welche Rolle spielt SQL Server Express bei der Replikation?

Die SQL Server LocalDB

Die SQL Server Compact Edition

Microsoft Azure SQL-Datenbank

Zusammenspiel von SQL Azure und SQL Server 2016

SQL Server Stretch-Datenbank

Umstieg auf eine größere Edition

»Side by Side«-Installation

»In Place«-Installation

Übungen zu diesem Kapitel

Zusammenfassung

16 Datenebenenanwendungen

Überblick über Datenebenenanwendungen

Erstellen von Datenebenenanwendungen

Extrahieren von Datenebenenanwendungen

Registrieren von Datenebenenanwendungen

Verteilen von Datenebenenanwendungen

Bereitstellen von Datenebenenanwendungen

Aktualisieren von Datenebenenanwendungen

Löschen von Datenebenenanwendungen

Importieren und Exportieren von Datenebenenanwendungen

Exportieren von Datenebenenanwendungen

Importieren von Datenebenenanwendungen

Übungen zu diesem Kapitel

Zusammenfassung

17 Datenbankprojekte und die SQL Server Data Tools

Überblick über die SQL Server Data Tools

Mit Datenbankprojekten arbeiten

Anlegen eines neuen Datenbankprojekts

Objekte in Datenbankprojekten anpassen

Veröffentlichen von Datenbankprojekten

Statische Codeanalyse

Weitere Features

Die CLR-Integration von SQL Server

Sonstige nützliche Features

Server-Explorer und SQL Server-Objekt-Explorer

Schemavergleich

Datenvergleich

Ausblick

Zukünftige Features

Übungen zu diesem Kapitel

Zusammenfassung

18 SQL Server und .NET Framework

Schichtentrennung und Applikationsaufbau

Zugriff über ADO.NET

LINQ to SQL

LINQ to SQL-Klassen per Quelltext erstellen

LINQ to SQL-Klassen mit dem Server-Explorer erstellen

Das ADO.NET Entity Framework

Übungen zu diesem Kapitel

Zusammenfassung

Nachwort

Teil VI Anhänge

Anhang A Kleine SQL-Referenz

SELECT

Einfache Abfragen

Komplexere Abfragen

Abfragen auf mehreren Tabellen

Unterabfragen

Common Table Expressions

Data Manipulation Language (DML)

UPDATE

INSERT/SELECT INTO

DELETE/TRUNCATE TABLE

MERGE

Data Definition Language (DDL)

Datenbanken erstellen und konfigurieren

Schemas erstellen

Tabellen erstellen und ändern

Sichten erstellen und ändern

Indizes erstellen und aktualisieren

Gespeicherte Prozeduren erstellen und ändern

Benutzerdefinierte Funktionen erstellen und ändern

Trigger erstellen und ändern

Datenbankobjekte löschen

Data Control Language (DCL)

Anmeldungen und Benutzer anlegen

Server- und Datenbankrollen

Server- und Datenbankrechte

SQL Server-Datentypen

Numerische Datentypen

Alphanumerische Datentypen

Binäre Datentypen

Zeit- und Datumstypen

Sonstige Datentypen

Systemobjekte

Systemsichten

Systemfunktionen

Systemprozeduren

Systemvariablen

Anhang B Weiterführende Infos im Web

Websites von Verlag und Autor

Microsoft-Websites zu SQL Server

Downloads zu SQL Server

Community, Events und Konferenzen

SQL Server-Foren und -Blogs

Anhang C Lösungen zu den Übungen

Anhang D Glossar

Index

Vorwort

Mit SQL Server 2016 ist am 1. Juni dieses Jahres wieder eine neue Version von Microsofts Datenbank-Management-System erschienen, das mittlerweile oft aufgrund der vielen Zusatzdienste und -komponenten auch als Datenplattform bezeichnet wird.

Wenn man das sogenannte »BI-Release« SQL Server 2008 R2 mitzählt, ist seit 2008 alle zwei Jahre eine neue Version des Produkts erschienen. Dabei wurde der SQL Server nicht jedes Mal komplett neu entworfen, sondern stattdessen im Kern konsequent weiterentwickelt und um Zusatzkomponenten erweitert. Dadurch wurde das ohnehin schon gute Produkt im Laufe der Jahre und Versionen immer ausgereifter und stabiler. Auch die interne Versionsnummer 13.0 zeigt, dass das Produkt (allem Aberglauben in Bezug auf die Zahl 13 zum Trotz) über viele Jahre kontinuierlich gereift ist. Ebenso wichtig ist aber, dass man auch als langjähriger Anwender auf bestehendes Wissen aufbauen und dieses um die Kenntnis der neuen Features erweitern kann.

Genauso wie SQL Server immer weiterentwickelt wurde, wird auch dieses Buch ständig weiterentwickelt, das bereits in ähnlicher Form für SQL Server 2008, SQL Server 2008 R2 und SQL Server 2012 verfügbar war. Durch den Rückzug von Microsoft Press aus dem deutschen Buchmarkt entstand eine kleine Lücke, sodass zu SQL Server 2014 keine überarbeitete Neufassung des Buchs geschrieben wurde. Allerdings waren die Inhalte des 2012er-Buchs auch allesamt für SQL Server 2014 anwendbar (zumal sich die Neuerungen – zumindest im Bereich der Datenbankentwicklung – in Grenzen hielten).

Nun ist SQL Server 2016 erhältlich, das eine Vielzahl von Neuerungen für alle Editionen von SQL Server mit sich bringt. Daher freut es mich, dass sich der dpunkt.verlag bereit erklärt hat, in seinem Imprint O’REILLY eine erweiterte Neuauflage des Buchs herauszubringen.

Die im Buch beschriebenen Beispiele beziehen sich zwar wiederum auf die Express Edition von Microsoft SQL Server, sind aber allesamt auch auf den größeren Editionen von SQL Server anwendbar, sodass der Text damit als Einstieg für alle Editionen geeignet ist. Auf eine Buch-DVD wurde diesmal bewusst verzichtet, da die benötigte Software problemlos in der jeweils aktuellsten Version aus dem Internet heruntergeladen werden kann. Inzwischen sind auch die dafür benötigten Internetbandbreiten nahezu überall verfügbar, sodass man auf den Download nicht mehr allzu lange warten muss.

Damit Sie auch wissen, wer dieses Buch geschrieben hat, möchte ich mich kurz vorstellen:

Ich beschäftige mit seit etwa 1995 mit dem SQL Server (damals noch in der Version 6.0) und habe das Produkt seitdem in seinen vielfältigen Facetten kennengelernt – anfangs in Form von Performanceuntersuchungen für meine Diplomarbeit zum Thema »Optimie-rung von Datenbankanwendungen«, mit der ich im Jahr 1996 mein Informatikstudium an der FH Darmstadt erfolgreich abschloss, und anschließend aus der Sicht des Datenbankadministrators für ein großes Unternehmen der Reisebranche. Darauf wechselte ich in ein mittelständisches Softwarehaus, in dem mich der SQL Server sowohl aus der Sicht eines Administrators als auch aus der eines Anwendungsentwicklers stets begleitete. Seit 2007 bin ich nun als Senior Consultant (bzw. inzwischen Executive Consultant) für CGI (bzw. deren Vorgängerunternehmen Unilog Avinci und Logica) – ein großes international agierendes Beratungsunternehmen – tätig und bin spätestens seit diesem Zeitpunkt völlig auf den SQL Server fokussiert. Sofern es die Projekte zulassen, bin ich auch immer wieder mal als Sprecher auf diversen Fachkonferenzen (z. B. BASTA!, SQLCON, Deutsche SQL Server Konferenz, Frankfurter Datenbanktage/IT-Tage) sowie in der offiziellen SQL Server User Community PASS (Professional Association for SQL Server) aktiv.

Und nach all dieser Zeit fasziniert es mich nach wie vor, dass es immer wieder Neues beim SQL Server zu entdecken gibt. Diese Begeisterung möchte ich Ihnen mit diesem Buch weitergeben.

Bevor ich aber mit dem eigentlichen Buchtext beginne, will ich noch ein Dankeschön an verschiedene Personen loswerden:

Beginnen möchte ich mit Alexandra Follenius, die dieses Buch von Verlagsseite betreut hat. Ein weiteres Dankeschön geht an Sylvia Hasselbach und Sandra Michel, die dasselbe für die vorangegangenen Fassungen des Buchtexts getan haben.

Des Weiteren bedanke ich mich natürlich bei allen Kunden, Kollegen und Freunden, die mich immer wieder in Gesprächen oder in Form von Lesermails mit interessanten Ideen und Anregungen für dieses Buch versorgt haben.

Vor allem aber bedanke ich mich bei meiner Frau Birgit dafür, dass sie wieder einmal Verständnis dafür aufbringen konnte, dass ich für einen gewissen Zeitraum einen guten Teil meiner Freizeit für die Bearbeitung dieses Buchtexts aufbringen musste.

Robert Panther,Hattersheim im Oktober 2016

Teil I

Einführung

In diesem Teil:

Kapitel 1     Einleitung

Kapitel 2     Der Microsoft SQL Server

Kapitel 3     Installation und erste Schritte

Kapitel 1

Einleitung

In diesem Kapitel lernen Sie

• warum und für welche Zielgruppe dieses Buch entstanden ist

• wie dieses Buch aufgebaut ist

• welche Formatierungen und Symbole im Text verwendet werden

Warum dieses Buch?

Mit SQL Server 2016 Express stellt Microsoft eine kostenfrei erhältliche Version des aktuellen SQL Server zur Verfügung, die bereits einen beachtlichen Funktionsumfang enthält und damit für viele Aufgaben bestens geeignet ist.

Wenn Sie bereits mit einer älteren Version von SQL Server gearbeitet haben, werden Sie die vielen interessanten Neuerungen schätzen lernen, mit denen die bereits vielfach bewährten Vorgängerversionen weiter verbessert wurden.

Haben Sie stattdessen bisher mit Microsoft Access oder der MSDB einfache Datenbankanwendungen erstellt, ist SQL Server 2016 Express der nächste logische Schritt, um diese Anwendungen auf eine skalierbare Plattform zu portieren. Denn sollte die Express Edition einmal nicht mehr ausreichen, können Sie die Datenbank problemlos auf einer größeren Variante von SQL Server einspielen, ohne den Code der Anwendung ändern zu müssen.

Und auch wenn Sie bisher noch gar keine Erfahrung mit der Entwicklung von Datenbankanwendungen haben, ist SQL Server 2016 Express das ideale Produkt, um in diese Thematik einzusteigen.

Mit diesem Buch erhalten Sie einen strukturierten Einstieg in die Möglichkeiten, die SQL Server 2016 –insbesondere SQL Server 2016 Express – bietet. Selbst wenn Sie mit einer größeren Variante von Microsoft SQL Server arbeiten sollten, können Sie auf das hier vermittelte Grundwissen aufbauen und müssen lediglich die zusätzlichen Features der größeren Versionen dazulernen. Somit ist dieses Buch auch als Grundlagenbuch für alle anderen Editionen von SQL Server geeignet.

Aufbau des Buchs

Der Buchtext gliedert sich in fünf größere Abschnitte, die durch einen Anhang ergänzt werden.

• Teil I, Einführung, gibt einen kurzen Überblick über Microsoft SQL Server. Nach einer Beschreibung der Historie werden die Neuerungen der 2016er-Variante vorgestellt, gefolgt von einem Vergleich der verschiedenen Editionen von SQL Server. Danach wird die Installation der Express Edition beschrieben. Abgerundet wird dieser Teil des Buchs durch einen Überblick über die wichtigsten Tools, die SQL Server mitbringt.

• Teil II, Datenbankgrundlagen, vermittelt die wichtigsten Grundlagen, die Sie benötigen, um mit Datenbank-Management-Systemen wie SQL Server 2016 zu arbeiten. Nach ein paar allgemeinen Grundlagen folgt eine Beschreibung, wie Sie die wichtigsten Datenbankobjekte wie Datenbanken, Tabellen, Sichten und Indizes anlegen und verwalten können. Abgerundet wird dieser Teil durch eine Einführung in die wichtigsten SQL-Anweisungen zum Abfragen, Einfügen, Ändern und Löschen von Daten.

• Teil III, Datenbankentwicklung, befasst sich mit fortgeschritteneren Themen der Datenbankentwicklung. Ein Kapitel widmet sich der erweiterten SQL-Programmierung wie beispielsweise komplexeren SQL-Abfragen, ein weiteres den komplexen Datentypen wie beispielsweise XML und JSON (wobei JSON streng genommen eher ein Datenformat als ein Datentyp ist). Außerdem wird die Programmierung von Triggern, gespeicherten Prozeduren und Funktionen beschrieben. Dazu werden auch die Besonderheiten von SQL-Skripten behandelt und erläutert, wie man diese debuggen oder gar eine Fehlerbehandlung zur Laufzeit implementieren kann.

• Teil IV, Datenbankadministration, führt Sie in die Nutzung der administrativen Möglichkeiten von SQL Server ein. Dabei wird das Anlegen, Ändern und Löschen von Datenbanken, Tabellen, Indizes etc. sowohl über die Benutzeroberfläche als auch mit der Sprache SQL beschrieben. Aber auch andere wichtige administrative Themen wie die Benutzer- und Rechteverwaltung sowie das Sichern und Wiederherstellen von Daten kommen hier nicht zu kurz.

• Teil V, Erweiterte Funktionen, erklärt die Nutzung von erweiterten Möglichkeiten von SQL Server Express. Im ersten Kapitel dieses Teils werden die Reporting-Features beschrieben, die Sie mit SQL Server Express Advanced Edition nutzen können. Anschließend folgt ein Kapitel, in dem die Möglichkeiten zur Zusammenarbeit mit den größeren (und kleineren) Editionen von SQL Server aufgezeigt werden. So lässt sich SQL Server Express beispielsweise als Client für ein Replikationsszenario verwenden. Aber auch die Compact Edition sowie die mit SQL Server 2012 hinzugekommene SQL Server LocalDB werden behandelt. Die nächsten Kapitel beschreiben die Verwendung von Datenebenenanwendungen sowie die mit SQL Server 2012 eingeführten Datenbankprojekte. Im letzten Kapitel schließlich wird ein Ausblick auf das Zusammenspiel mit .NET gegeben, um zur Datenbank auch komfortable Anwendungen entwickeln zu können.

• Im Anhang finden Sie eine kurze Referenz der wichtigsten SQL-Befehle gefolgt von einem Überblick über weitere Informationsquellen zum Thema im Internet. Ebenfalls im Anhang zu finden sind die Lösungen zu den Übungsaufgaben der einzelnen Kapitel. Abgeschlossen wird der Anhang durch ein Glossar, in dem die wichtigsten Fachbegriffe erklärt sind, sowie das obligatorische Stichwortverzeichnis.

Aufbau der einzelnen Kapitel

Die einzelnen Kapitel des Buchs sind folgendermaßen aufgebaut:

• Lernziele Sie finden am Anfang jedes Kapitels eine Übersicht zu den Lernzielen und Themen des Kapitels.

• Schrittfolgen Die Anleitungen für das Erstellen der Datenbanken sind als Schrittfolgen dargestellt. Auch wenn Sie die Beispieldatenbanken und -projekte von der Website zum Buch (unter http://downloads.oreilly.de/9783960090410) herunterladen können, empfehle ich Ihnen, alle Beispiele selbst zu erstellen, indem Sie Schritt für Schritt den beschriebenen Ablauf nachvollziehen. Sie werden auf diese Weise schneller mit der Oberfläche der diversen SQL Server-Tools sowie der Syntax von T-SQL vertraut.

• Übungen Vor der Zusammenfassung folgt meist noch ein Abschnitt mit Übungen zu dem jeweiligen Kapitel. Manchmal handelt es sich dabei um einfache Fragen, manchmal enthält eine Übung eine Aufgabe, um die im Kapitel durchgeführte Datenbankoperation noch weiter zu verfeinern. Alle Lösungen und Antworten finden Sie in Anhang C dieses Buchs. Versuchen Sie, die Übungen selbstständig durchzuführen, und schauen Sie sich erst dann die Lösungen im Anhang an. So werden Sie schneller in der Lage sein, eigene Datenbankprojekte zu realisieren.

• Zusammenfassung Am Ende jedes Kapitels finden Sie eine kurze Zusammenfassung der wichtigsten Lerninhalte, damit Sie sich das gerade Erlernte noch einmal ins Gedächtnis zurückrufen können.

Die Beispieldatenbank

Um einen echten Praxisbezug zu erreichen, wird im gesamten Buch eine einheitliche Beispieldatenbank verwendet, die im Laufe des Texts immer weiter entwickelt wird. Dabei wurde bewusst vermieden, die zweitausendundzweite Adressverwaltung zu entwerfen. Dennoch wurde ein relativ gängiges Anwendungsbeispiel in Form einer Mediendatenbank verwendet, mit der Sie Bücher, Audio-CDs und DVDs verwalten können, damit die Beispiele auch für jeden möglichst gut nachvollziehbar sind. Die Beispieldatenbank können Sie hier herunterladen:

http://downloads.oreilly.de/9783960090410.

Ich selbst kenne die Notwendigkeit einer solchen Datenbank nur zu gut, gehöre ich doch zu den vielen »Jägern und Sammlern«, die über eine recht große Anzahl von CDs und DVDs verfügen. Hin und wieder passiert es dann, dass ich eine interessante CD oder DVD günstig erstehe, um zu Hause dann festzustellen, dass diese bereits in meinem Regal stand. (Zum Glück kommt das allerdings nicht allzu oft vor.)

Um derlei Missgeschick künftig völlig auszuschließen, benötigt man also eine Mediendatenbank (möglichst auch in einer Offlinevariante, die man dann beim nächsten Besuch des Elektronikmarkts seines Vertrauens beispielsweise im Mobiltelefon parat hat). Wenn man dann noch eine einfache Suchoberfläche zur Verfügung hat, um mit wenigen Tastendrücken nachzusehen, ob ein Titel schon in der privaten Sammlung enthalten ist, ist das Problem gelöst.

Im Vordergrund der meisten Beispiele in diesem Buch wird allerdings weniger die Benutzeroberfläche der zugehörigen Anwendung, sondern vielmehr die Datenbank selbst stehen.

Schreibweisen

Dieses Buch verwendet einige wenige Konventionen. Wenn Sie mit ihnen vertraut sind, können Sie einfacher mit dem Buch arbeiten:

• Kursive Schrift Die kursive Schrift wird für Dateinamen verwendet, bezeichnet Elemente der Benutzeroberfläche (in den meisten Fällen also Elemente des Menüs des SQL Server Management Studio sowie Dialogfelder und auch die Namen der Eigenschaften, wie sie im Management Studio oder in der IDE erscheinen) und wird in seltenen Fällen auch für Hervorhebungen verwendet. Datenbankobjekte wie die Namen von Datenbanken, Tabellen, Feldern etc. werden ebenfalls in kursiver Schrift dargestellt.

• Listingschrift Die Listingschrift wird verwendet, wenn Codefragmente aus dem Beispielcode abgedruckt werden. Im Fließtext werden die Begriffe in Listingschrift gedruckt, die auf Stellen im Quellcode verweisen.

Zusätzlich finden Sie im ganzen Buch verteilt Absätze, die mit den folgenden Symbolen versehen sind und die auf bestimmte hilfreiche Elemente hinweisen:

Wichtig

Absätze mit diesem Icon enthalten wichtige Informationen, auf die Sie unbedingt achten sollten.

Tipp

In den Tipp-Absätzen finden Sie weiterführende Informationen und Hinweise dazu, wie Sie Dinge besonders einfach und zeitsparend durchführen können.

Hintergrundinfo

Mit diesem Symbol markierte Absätze enthalten hilfreiche Hintergrundinformationen. Die Informationen sind nicht erforderlich, um eine bestimmte Schrittfolge durchzuführen, sie vertiefen jedoch Ihr Wissen über die Zusammenhänge, in denen eine bestimmte Aktion steht. Dies beinhaltet auch sogenannte Best Practices, also Beschreibungen zu gängigen Vorgehensweisen, die sich in der Praxis bewährt haben. Auch Links zu Websites im Internet, die mit dem behandelten Thema in Zusammenhang stehen, sind mit diesem Icon gekennzeichnet.

Bei der Wahl von Fachbegriffen aus dem Umfeld von SQL Server wird in der Regel vorrangig die deutschsprachige Bezeichnung verwendet. Zusätzlich wird an vielen Stellen aber auch auf die englischsprachige Variante hingewiesen, da Sie diese in vielen – teilweise selbst deutschsprachigen – Quellen finden und dadurch die Suche nach weiterführenden Informationen zu einem bestimmten Thema im Internet erleichtert wird – Beispiel: Sichten (engl. Views).

Benötigte Software

Da die Updatezyklen immer kürzer werden, dafür aber schnelle Internetverbindungen fast überall zugänglich sind, haben sich Autor und Verlag bewusst gegen eine Buch-DVD entschieden. Stattdessen finden Sie im Buchtext an den entsprechenden Stellen Verweise darauf, wo die benötigte Software in der gerade aktuellsten Version heruntergeladen werden kann. Das betrifft vor allem SQL Server 2016 Express with Advanced Services sowie das SQL Server Management Studio und die SQL Server Data Tools, die für die Beispiele genutzt wurden. Die Installation der Software ist in Kapitel 3, Installation und erste Schritte, ausführlich beschrieben.

Um die Beispiele selbst nachzuvollziehen, benötigen Sie also lediglich einen PC auf Basis von Windows 8 (oder neuer) bzw. Windows Server 2012 (oder neuer). Alles Weitere wird im Verlauf des Buchs installiert. Die detaillierten Hard- und Softwarevoraussetzungen sind ebenfalls in Kapitel 3, Installation und erste Schritte, beschrieben.

Eine Ausnahme bildet das letzte Kapitel, da hier ein Ausblick auf die Entwicklung mit .NET gegeben wird. Wenn Sie die dort gezeigten Beispiele selbst ausprobieren möchten, benötigen Sie die Visual Studio 2015 Community Edition, die ebenfalls per kostenfreiem Download bezogen werden kann. Auf die genauen Details dazu wird in Kapitel 18, SQL Server und .NET Framework, eingegangen.

Zusammenfassung

Dieses einführende Kapitel hat Ihnen einen Überblick darüber gegeben, wie dieses Buch aufgebaut ist und welche Schreibweisen darin verwendet werden.

Es wurde selbstverständlich alles unternommen, um die Richtigkeit des Buchinhalts und des Bonusmaterials sicherzustellen. Etwaige Korrekturen (nobody is perfect) und Änderungen finden Sie auf der Verlagswebsite unter folgender Adresse:

http://www.oreilly.de

Wenn Sie Kommentare, Fragen oder Anregungen zum Inhalt dieses Buchs oder des Begleitmaterials bzw. Fragen haben, die Sie auf den oben angegebenen Websites nicht klären konnten, senden Sie eine E-Mail an folgende Adresse:

[email protected]

Alternativ können Sie auch direkt den Autor anschreiben:

[email protected]

So, nun wünsche ich aber viel Vergnügen beim Lesen dieses Buchs und Entdecken der zahlreichen Möglichkeiten von SQL Server 2016 Express.

Robert Panther