SQL Server 2014

Das Programmierhandbuch. Inkl. ADO.NET Entity Framework
Buch | Hardcover
1308 Seiten
2014 | 6. Auflage
Galileo Press (Verlag)
978-3-8362-3044-5 (ISBN)

Lese- und Medienproben

SQL Server 2014 - Dirk Mertins, Jörg Neumann, Andreas Kühnel
69,90 inkl. MwSt
zur Neuauflage
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
Dieses bewährte, umfassende Handbuch richtet sich sowohl an Einsteiger als auch an erfahrene Datenbank-Entwickler, die auf praxisorientierte und anschauliche Weise die Programmierung von SQL Server 2014 erlernen und sich die vielfältigen Möglichkeiten vollständig erschließen möchten.
Vom ersten Datenbankentwurf und den SQL-Grundlagen, der Migration von SQL Server 2012, 2008 oder 2005 bis hin zu den neuen Features und konkreten Programmierbeispielen beschreiben die Autoren alles Notwendige, um den SQL Server 2014 als Programmierplattform und Datenmanagement-Server zu nutzen.

Mit diesem Buch lernen Sie

Sicherer Umgang mit SQL Server 2014
Erfahren Sie alle über die Installation und den Entwurf einer gut strukturierten Datenbank. Anschauliche Listings ermöglichen Ihnen den Einstieg in die SQL-Programmierung.

SQL Server 2014 als Laufzeitumgebung für .NET
Programmieren Sie serverseitig mit einer beliebigen .NET-Sprache indem Sie die integrierte Common Language Runtime nutzen. Hierdurch können Sie Ihren Programmier-Code um .Net-Funktionalität anreichern.

Setzen Sie Transact SQL, XML und Webservices ein
Implementieren Sie mit T-SQL serverseitige Logik in SQL Server. Verwenden Sie z.B. XML in der Datenbank oder SOAP als Schnittstelle, und speichern Sie XML-Daten nativ in der Datenbank.

Verwenden Sie ADO.NET, LINQ und ADO.NET Entity Framework
Am Beispiel von Visual C# sehen Sie, wie Sie mit ADO.NET Daten abrufen und aktualisieren können. Lernen Sie die Vorteile von Language Integrated Query (LINQ) und ADO.NET Entity Framework kennen.

Themen sind insbesondere:
  • Installation und Migration
  • Datentypen in SQL Server 2014
  • Datenbankentwurf
  • Grundlagen T-SQL-Programmierung
  • Benutzerverwaltung und Schemata
  • Gespeicherte Prozeduren
  • Benutzerdefinierte Funktionen
  • Einsatz von Triggern
  • Event Notification
  • XML, Webservices, PowerShell
  • Datenbankzugriff mit ADO.NET und LINQ
  • ADO.NET Entity Framework

Dirk Mertins ist Microsoft Certified Solution Developer (MCSD) und Microsoft Certified Database Administrator (MCDBA). Er ist freiberuflicher Trainer für die Themen SQL-Programmierung und Datenbanken.

Jörg Neumann ist IT-Consultant bei der Resco GmbH in Hamburg, Fachautor und Sprecher auf Entwicklerkonferenzen. Er ist Spezialist für Client- und Datenbank-Technologien.

Andreas Kühnel ist als freiberuflicher IT-Trainer und Berater deutschlandweit tätig. Er ist seit 1995 als Microsoft Certified Trainer (MCT) zertifiziert. Seine „große Liebe“ galt anfangs Visual Basic. Seit der ersten Vorstellung von .NET konzentriert er sich hauptsächlich auf die Sprachen VB.NET und natürlich C#. Zu seinen Schwerpunkten in der .NET-Welt gehören Datenbanken, Windows-Anwendungen mit WPF, ASP.NET und die WCF (Windows Communication Foundation).

Vorwort ... 33




TEIL I. Grundlagen ... 35




1. Installation und Aktualisierung von SQL Server 2014 ... 37



