SQL Server 2014
Galileo Press (Verlag)
978-3-8362-3044-5 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
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 |
Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich