Der praxisorientierte Grundkurs
Robert Panther
Lektorat: Alexandra Follenius
Korrektorat: Sibylle Feldmann
Herstellung: Susanne Bröckelmann
Umschlaggestaltung: Michael Oréal, Foto von Michael Oréal, www.oreal.de
Satz: Gerhard Alfes, www.mediaservice.tv
Druck und Bindung: Druckerei C.H. Beck, www.becksche.de
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der
Deutschen Nationalbibliografie; detaillierte bibliografische Daten
sind im Internet über http://dnb.d-nb.de abrufbar.
ISBN:
Print 978-3-96009-041-0
PDF 978-3-96010-081-2
ePub 978-3-96010-082-9
mobi 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 GmbH
Wieblinger Weg 17
69123 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
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
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
Kapitel 1 Einleitung
Kapitel 2 Der Microsoft SQL Server
Kapitel 3 Installation und erste Schritte
• warum und für welche Zielgruppe dieses Buch entstanden ist
• wie dieses Buch aufgebaut ist
• welche Formatierungen und Symbole im Text verwendet werden
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.
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.
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.
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.
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).
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.
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:
kommentar@oreilly.de
Alternativ können Sie auch direkt den Autor anschreiben:
sqlserver@rpanther.de
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