1.1 ... Überblick über die verfügbaren SQL-Server-2014-Versionen ... 37


1.2 ... Installationsvoraussetzungen ... 38


1.3 ... Installation von SQL Server 2014 ... 39


1.4 ... Installation der SQL-Server-Beispieldatenbank ... 48


1.5 ... Aktualisierung auf SQL Server 2014 ... 51





2. Datenbankgrundlagen ... 65



2.1 ... Server und Client ... 65


2.2 ... Relationale Datenbanken ... 66


2.3 ... Datenbankmanagementsystem ... 83


2.4 ... Integritätsarten ... 86





3. Logischer Datenbankentwurf ... 89



3.1 ... Grundlagen des Datenbankentwurfs ... 89


3.2 ... Normalisierungsregeln (Normalformen) ... 90


3.3 ... Normalisierung in der Praxis ... 97


3.4 ... Denormalisierung ... 100


3.5 ... Entity-Relationship-Diagramme ... 102





4. Die Oberfläche von SQL Server 2014 ... 105



4.1 ... Das SQL Server Management Studio ... 105


4.2 ... Das Bearbeiten von SQL-Anweisungen im Management Studio ... 122


4.3 ... SQL-Server-Dokumentation und Hilfen zur Programmierung ... 137


4.4 ... Überblick über die SQL-Server-Dienste ... 147


4.5 ... Das Dienstprogramm »sqlcmd« ... 148


4.6 ... SQL-Server-Integration in die Windows PowerShell ... 151


4.7 ... Der SQL-Server-Aktivitätsmonitor ... 158


4.8 ... Berichte ... 160





TEIL II. SQL-Programmierung ... 161




5. Grundlegende Abfragetechniken ... 163



5.1 ... Einführung in SQL ... 163


5.2 ... SQL-Grundlagen ... 164


5.3 ... Grundlegende Operatoren ... 173


5.4 ... Einfache Abfragen ... 177


5.5 ... Auswahloperatoren ... 192


5.6 ... Aggregatfunktionen ... 200


5.7 ... Unterabfragen ... 204


5.8 ... Zusammenfassung, Gruppierung und Beschränkung von Abfrageergebnissen ... 210


5.9 ... Die Mengen-Operatoren EXCEPT und INTERSECT ... 222


5.10 ... Ausgaben mit PRINT und SELECT ... 225





6. Grundlagen der SQLProgrammierung ... 227



6.1 ... Das Stapeltrennzeichen GO ... 227


6.2 ... (Lokale) Variablen ... 229


6.3 ... Ablaufsteuerung ... 238


6.4 ... Fallunterscheidungen ... 248


6.5 ... Funktionen ... 256


6.6 ... Dynamische SQL-Anweisungen ... 277


6.7 ... Fehler in SQL Server und ihre Behandlung ... 279


6.8 ... Fehlerbehandlung ... 282





7. Mehrtabellenabfragen ... 303



7.1 ... Tabellen verknüpfen (JOIN-Anweisung) ... 303


7.2 ... Abfragen unter Verwendung mehrerer Server ... 313





8. Erstellen und Ändern von Datenbanken ... 315



8.1 ... Erstellen einer einfachen Datenbank ... 315


8.2 ... Einfluss der »model«-Datenbank auf das Erstellen neuer Datenbanken ... 323


8.3 ... Löschen von Datenbanken ... 324


8.4 ... Erstellen einer Datenbank mit mehreren Dateien ... 324


8.5 ... Nachträgliche Änderungen an Datenbankdateien ... 327


8.6 ... Erstellen einer Datenbank mit mehreren Dateigruppen ... 330


8.7 ... Datenbanken verkleinern ... 333


8.8 ... Datenbankdateien verkleinern ... 335


8.9 ... Gespeicherte Systemprozeduren (Stored Procedures) zur Datenbankverwaltung ... 336


8.10 ... Datenbank-Momentaufnahmen ... 337


