SQL Server 2012
Galileo Press (Verlag)
978-3-8362-1944-0 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
Aus dem Inhalt:
* Installation und Migration
* Datentypen in SQL Server 2012
* 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 Principal Consultant bei der Acando GmbH in Hamburg, Associate bei thinktecture und Microsoft MVP im Bereich Client App Dev. Er berät seit vielen Jahren Unternehmen bei der Technologieauswahl und der Architektur komplexer Anwendungen. Sein Fokus liegt hierbei auf Client-Technologien wie WPF, Silverlight und Windows 8. Darüber hinaus vermittelt er sein Wissen regelmäßig in Form von Büchern, Artikeln sowie als Referent auf Entwicklerkonferenzen. headwriteline.blogspot.com. Jörg Neumann berät seit vielen Jahren Unternehmen bei Technologieauswahl und Architektur komplexer Anwendungen.
Andreas Kühnel studierte in den 80ern in Aachen Luft- und Raumfahrttechnik. Sein Interesse tendierte zur Programmierung und ab 1995 machte er sein Hobby zum Beruf, erwarb die Zertifizierungen "Microsoft Certified Solution Developer (MCSD)" und seitdem tätig als "Microsoft Certified Trainer (MCT)". Er unterrichtet Visual Basic, COM/COM, Datenbanktechnologien, .NET-Programmierung und C sharp. Der Autor lebt in Aachen.
Vorwort ... 31
Grundlagen ... 33
1. Installation und Aktualisierung von SQL Server 2012 ... 35
1.1 ... Überblick über die verfügbaren SQL-Server-2012-Versionen ... 35
1.2 ... Installationsvoraussetzungen ... 37
1.3 ... Installation von SQL Server 2012 ... 38
1.4 ... Installation der SQL-Server-Beispieldatenbank ... 49
1.5 ... Aktualisierung auf SQL Server 2012 ... 52
2. Datenbankgrundlagen ... 65
2.1 ... Server und Client ... 65
2.2 ... Relationale Datenbanken ... 66
2.3 ... Datenbankmanagementsystem ... 84
2.4 ... Integritätsarten ... 87
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 2012 ... 105
4.1 ... Das SQL Server Management Studio ... 105
4.2 ... Das Bearbeiten von SQL-Anweisungen im Management Studio ... 123
4.3 ... SQL-Server-Dokumentation und Hilfen zur Programmierung ... 139
4.4 ... Überblick über die SQL-Server-Dienste ... 151
4.5 ... Das Dienstprogramm sqlcmd ... 152
4.6 ... SQL-Server-Integration in die Windows PowerShell ... 155
4.7 ... Der SQL-Server-Aktivitätsmonitor ... 163
4.8 ... Berichte ... 165
SQL-Programmierung ... 167
5. Grundlegende Abfragetechniken ... 169
5.1 ... Einführung in SQL ... 169
5.2 ... SQL-Grundlagen ... 170
5.3 ... Grundlegende Operatoren ... 179
5.4 ... Einfache Abfragen ... 183
5.5 ... Auswahloperatoren ... 198
5.6 ... Aggregatfunktionen ... 205
5.7 ... Unterabfragen ... 209
5.8 ... Zusammenfassung, Gruppierung und Beschränkung von Abfrageergebnissen ... 215
5.9 ... Die Mengen-Operatoren EXCEPT und INTERSECT ... 226
5.10 ... Ausgaben mit PRINT und SELECT ... 228
6. Grundlagen der SQLProgrammierung ... 231
6.1 ... Das Stapeltrennzeichen GO ... 231
6.2 ... (Lokale) Variablen ... 233
6.3 ... Ablaufsteuerung ... 241
6.4 ... Fallunterscheidungen ... 252
6.5 ... Funktionen ... 259
6.6 ... Dynamische SQL-Anweisungen ... 279
6.7 ... Fehler in SQL Server und ihre Behandlung ... 281
6.8 ... Fehlerbehandlung ... 283
7. Mehrtabellenabfragen ... 305
7.1 ... Tabellen verknüpfen (JOIN-Anweisung) ... 305
7.2 ... Abfragen unter Verwendung mehrerer Server ... 314
8. Erstellen und Ändern von Datenbanken ... 317
8.1 ... Erstellen einer einfachen Datenbank ... 317
8.2 ... Einfluss der »model«-Datenbank auf das Erstellen neuer Datenbanken ... 325
8.3 ... Löschen von Datenbanken ... 326
8.4 ... Erstellen einer Datenbank mit mehreren Dateien ... 327
8.5 ... Nachträgliche Änderungen an Datenbankdateien ... 329
8.6 ... Erstellen einer Datenbank mit mehreren Dateigruppen ... 332
8.7 ... Datenbanken verkleinern ... 335
8.8 ... Datenbankdateien verkleinern ... 336
8.9 ... Gespeicherte Systemprozeduren (Stored Procedures) zur Datenbankverwaltung ... 338
8.10 ... Datenbank-Momentaufnahmen ... 338
8.11 ... RAID-Systeme ... 348
8.12 ... Transparente Datenverschlüsselung ... 352
9. Erstellen von Tabellen ... 355
9.1 ... Die grundlegende Syntax zur Tabellenerstellung ... 355
9.2 ... Tabellen ändern ... 371
9.3 ... Löschen von Tabellen ... 374
9.4 ... Implementierung der Datenintegrität ... 374
9.5 ... Anwendungsbeispiel zu Einschränkungen ... 382
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 ... 436
12. Daten verwalten ... 445
12.1 ... Grundlegende Befehle zur Datensatzmanipulation ... 445
12.2 ... Verwendung des Zeilenkonstruktors ... 454
12.3 ... Kombinierte Auswahl-/Einfügeanweisungen ... 455
12.4 ... Die MERGE-Anweisung ... 457
12.5 ... Massenkopierprogramme ... 464
13. Benutzerverwaltung und Schemas ... 467
13.1 ... Authentifizierung am Server ... 468
13.2 ... Datenbankzugriff erteilen ... 473
13.3 ... Zusammenfassung von Benutzern zu Rollen ... 475
13.4 ... Rechtevergabe an Benutzer und Rollen ... 481
13.5 ... Deaktivierung und Aktivierung von Logins und Datenbankbenutzern ... 488
13.6 ... Vordefinierte Konten auf Server- und Datenbankebene ... 490
13.7 ... Schema ... 493
14. Sichten ... 499
14.1 ... Einsatz von Sichten ... 501
14.2 ... Verwalten von Sichten ... 502
14.3 ... Datenmanipulationsanweisungen auf eine Sicht ... 505
14.4 ... Systemsichten von SQL Server ... 510
15. Programmierung von gespeicherten Prozeduren ... 513
15.1 ... Überblick über die Verwendung von gespeicherten Prozeduren in SQL Server ... 513
15.2 ... Erstellung und Aufruf von gespeicherten Prozeduren ... 517
15.3 ... Tabellenübergabe an eine gespeicherte Prozedur ... 534
15.4 ... Optionen von gespeicherten Prozeduren ... 536
16. Programmierung von benutzerdefinierten Funktionen ... 543
16.1 ... Überblick über benutzerdefinierte Funktionen ... 543
16.2 ... Skalare Funktionen (Skalarwertfunktionen) ... 544
16.3 ... Inlinefunktionen (Tabellenwertfunktionen) ... 548
16.4 ... Tabellenwertfunktion mit mehreren Anweisungen ... 551
16.5 ... Ändern und Löschen von benutzerdefinierten Funktionen ... 554
16.6 ... Verwendung des Datentyps »table« als lokale Variable ... 554
17. Programmierung und Einsatz von Triggern ... 559
17.1 ... DML-Trigger ... 559
17.2 ... DDL-Trigger ... 581
18. Nachverfolgung von Datenänderungen ... 587
18.1 ... Die Möglichkeiten zur Nachverfolgung von Datenänderungen: Change Data Capture und die Änderungsnachverfolgung ... 587
18.2 ... Change Data Capture ... 588
18.3 ... Änderungsnachverfolgung ... 603
19. Ereignisbenachrichtigungen (Event Notifications) ... 609
19.1 ... Konfiguration einer Datenbank zur Nutzung des Service Brokers ... 610
19.2 ... Konfiguration des Zieldienstes ... 611
19.3 ... Erstellen einer Ereignisbenachrichtigung ... 613
19.4 ... Auslösen und Empfangen einer Ereignisbenachrichtigung ... 614
19.5 ... Service-Broker-Aktivierung ... 615
19.6 ... Löschen der erstellten Objekte ... 619
20. Erstellung und Einsatz eines Cursors ... 621
20.1 ... Funktionsweise eines Cursors ... 621
20.2 ... Erstellung eines Cursors ... 623
20.3 ... Öffnen eines Cursors ... 625
20.4 ... Das Abrufen von Datensätzen aus einem Cursor ... 626
20.5 ... Schließen und Löschen eines Cursors ... 635
20.6 ... Schleifenprogrammierung zum automatischen Durchlaufen eines Cursors ... 636
20.7 ... Daten in der Cursorauswahl aktualisieren und löschen ... 641
21. Sequenzen ... 643
21.1 ... Erstellung einer Sequenz mit Standardeinstellungen ... 643
21.2 ... Informationen zu den vorhandenen Sequenzen in einer Datenbank ... 644
21.3 ... Abrufen von Sequenzwerten ... 644
21.4 ... Die Verwendung der Parameter AS, START, INCREMENT, MINVALUE, MAXVALUE, CYCLE und CACHE ... 646
22. Indizes ... 655
22.1 ... Der nicht gruppierte Index auf einem Heap ... 656
22.2 ... Der gruppierte Index ... 660
22.3 ... Der nicht gruppierte Index auf einem gruppierten Index ... 663
22.4 ... Der Columnstore-Index ... 666
22.5 ... Erstellung von Indizes ... 667
22.6 ... Verwaltung von Indizes ... 671
22.7 ... Statistiken ... 674
22.8 ... Planung des Einsatzes von Indizes ... 680
22.9 ... Weitere Optimierungsmöglichkeiten mit Hilfe von Indizes ... 688
23. Transaktionen ... 697
23.1 ... Einführung in Transaktionen ... 697
23.2 ... ACID ... 700
23.3 ... Interne Transaktionsverarbeitung ... 702
23.4 ... Verhalten bei Systemfehlern ... 704
23.5 ... Programmierung expliziter Transaktionen ... 705
23.6 ... Implizite Transaktionen ... 709
23.7 ... Sperren ... 711
23.8 ... Isolationsstufen auf Verbindungsebene ... 713
23.9 ... Sperrhinweise auf Tabellenebene ... 723
23.10 ... Informationen zu Sperren ... 725
23.11 ... Deadlocks ... 725
.NET-Programmierung ... 731
24. SQL Server als Laufzeitumgebung für .NET ... 733
24.1 ... Die Programmiermodelle im Vergleich ... 733
24.2 ... Die CLR-Integration im Detail ... 737
24.3 ... Der Hosting-Layer ... 741
24.4 ... Verwaltung von Assemblies ... 744
24.5 ... Sicherheitsstufen ... 745
25. .NET-Programmierung ... 747
25.1 ... CLR-Unterstützung aktivieren ... 747
25.2 ... CLR-Prozeduren und Funktionen ... 749
25.3 ... Gespeicherte Prozeduren ... 754
25.4 ... Benutzerdefinierte Funktionen ... 762
25.5 ... Serverseitiger Datenzugriff mit ADO.NET ... 770
25.6 ... Pipes ... 772
25.7 ... Impersonalisierung ... 780
25.8 ... Benutzerdefinierte Typen ... 785
25.9 ... Benutzerdefinierte Aggregate ... 801
25.10 ... Benutzerdefinierte Trigger ... 809
25.11 ... Administration und Monitoring von CLR-Objekten ... 816
26. T-SQL: Erweiterte Themen ... 821
26.1 ... CROSS APPLY und OUTER APPLY ... 823
26.2 ... Kreuztabellen mit PIVOT erstellen ... 825
26.3 ... Common Table Expressions ... 833
26.4 ... Fehlerbehandlung ... 841
26.5 ... Ranking- und Windowing-Funktionen ... 848
26.6 ... Die OUTPUT-Klausel ... 855
26.7 ... Die TABLESAMPLE-Klausel ... 857
26.8 ... EXCEPT- und INTERSECT-Statement ... 859
26.9 ... Tabellenwertparameter ... 861
27. Einsatz von XML in der Datenbank ... 867
27.1 ... Warum XML? ... 868
27.2 ... HTML und XML ... 868
27.3 ... XML-Fähigkeiten von SQL Server ... 873
27.4 ... Der XML-Datentyp ... 873
27.5 ... Auf gespeicherte XML-Daten zugreifen ... 879
27.6 ... Darstellung von Abfrageergebnissen im XML-Format ... 891
27.7 ... XML-Schema ermitteln ... 908
27.8 ... XML-Daten in einem relationalen Modell speichern ... 909
28. Datenbankzugriff mit ADO.NET ... 913
28.1 ... Einleitung ... 913
28.2 ... Die Datenprovider ... 917
28.3 ... Die Verbindung zu einer Datenbank herstellen ... 918
28.4 ... Die Datenbankabfrage ... 941
28.5 ... Das SqlDataReader-Objekt ... 947
28.6 ... Parametrisierte Abfragen ... 956
28.7 ... Der SqlDataAdapter ... 971
28.8 ... Daten im lokalen Speicher -- das DataSet ... 984
28.9 ... Mit mehreren Tabellen arbeiten ... 1010
28.10 ... Aktualisieren der Datenbank ... 1018
28.11 ... Objekte vom Typ DataView ... 1047
28.12 ... Stark typisierte DataSets ... 1053
28.13 ... Fazit: Typisierte oder nicht typisierte DataSets? ... 1078
28.14 ... Projekte mit grafischer Benutzeroberfläche ... 1079
28.15 ... Datenbindung ... 1088
29. LINQ ... 1103
29.1 ... LINQ-relevante Sprachfeatures in C# ... 1104
29.2 ... LINQ to Objects ... 1119
30. Einführung in das ADO.NET Entity Framework ... 1149
30.1 ... Kritische Betrachtung von ADO.NET ... 1149
30.2 ... Ein erstes Entity Data Model (EDM) erstellen ... 1152
30.3 ... Das Entity Data Model im Designer ... 1155
30.4 ... Der Aufbau des Entity Data Models ... 1161
30.5 ... Die Klassen des Entity Data Models (EDM) ... 1165
30.6 ... Die Architektur des Entity Frameworks ... 1171
31. Datenabfragen des Entity Data Models (EDM) ... 1175
31.1 ... Abfragen mit LINQ to Entities ... 1176
31.2 ... Abfragen mit Entity SQL ... 1199
31.3 ... Der EntityClient-Provider ... 1205
31.4 ... Abfrage-Generator-Methoden (QueryBuilder-Methoden) ... 1208
31.5 ... SQL-Direktabfragen ... 1209
32. Entitätsaktualisierung und Zustandsverwaltung ... 1211
32.1 ... Aktualisieren von Entitäten ... 1211
32.2 ... Der Lebenszyklus einer Entität im Objektkontext ... 1220
32.3 ... Das »ObjectStateEntry«-Objekt ... 1229
32.4 ... Die Klasse »EntityKey« ... 1234
32.5 ... Komplexere Szenarien ... 1236
33. Konflikte behandeln ... 1241
33.1 ... Allgemeine Betrachtungen ... 1241
33.2 ... Konkurrierende Zugriffe mit dem Entity Framework ... 1243
34. Plain Old CLR Objects (POCOs) ... 1251
34.1 ... Ein erstes Projekt mit POCO-Klassen ... 1251
34.2 ... Datenabfrage mit Hilfe der POCOs ... 1255
34.3 ... Änderungen verfolgen ... 1257
Index ... 1265
Erscheint lt. Verlag | 30.8.2012 |
---|---|
Reihe/Serie | Galileo Computing |
Sprache | deutsch |
Maße | 168 x 240 mm |
Gewicht | 2295 g |
Einbandart | gebunden |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Schlagworte | 2012 • Handbuch • Microsoft • Microsoft SQL Server 2012; Programmierung • Programmierung • Server • SQL |
ISBN-10 | 3-8362-1944-1 / 3836219441 |
ISBN-13 | 978-3-8362-1944-0 / 9783836219440 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich