Sie sind Entwickler und setzen Microsofts SQL Server ein? Dann sind Sie mit unserem Buch genau richtig. Vom ersten Datenbankentwurf und den SQL-Grundlagen, der Migration von SQL Server 2005 oder SQL Server 2000 bis hin zu den neuen Features und konkreten Programmierbeispielen beschreiben die Autoren alles Notwendige, um den SQL Server 2008 R2 als Programmierplattform und Datenmanagement-Server zu nutzen. Egal, ob es sich um klassische Programmierung mit Transact-SQL oder .NET-Programmierung, ADO.NET oder LINQ handelt. In der mittlerweile vierten Auflage wurde das Buch komplett aktualisiert und alle Neuerungen auch von SQL Server 2008 R2 berücksichtigt.Galileo Press heißt jetzt Rheinwerk Verlag.
Rezensionen / Stimmen
Buchtipp!
Reihe
Sprache
Verlagsort
Verlagsgruppe
Editions-Typ
Maße
Höhe: 24 cm
Breite: 16.8 cm
ISBN-13
978-3-8362-1693-7 (9783836216937)
Schweitzer Klassifikation
... Vorwort ... 25
1 ... Installation und Aktualisierung von SQL Server 2008 R2 ... 27
... 1.1 ... Überblick über die verfügbaren SQL-Server-2008-R2-Versionen ... 27
... 1.2 ... Installationsvoraussetzungen ... 29
... 1.3 ... Installation von SQL Server 2008 R2 ... 30
... 1.4 ... Installation der SQL-Server-Beispieldatenbanken ... 41
... 1.5 ... Aktualisierung auf SQL Server 2008 R2 ... 44
2 ... Datenbankgrundlagen ... 57
... 2.1 ... Server und Client ... 57
... 2.2 ... Relationale Datenbanken ... 58
... 2.3 ... Datenbankmanagementsystem ... 77
... 2.4 ... Integritätsarten ... 80
3 ... Logischer Datenbankentwurf ... 83
... 3.1 ... Grundlagen des Datenbankentwurfs ... 83
... 3.2 ... Normalisierungsregeln (Normalformen) ... 84
... 3.3 ... Normalisierung in der Praxis ... 91
... 3.4 ... Denormalisierung ... 95
... 3.5 ... Entity-Relationship-Diagramme ... 96
4 ... Die Oberfläche von SQL Server ... 99
... 4.1 ... Das SQL Server Management Studio ... 99
... 4.2 ... Das Bearbeiten von SQL-Anweisungen im Management Studio ... 118
... 4.3 ... SQL-Server-Dokumentation und Hilfen zur Programmierung ... 134
... 4.4 ... Überblick über die SQL-Server-Dienste ... 146
... 4.5 ... Das Dienstprogramm sqlcmd ... 147
... 4.6 ... SQL-Server-Integration in die Windows PowerShell ... 150
... 4.7 ... Der SQL-Server-Aktivitätsmonitor ... 159
... 4.8 ... Berichte ... 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 ... 203
... 5.8 ... Zusammenfassung, Gruppierung und Beschränkung von Abfrageergebnissen ... 206
... 5.9 ... Ausgaben mit PRINT und SELECT ... 218
6 ... Grundlagen der SQL-Programmierung ... 221
... 6.1 ... Das Stapeltrennzeichen GO ... 221
... 6.2 ... (Lokale) Variablen ... 223
... 6.3 ... Ablaufsteuerung ... 231
... 6.4 ... Fallunterscheidungen ... 241
... 6.5 ... Funktionen ... 248
... 6.6 ... Dynamische SQL-Anweisungen ... 260
... 6.7 ... Fehler in SQL Server und ihre Behandlung ... 262
... 6.8 ... Fehlerbehandlung ... 265
7 ... Mehrtabellenabfragen ... 283
... 7.1 ... Tabellen verknüpfen (JOIN-Anweisung) ... 283
... 7.2 ... Abfragen unter Verwendung mehrerer Server ... 293
8 ... Erstellen und Ändern von Datenbanken ... 295
... 8.1 ... Erstellen einer einfachen Datenbank ... 295
... 8.2 ... Einfluss der model-Datenbank auf das Erstellen neuer Datenbanken ... 302
... 8.3 ... Löschen von Datenbanken ... 304
... 8.4 ... Erstellen einer Datenbank mit mehreren Dateien ... 304
... 8.5 ... Nachträgliche Änderungen an Datenbankdateien ... 307
... 8.6 ... Erstellen einer Datenbank mit mehreren Dateigruppen ... 310
... 8.7 ... Datenbanken verkleinern ... 313
... 8.8 ... Datenbankdateien verkleinern ... 314
... 8.9 ... Gespeicherte Systemprozeduren (Stored Procedures) zur Datenbankverwaltung ... 316
... 8.10 ... Datenbank-Momentaufnahmen ... 316
... 8.11 ... RAID-Systeme ... 325
... 8.12 ... Transparente Datenverschlüsselung ... 329
9 ... Erstellen von Tabellen ... 333
... 9.1 ... Die grundlegende Syntax zur Tabellenerstellung ... 333
... 9.2 ... Tabellen ändern ... 348
... 9.3 ... Löschen von Tabellen ... 351
... 9.4 ... Implementierung der Datenintegrität ... 351
... 9.5 ... Anwendungsbeispiel zu Einschränkungen ... 358
... 9.6 ... Nachträgliche Definition von Einschränkungen ... 361
... 9.7 ... Verwaltung von Einschränkungen ... 361
... 9.8 ... Temporäre Tabellen ... 363
... 9.9 ... Partitionierung von Tabellen ... 365
10 ... Verwendung der räumlichen und hierarchischen Datentypen ... 377
... 10.1 ... Räumliche Datentypen ... 377
... 10.2 ... Der hierarchische Datentyp ... 408
11 ... Daten verwalten ... 417
... 11.1 ... Grundlegende Befehle zur Datensatzmanipulation ... 417
... 11.2 ... Verwendung des Zeilenkonstruktors ... 426
... 11.3 ... Kombinierte Auswahl-/Einfügeanweisungen ... 427
... 11.4 ... Die MERGE-Anweisung ... 429
... 11.5 ... Massenkopierprogramme ... 435
12 ... Benutzerverwaltung und Schemas ... 439
... 12.1 ... Authentifizierung am Server ... 440
... 12.2 ... Datenbankzugriff erteilen ... 444
... 12.3 ... Zusammenfassung von Benutzern zu Rollen ... 447
... 12.4 ... Rechtevergabe an Benutzer und Rollen ... 451
... 12.5 ... Deaktivierung und Aktivierung von Log-ins und Datenbankbenutzern ... 458
... 12.6 ... Vordefinierte Konten auf Server- und Datenbankebene ... 460
... 12.7 ... Schema ... 463
13 ... Sichten ... 469
... 13.1 ... Einsatz von Sichten ... 470
... 13.2 ... Verwalten von Sichten ... 472
... 13.3 ... Datenmanipulationsanweisungen auf eine Sicht ... 474
... 13.4 ... Systemsichten von SQL Server ... 480
14 ... Programmierung von gespeicherten Prozeduren ... 483
... 14.1 ... Überblick über die Verwendung von gespeicherten Prozeduren in SQL Server ... 483
... 14.2 ... Erstellung und Aufruf von gespeicherten Prozeduren ... 487
... 14.3 ... Tabellenübergabe an eine gespeicherte Prozedur ... 504
... 14.4 ... Optionen von gespeicherten Prozeduren ... 507
15 ... Programmierung von benutzerdefinierten Funktionen ... 513
... 15.1 ... Überblick über benutzerdefinierte Funktionen ... 513
... 15.2 ... Skalare Funktionen (Skalarwertfunktionen) ... 514
... 15.3 ... Inlinefunktionen (Tabellenwertfunktionen) ... 518
... 15.4 ... Tabellenwertfunktion mit mehreren Anweisungen ... 521
... 15.5 ... Ändern und Löschen von benutzerdefinierten Funktionen ... 524
... 15.6 ... Verwendung des Datentyps TABLE als lokale Variable ... 524
16 ... Programmierung und Einsatz von Triggern ... 529
... 16.1 ... DML-Trigger ... 529
... 16.2 ... DDL-Trigger ... 551
17 ... Nachverfolgung von Datenänderungen ... 557
... 17.1 ... Die neuen Möglichkeiten zur Nachverfolgung von Datenänderungen ... 557
... 17.2 ... Change Data Capture ... 558
... 17.3 ... Änderungsnachverfolgung ... 572
18 ... Ereignisbenachrichtigungen (Event Notifications) ... 579
... 18.1 ... Konfiguration einer Datenbank zur Nutzung des Service Brokers ... 580
... 18.2 ... Konfiguration des Zieldienstes ... 581
... 18.3 ... Erstellen einer Ereignisbenachrichtigung ... 583
... 18.4 ... Auslösen und Empfangen einer Ereignisbenachrichtigung ... 584
... 18.5 ... Service-Broker-Aktivierung ... 586
... 18.6 ... Löschen der erstellten Objekte ... 590
19 ... Erstellung und Einsatz eines Cursors ... 593
... 19.1 ... Funktionsweise eines Cursors ... 593
... 19.2 ... Erstellung eines Cursors ... 595
... 19.3 ... Öffnen eines Cursors ... 597
... 19.4 ... Das Abrufen von Datensätzen aus einem Cursor ... 598
... 19.5 ... Schließen und Löschen eines Cursors ... 606
... 19.6 ... Schleifenprogrammierung zum automatischen Durchlaufen eines Cursors ... 607
... 19.7 ... Daten in der Cursorauswahl aktualisieren und löschen ... 613
20 ... Indizes ... 615
... 20.1 ... Der nicht gruppierte Index auf einem Heap ... 616
... 20.2 ... Der gruppierte Index ... 620
... 20.3 ... Der nicht gruppierte Index auf einem gruppierten Index ... 623
... 20.4 ... Erstellung von Indizes ... 626
... 20.5 ... Verwaltung von Indizes ... 630
... 20.6 ... Statistiken ... 634
... 20.7 ... Planung des Einsatzes von Indizes ... 640
... 20.8 ... Weitere Optimierungsmöglichkeiten mit Hilfe von Indizes ... 649
21 ... Transaktionen ... 657
... 21.1 ... Einführung in Transaktionen ... 657
... 21.2 ... ACID ... 659
... 21.3 ... Interne Transaktionsverarbeitung ... 662
... 21.4 ... Verhalten bei Systemfehlern ... 664
... 21.5 ... Programmierung expliziter Transaktionen ... 665
... 21.6 ... Implizite Transaktionen ... 669
... 21.7 ... Wiederherstellung beim Systemstart (Recovery) ... 671
... 21.8 ... Sperren ... 673
... 21.9 ... Isolationsstufen auf Verbindungsebene ... 676
... 21.10 ... Sperrhinweise auf Tabellenebene ... 686
... 21.11 ... Informationen zu Sperren ... 687
... 21.12 ... Deadlocks ... 687
22 ... SQL Server als Laufzeitumgebung für .NET ... 693
... 22.1 ... Die Programmiermodelle im Vergleich ... 693
... 22.2 ... Die CLR-Integration im Detail ... 697
... 22.3 ... Der Hosting Layer ... 701
... 22.4 ... Verwaltung von Assemblies ... 704
... 22.5 ... Sicherheitsstufen ... 705
23 ... .NET-Programmierung ... 707
... 23.1 ... CLR-Unterstützung aktivieren ... 707
... 23.2 ... CLR-Prozeduren und Funktionen ... 709
... 23.3 ... Gespeicherte Prozeduren ... 714
... 23.4 ... Benutzerdefinierte Funktionen ... 722
... 23.5 ... Serverseitiger Datenzugriff mit ADO.NET ... 730
... 23.6 ... Pipes ... 732
... 23.7 ... Impersonalisierung ... 740
... 23.8 ... Benutzerdefinierte Typen ... 744
... 23.9 ... Benutzerdefinierte Aggregate ... 761
... 23.10 ... Benutzerdefinierte Trigger ... 768
... 23.11 ... Administration und Monitoring von CLR-Objekten ... 776
24 ... T-SQL: Neuerungen und Verbesserungen der Kompatibilität ... 781
... 24.1 ... CROSS APPLY und OUTER APPLY ... 783
... 24.2 ... Kreuztabellen mit PIVOT erstellen ... 785
... 24.3 ... Common Table Expressions ... 792
... 24.4 ... Fehlerbehandlung ... 801
... 24.5 ... Ranking- und Windowing-Funktionen ... 808
... 24.6 ... Die OUTPUT-Klausel ... 815
... 24.7 ... Die TABLESAMPLE-Klausel ... 817
... 24.8 ... EXCEPT- und INTERSECT-Statement ... 819
... 24.9 ... Tabellenwertparameter ... 820
25 ... Einsatz von XML in der Datenbank ... 825
... 25.1 ... Warum XML? ... 826
... 25.2 ... HTML und XML ... 826
... 25.3 ... XML-Fähigkeiten von SQL Server ... 831
... 25.4 ... Der XML-Datentyp ... 831
... 25.5 ... Auf gespeicherte XML-Daten zugreifen ... 838
... 25.6 ... Darstellung von Abfrageergebnissen im XML-Format ... 849
... 25.7 ... XML-Schema ermitteln ... 867
... 25.8 ... XML-Daten in einem relationalen Modell speichern ... 868
26 ... Der Einsatz von Webservices in der Datenbank ... 873
... 26.1 ... Warum Webservices? ... 874
... 26.2 ... SQL Server als Webservice-Backend betreiben ... 875
... 26.3 ... Endpoints ... 876
... 26.4 ... Einen Endpoint erstellen ... 877
... 26.5 ... WSDL ermitteln ... 885
... 26.6 ... Zugriff vom Client ... 886
... 26.7 ... Session- und State-Management ... 889
... 26.8 ... Batch-Abfragen ... 893
... 26.9 ... Endpoints verwalten ... 895
27 ... Datenbankzugriff mit ADO.NET ... 897
... 27.1 ... Einleitung ... 897
... 27.2 ... Die Datenprovider ... 901
... 27.3 ... Die Verbindung zu einer Datenbank herstellen ... 903
... 27.4 ... Die Datenbankabfrage ... 926
... 27.5 ... Das SqlDataReader-Objekt ... 933
... 27.6 ... Parametrisierte Abfragen ... 942
... 27.7 ... Der SqlDataAdapter ... 958
... 27.8 ... Daten im lokalen Speicher -- das DataSet ... 971
... 27.9 ... Mit mehreren Tabellen arbeiten ... 997
... 27.10 ... Aktualisieren der Datenbank ... 1005
... 27.11 ... Objekte vom Typ DataView ... 1036
... 27.12 ... Stark typisierte DataSets ... 1042
... 27.13 ... Fazit: Typisierte oder nicht typisierte DataSets? ... 1068
... 27.14 ... Projekte mit grafischer Benutzeroberfläche ... 1069
... 27.15 ... Datenbindung ... 1078
28 ... LINQ ... 1095
... 28.1 ... Was ist LINQ? ... 1095
... 28.2 ... Neue Sprachfeatures in C# 3.0 ... 1096
... 28.3 ... LINQ to Objects ... 1112
... 28.4 ... LINQ to SQL ... 1140
... 28.5 ... Der LINQ-to-SQL-Designer (O/R-Designer) ... 1166
... Index ... 1185