8.11 ... RAID-Systeme ... 346


8.12 ... Transparente Datenverschlüsselung ... 350





9. Erstellen von Tabellen ... 353



9.1 ... Die grundlegende Syntax zur Tabellenerstellung ... 353


9.2 ... Tabellen ändern ... 370


9.3 ... Löschen von Tabellen ... 373


9.4 ... Implementierung der Datenintegrität ... 374


9.5 ... Anwendungsbeispiel zu Einschränkungen ... 381


9.6 ... Nachträgliche Definition von Einschränkungen ... 384


9.7 ... Verwaltung von Einschränkungen ... 384


9.8 ... Temporäre Tabellen ... 386


9.9 ... Partitionierung von Tabellen ... 389





10. Speicherung von Daten in FileTables ... 397



10.1 ... Voraussetzungen für die Verwendung von FileTables ... 397


10.2 ... Erstellung einer FileTable ... 400


10.3 ... Zugriff auf eine FileTable ... 402


10.4 ... Sichten zur Abfrage vorhandener FileTables in einer Datenbank ... 404





11. Verwendung der räumlichen und hierarchischen Datentypen ... 405



11.1 ... Räumliche Datentypen ... 405


11.2 ... Der hierarchische Datentyp ... 441





12. Daten verwalten ... 451



12.1 ... Grundlegende Befehle zur Datensatzmanipulation ... 451


12.2 ... Verwendung des Zeilenkonstruktors ... 460


12.3 ... Kombinierte Auswahl-/Einfügeanweisungen ... 461


12.4 ... Die MERGE-Anweisung ... 464


12.5 ... Massenkopierprogramme ... 470





13. Benutzerverwaltung und Schemas ... 473



13.1 ... Authentifizierung am Server ... 474


13.2 ... Datenbankzugriff erteilen ... 478


13.3 ... Zusammenfassung von Benutzern zu Rollen ... 481


13.4 ... Rechtevergabe an Benutzer und Rollen ... 487


13.5 ... Deaktivierung und Aktivierung von Logins und Datenbankbenutzern ... 494


13.6 ... Vordefinierte Konten auf Server- und Datenbankebene ... 496


13.7 ... Schema ... 499





14. Eigenständige Datenbanken ... 505



14.1 ... Das Konzept der eigenständigen Datenbanken ... 505


14.2 ... Konfiguration des Servers zur Verwendung eigenständiger Datenbanken ... 505


14.3 ... Erstellung einer eigenständigen Datenbank ... 506


14.4 ... Identifizierung eigenständiger Datenbanken ... 507


14.5 ... Besonderheiten der Benutzerverwaltung eigenständiger Datenbanken ... 508


14.6 ... Verbindungsaufbau zu einer eigenständigen Datenbank ... 509


14.7 ... Konvertierung einer Datenbank in eine eigenständige Datenbank ... 511


14.8 ... Migration einer eigenständigen Datenbank auf einen anderen Server ... 514





15. Sichten ... 517



15.1 ... Einsatz von Sichten ... 518


15.2 ... Verwalten von Sichten ... 520


15.3 ... Datenmanipulationsanweisungen auf eine Sicht ... 523


15.4 ... Systemsichten von SQL Server ... 528





16. Programmierung von gespeicherten Prozeduren ... 531



16.1 ... Überblick über die Verwendung von gespeicherten Prozeduren in SQL Server ... 531


16.2 ... Erstellung und Aufruf von gespeicherten Prozeduren ... 535


16.3 ... Tabellenübergabe an eine gespeicherte Prozedur ... 553


16.4 ... Optionen von gespeicherten Prozeduren ... 555





17. Programmierung von benutzerdefinierten Funktionen ... 563



17.1 ... Überblick über benutzerdefinierte Funktionen ... 563


17.2 ... Skalare Funktionen (Skalarwertfunktionen) ... 564


17.3 ... Inlinefunktionen (Tabellenwertfunktionen) ... 568


17.4 ... Tabellenwertfunktion mit mehreren Anweisungen ... 571


17.5 ... Ändern und Löschen von benutzerdefinierten Funktionen ... 574


17.6 ... Verwendung des Datentyps »table« als lokale Variable ... 574





18. Programmierung und Einsatz von Triggern ... 579



18.1 ... DML-Trigger ... 579


18.2 ... DDL-Trigger ... 601





19. Nachverfolgung von Datenänderungen ... 607



19.1 ... Die Möglichkeiten zur Nachverfolgung von Datenänderungen: Change Data Capture und die Änderungsnachverfolgung ... 607


19.2 ... Change Data Capture ... 608


19.3 ... Änderungsnachverfolgung ... 623





20. Ereignisbenachrichtigungen (Event Notifications) ... 629



20.1 ... Konfiguration einer Datenbank zur Nutzung des Service Brokers ... 630


20.2 ... Konfiguration des Zieldienstes ... 631


20.3 ... Erstellen einer Ereignisbenachrichtigung ... 633


20.4 ... Auslösen und Empfangen einer Ereignisbenachrichtigung ... 634


20.5 ... Service-Broker-Aktivierung ... 636


20.6 ... Löschen der erstellten Objekte ... 640





21. Erstellung und Einsatz eines Cursors ... 641



21.1 ... Funktionsweise eines Cursors ... 641


21.2 ... Erstellung eines Cursors ... 643


21.3 ... Öffnen eines Cursors ... 645


21.4 ... Das Abrufen von Datensätzen aus einem Cursor ... 646


21.5 ... Schließen und Löschen eines Cursors ... 655


21.6 ... Schleifenprogrammierung zum automatischen Durchlaufen eines Cursors ... 656


21.7 ... Daten in der Cursorauswahl aktualisieren und löschen ... 661





22. Sequenzen ... 663



22.1 ... Erstellung einer Sequenz mit Standardeinstellungen ... 663


22.2 ... Informationen zu den vorhandenen Sequenzen in einer Datenbank ... 664


22.3 ... Abrufen von Sequenzwerten ... 664


22.4 ... Die Verwendung der Parameter AS, START, INCREMENT, MINVALUE, MAXVALUE, CYCLE und CACHE ... 666





23. Indizes ... 675



23.1 ... Der nicht gruppierte Index auf einem Heap ... 676


23.2 ... Der gruppierte Index ... 680


23.3 ... Der nicht gruppierte Index auf einem gruppierten Index ... 683


23.4 ... Der Columnstore-Index ... 686


23.5 ... Erstellung von Indizes ... 686


23.6 ... Verwaltung von Indizes ... 690


23.7 ... Statistiken ... 694


23.8 ... Planung des Einsatzes von Indizes ... 699


23.9 ... Weitere Optimierungsmöglichkeiten mit Hilfe von Indizes ... 708





24. Columnstore-Indizes ... 717



24.1 ... Das Grundprinzip von Columnstore-Indizes ... 717


24.2 ... Erstellung eines nicht gruppierten Columnstore-Index ... 719


24.3 ... Erstellung eines gruppierten Columnstore-Index ... 724


24.4 ... Abfragen von Informationen über vorhandene ColumnstoreIndizes ... 728





25. Transaktionen ... 729



25.1 ... Einführung in Transaktionen ... 729


25.2 ... ACID ... 731


25.3 ... Interne Transaktionsverarbeitung ... 734


25.4 ... Verhalten bei Systemfehlern ... 735


25.5 ... Programmierung expliziter Transaktionen ... 737


25.6 ... Implizite Transaktionen ... 741


25.7 ... Sperren ... 743


25.8 ... Isolationsstufen auf Verbindungsebene ... 745


25.9 ... Sperrhinweise auf Tabellenebene ... 755


25.10 ... Informationen zu Sperren ... 757


25.11 ... Deadlocks ... 757





26. Speicheroptimierte Tabellen ... 763



26.1 ... Grundlagen der speicheroptimierten Tabellen ... 763


26.2 ... Beständigkeit speicheroptimierter Tabellen ... 764


26.3 ... Konfiguration einer Datenbank zur Verwendung speicheroptimierter Tabellen ... 765


26.4 ... Erstellung speicheroptimierter Tabellen ... 769


26.5 ... Vergleich des Verhaltens beider Arten von speicheroptimierten Tabellen ... 772





27. Indizierung speicheroptimierter Tabellen ... 773



27.1 ... Unterschiede zwischen der Indizierung speicheroptimierter und dateibasierter Tabellen ... 773


27.2 ... Indexarten für die Verwendung mit speicheroptimierten Tabellen ... 774


27.3 ... Überlegungen zur Verwendung nicht gruppierter Indizes oder nicht gruppierter Hash-Indizes ... 779


27.4 ... Abfragen zu Indizes speicheroptimierter Tabellen ... 779





28. Systemintern kompilierte gespeicherte Prozeduren ... 781



28.1 ... Überblick über systemintern kompilierte gespeicherte Prozeduren und deren Verwendung ... 781


28.2 ... Erstellung systemintern kompilierter gespeicherter Prozeduren ... 782


28.3 ... Ändern einer systemintern kompilierten gespeicherten Prozedur ... 787


28.4 ... Informationen zum Speicherort und den geladenen DLLDateien ... 787





TEIL III. .NET-Programmierung ... 789




29. SQL Server als Laufzeitumgebung für .NET ... 791



29.1 ... Die Programmiermodelle im Vergleich ... 791


29.2 ... Die CLR-Integration im Detail ... 795


29.3 ... Der Hosting-Layer ... 799


29.4 ... Verwaltung von Assemblies ... 801


29.5 ... Sicherheitsstufen ... 803





30. .NET-Programmierung ... 805



30.1 ... CLR-Unterstützung aktivieren ... 805


30.2 ... CLR-Prozeduren und Funktionen ... 807


30.3 ... Gespeicherte Prozeduren ... 812


30.4 ... Benutzerdefinierte Funktionen ... 820


30.5 ... Serverseitiger Datenzugriff mit ADO.NET ... 828


30.6 ... Pipes ... 830


30.7 ... Impersonalisierung ... 838


30.8 ... Benutzerdefinierte Typen ... 842


30.9 ... Benutzerdefinierte Aggregate ... 859


30.10 ... Benutzerdefinierte Trigger ... 867


30.11 ... Administration und Monitoring von CLR-Objekten ... 874





31. T-SQL: Erweiterte Themen ... 879



31.1 ... CROSS APPLY und OUTER APPLY ... 881


31.2 ... Kreuztabellen mit PIVOT erstellen ... 883


31.3 ... Common Table Expressions ... 891


31.4 ... Fehlerbehandlung ... 899


31.5 ... Ranking- und Windowing-Funktionen ... 906


31.6 ... Die OUTPUT-Klausel ... 913


31.7 ... Die TABLESAMPLE-Klausel ... 915


31.8 ... EXCEPT- und INTERSECT-Statement ... 917


31.9 ... Tabellenwertparameter ... 919





32. Einsatz von XML in der Datenbank ... 925



32.1 ... Warum XML? ... 926


32.2 ... HTML und XML ... 926


32.3 ... XML-Fähigkeiten von SQL Server ... 931


32.4 ... Der XML-Datentyp ... 931


32.5 ... Auf gespeicherte XML-Daten zugreifen ... 937


32.6 ... Darstellung von Abfrageergebnissen im XML-Format ... 949


32.7 ... XML-Schema ermitteln ... 966


32.8 ... XML-Daten in einem relationalen Modell speichern ... 968





33. Datenbankzugriff mit ADO.NET ... 971



33.1 ... Einleitung ... 971


33.2 ... Die Datenprovider ... 974


33.3 ... Die Verbindung zu einer Datenbank herstellen ... 976


33.4 ... Die Datenbankabfrage ... 999


33.5 ... Das »SqlDataReader«-Objekt ... 1005


33.6 ... Parametrisierte Abfragen ... 1015


33.7 ... Der SqlDataAdapter ... 1030


33.8 ... Daten im lokalen Speicher -- das »DataSet« ... 1044


33.9 ... Mit mehreren Tabellen arbeiten ... 1070


33.10 ... Aktualisieren der Datenbank ... 1079





34. LINQ ... 1111



34.1 ... Was ist LINQ? ... 1111


34.2 ... LINQ to Objects ... 1117


34.3 ... Die Abfrageoperatoren ... 1121





35. Einführung in das ADO.NET Entity Framework ... 1147



35.1 ... Kritische Betrachtung von ADO.NET ... 1148


35.2 ... Ein erstes Entity Data Model (EDM) erstellen ... 1150


35.3 ... Das Entity Data Model im Designer ... 1155


35.4 ... Der Aufbau des Entity Data Models ... 1161


35.5 ... Die Klassen des Entity Data Models (EDM) ... 1165


35.6 ... Die Architektur des Entity Frameworks ... 1173





36. Abfragen mit .NET 4 Framework-ObjectContext ... 1175



36.1 ... Abfragen mit LINQ to Entities ... 1176


36.2 ... Abfragen mit Entity SQL ... 1199


36.3 ... Der EntityClient-Provider ... 1205


36.4 ... Abfrage-Generator-Methoden (QueryBuilder-Methoden) ... 1208


36.5 ... SQL-Direktabfragen ... 1209





37. Entitätsaktualisierung und Zustandsverwaltung ... 1211



37.1 ... Aktualisieren von Entitäten ... 1211


37.2 ... Der Lebenszyklus einer Entität im Objektkontext ... 1220


37.3 ... Das »ObjectStateEntry«-Objekt ... 1229


37.4 ... Die Klasse »EntityKey« ... 1235


37.5 ... Komplexere Szenarien ... 1236





38. Konflikte behandeln ... 1241



38.1 ... Allgemeine Betrachtungen ... 1241


38.2 ... Konkurrierende Zugriffe mit dem Entity Framework ... 1243





39. Die DbContext-API ... 1251



39.1 ... Datenabfragen mit »DbContext« ... 1251


39.2 ... Ändern von Entitäten ... 1261


39.3 ... Change Tracking (Änderungsnachverfolgung) ... 1266


39.4 ... Kontextlose Entitäten ändern ... 1273





Index ... 1279

In der Gesamtnote hat das Buch ein Sehr gut verdient. dotnetpro zur Vorauflage

Bei diesem Buch können Leser erwarten, fast alles zum SQL Server geboten zu bekommen. iX - Magazin für professionelle Informationstechnik

Erscheint lt. Verlag 27.11.2014
Reihe/Serie Galileo Computing
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Gewicht 2270 g
Einbandart gebunden
Themenwelt Informatik Datenbanken SQL Server
Informatik Programmiersprachen / -werkzeuge NET Programmierung
Schlagworte 2013 • Handbuch • Microsoft • Microsoft SQL Server 2014; Handbuch/Lehrbuch • .NET • Programmierung • Server • SQL
ISBN-10 3-8362-3044-5 / 3836230445
ISBN-13 978-3-8362-3044-5 / 9783836230445
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
Mehr entdecken
aus dem Bereich
Der schnelle Einstieg

von Klemens Konopasek

Buch | Hardcover (2018)
Carl Hanser (Verlag)
40,00
Das umfassende Handbuch. Inkl. Analysis und Reporting Services

von Daniel Caesar; Michael R. Friebel; Hans Georg Selent-Knips

Buch | Hardcover (2020)
Rheinwerk (Verlag)
49,90