Unser Buch wendet sich an alle Entwickler, die die neue Version der Microsoft-Datenbank nutzen wollen. Im Vordergrund steht die Integration des .NET-Frameworks, das die Programmierung mit den .NET-Sprachen ermöglicht. Vom ersten Datenbankentwurf und den SQL-Grundlagen, der Migration von SQL Server 2000 bis hin zu den neuen Features und konkreten Programmierbeispielen beschreiben die Autoren alles Notwendige, um den SQL Server 2005 als Programmier-Plattform und Datenmanagement-Server zu nutzen. In der neuen Auflage wurde das Buch aktualisiert und um viele Themen wie Indizierte Sichten, Partionierung von Tabellen, Event Notification unter ADO.NET etc erweitert
Aus dem Inhalt:
Installation und Update
Datenbankgrundlagen
Logischer Datenbankentwurf
Die neue Oberfläche des SQL Servers
Grundlegende Abfragetechniken
Grundlagen der SQL Programmierung
JOIN-Abfragen
Datenbanken erstellen
Tabellenerstellung
Daten verwalten
Benutzerverwaltung und Schemata
Sichten
Gespeicherte Prozeduren
Benutzerdefinierte Funktionen
Trigger
Cursor
Indizes
Einsatz von Webservices
.NET-Programmierung
T SQL - Neuerungen und Verbesserungen
SQL Server als Laufzeitumgebung
ADO.NET
Webservices
Einsatz von XML in der Datenbank
Galileo Press heißt jetzt Rheinwerk Verlag.
Rezensionen / Stimmen
Das vorliegende Buch bietet auf knapp über 1000 Seiten einen rundherum gelungenen Überblick über die Programmierung des SQL Servers 2005.
Besonders zu erwähnen ist die jederzeit verständliche, dabei aber stets präzise Ausdrucksweise der Autoren und das Fehlen von offensichtlichen fachlichen Schwächen. Der wohldosierte Einsatz von Screenshots und die zahlreichen guten Codebeispiele tragen zu dem positiven Gesamteindruck bei. Das Buch gehört für mich eindeutig zu den besten deutschsprachigen SQL Server 2005 Kompendien für Entwickler.
Reihe
Sprache
Verlagsort
Verlagsgruppe
Editions-Typ
Maße
Höhe: 24 cm
Breite: 16.8 cm
ISBN-13
978-3-8362-1069-0 (9783836210690)
Schweitzer Klassifikation
1 ... Installation und Aktualisierung ... 25
... 1.1 ... Installationsvoraussetzungen ... 25
... 1.2 ... Installation von SQL Server 2005 ... 28
... 1.3 ... Vorbereiten der Aktualisierung auf SQL Server 2005 ... 45
... 1.4 ... Durchführung der Aktualisierung auf SQL Server 2005 ... 60
2 ... Datenbankgrundlagen ... 63
... 2.1 ... Server und Client ... 63
... 2.2 ... Relationale Datenbanken ... 64
... 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 ... 101
... 3.5 ... Entity/Relationship-Diagramme ... 102
4 ... Die neue Oberfläche des SQL Servers ... 105
... 4.1 ... Rückblick ... 105
... 4.2 ... Das SQL Server Management Studio ... 107
... 4.3 ... Das Bearbeiten von SQL-Anweisungen im Abfragefenster des Management Studios ... 127
... 4.4 ... SQL Server-Dokumentation und Hilfen zur Programmierung ... 141
... 4.5 ... Überblick über die SQL Server-Dienste ... 152
... 4.6 ... Das Dienstprogramm sqlcmd ... 154
5 ... Grundlegende Abfragetechniken ... 159
... 5.1 ... Einführung in SQL ... 159
... 5.2 ... SQL-Grundlagen ... 160
... 5.3 ... Grundlegende Operatoren ... 168
... 5.4 ... Einfache Abfragen ... 172
... 5.5 ... Auswahloperatoren ... 187
... 5.6 ... Aggregatfunktionen ... 195
... 5.7 ... Unterabfragen ... 198
... 5.8 ... Zusammenfassung, Gruppierung und Beschränkung von Abfrageergebnissen ... 201
... 5.9 ... Ausgaben mit PRINT und SELECT ... 210
6 ... Grundlagen der SQL-Programmierung ... 213
... 6.1 ... Das Stapeltrennzeichen GO ... 213
... 6.2 ... (Lokale) Variablen ... 215
... 6.3 ... Ablaufsteuerung ... 222
... 6.4 ... Fallunterscheidungen ... 232
... 6.5 ... Funktionen ... 239
... 6.6 ... Dynamische SQL-Anweisungen ... 251
... 6.7 ... Fehler in SQL Server und ihre Behandlung ... 254
... 6.8 ... Fehlerbehandlung ... 256
7 ... Mehrtabellenabfragen ... 275
... 7.1 ... Tabellen verknüpfen (JOIN-Anweisung) ... 275
... 7.2 ... Abfragen unter Verwendung mehrerer Server ... 285
8 ... Erstellen und Ändern von Datenbanken ... 289
... 8.1 ... Erstellen einer einfachen Datenbank ... 289
... 8.2 ... Einfluss der model-Datenbank auf das Erstellen neuer Datenbanken ... 297
... 8.3 ... Löschen von Datenbanken ... 298
... 8.4 ... Erstellen einer Datenbank mit mehreren Dateien ... 299
... 8.5 ... Nachträgliche Änderungen an Datenbankdateien ... 302
... 8.6 ... Erstellen einer Datenbank mit mehreren Dateigruppen ... 305
... 8.7 ... Datenbanken verkleinern ... 308
... 8.8 ... Datenbankdateien verkleinern ... 310
... 8.9 ... Gespeicherte Systemprozeduren (stored procedures) zur Datenbankverwaltung ... 311
... 8.10 ... Datenbanksnapshots ... 311
... 8.11 ... RAID-Systeme ... 321
9 ... Erstellen von Tabellen ... 327
... 9.1 ... Die grundlegende Syntax zur Tabellenerstellung ... 327
... 9.2 ... Tabellen ändern ... 331
... 9.3 ... Löschen von Tabellen ... 333
... 9.4 ... Implementierung der Datenintegrität ... 334
... 9.5 ... Anwendungsbeispiel zu Einschränkungen ... 342
... 9.6 ... Nachträgliche Definition von Einschränkungen ... 344
... 9.7 ... Verwaltung von Einschränkungen ... 344
... 9.8 ... Temporäre Tabellen ... 346
... 9.9 ... Partitionierung von Tabellen ... 349
10 ... Daten verwalten ... 361
... 10.1 ... Grundlegende Befehle zur Datensatzmanipulation ... 361
... 10.2 ... Kombinierte Auswahl-/Einfügeanweisungen ... 370
... 10.3 ... Massenkopierprogramme ... 372
11 ... Benutzerverwaltung und Schemata ... 375
... 11.1 ... Authentifizierung am Server ... 376
... 11.2 ... Datenbankzugriff erteilen ... 381
... 11.3 ... Zusammenfassung von Benutzern zu Rollen ... 383
... 11.4 ... Rechtevergabe an Benutzer und Rollen ... 387
... 11.5 ... Deaktivierung und Aktivierung von Logins und Datenbankbenutzern ... 394
... 11.6 ... Vordefinierte Konten auf Server- und Datenbankebene ... 397
... 11.7 ... Schemata in SQL Server 2005 ... 400
12 ... Sichten ... 405
... 12.1 ... Einsatz von Sichten ... 406
... 12.2 ... Verwalten von Sichten ... 408
... 12.3 ... Datenmanipulationsanweisungen auf eine Sicht ... 411
... 12.4 ... Systemsichten des SQL Servers ... 416
13 ... Programmierung von gespeicherten Prozeduren ... 419
... 13.1 ... Überblick über die Verwendung von gespeicherten Prozeduren in SQL Server ... 419
... 13.2 ... Erstellung und Aufruf von gespeicherten Prozeduren ... 423
... 13.3 ... Optionen von gespeicherten Prozeduren ... 441
14 ... Programmierung von benutzerdefinierten Funktionen ... 447
... 14.1 ... Überblick über benutzerdefinierte Funktionen ... 447
... 14.2 ... Skalare Funktionen (Skalarwertfunktionen) ... 448
... 14.3 ... Inlinefunktionen (Tabellenwertfunktionen) ... 452
... 14.4 ... Tabellenwertfunktion mit mehreren Anweisungen ... 456
... 14.5 ... Ändern und Löschen von benutzerdefinierten Funktionen ... 458
... 14.6 ... Verwendung des Datentyps TABLE als lokale Variable ... 459
15 ... Programmierung und Einsatz von Triggern ... 463
... 15.1 ... DML-Trigger ... 463
... 15.2 ... DDL-Trigger ... 485
16 ... Ereignisbenachrichtigungen (Event Notifications) ... 493
... 16.1 ... Aktivierung des Service Brokers ... 494
... 16.2 ... Konfiguration des Zieldienstes ... 495
... 16.3 ... Erstellen einer Ereignisbenachrichtigung ... 497
... 16.4 ... Auslösen und Empfangen einer Ereignisbenachrichtigung ... 499
... 16.5 ... Löschen der erstellten Objekte ... 500
17 ... Erstellung und Einsatz eines Cursors ... 503
... 17.1 ... Funktionsweise eines Cursors ... 503
... 17.2 ... Erstellung eines Cursors ... 505
... 17.3 ... Öffnen eines Cursors ... 507
... 17.4 ... Das Abrufen von Datensätzen aus einem Cursor ... 508
... 17.5 ... Schließen und Löschen eines Cursors ... 517
... 17.6 ... Schleifenprogrammierung zum automatischen Durchlaufen eines Cursors ... 518
... 17.7 ... Daten in der Cursorauswahl aktualisieren und löschen ... 523
18 ... Indizes ... 525
... 18.1 ... Der nicht gruppierte Index auf einem Heap ... 526
... 18.2 ... Der gruppierte Index ... 530
... 18.3 ... Der nicht gruppierte Index auf einem gruppierten Index ... 533
... 18.4 ... Erstellung von Indizes ... 536
... 18.5 ... Verwaltung von Indizes ... 540
... 18.6 ... Statistiken ... 544
... 18.7 ... Planung des Einsatzes von Indizes ... 549
... 18.8 ... Weitere Optimierungsmöglichkeiten mit Hilfe von Indizes ... 559
19 ... Transaktionen ... 567
... 19.1 ... Einführung in Transaktionen ... 567
... 19.2 ... ACID ... 570
... 19.3 ... Interne Transaktionsverarbeitung ... 572
... 19.4 ... Verhalten bei Systemfehlern ... 574
... 19.5 ... Programmierung expliziter Transaktionen ... 576
... 19.6 ... Implizite Transaktionen ... 579
... 19.7 ... Wiederherstellung beim Systemstart (Recovery) ... 581
... 19.8 ... Sperren ... 584
... 19.9 ... Isolationsstufen auf Verbindungsebene ... 586
... 19.10 ... Sperrhinweise auf Tabellenebene ... 596
... 19.11 ... Informationen zu Sperren und Verbindungen ... 597
... 19.12 ... Deadlocks ... 603
20 ... Der SQL Server als Laufzeitumgebung für .NET ... 607
... 20.1 ... Die Programmiermodelle im Vergleich ... 607
... 20.2 ... Die CLR-Integration im Detail ... 611
... 20.3 ... Der Hosting Layer ... 615
... 20.4 ... Verwaltung von Assemblies ... 618
... 20.5 ... Sicherheitsstufen ... 619
21 ... .NET-Programmierung ... 621
... 21.1 ... CLR-Unterstützung aktivieren ... 621
... 21.2 ... CLR-Prozeduren und Funktionen ... 623
... 21.3 ... Gespeicherte Prozeduren ... 628
... 21.4 ... Benutzerdefinierte Funktionen ... 636
... 21.5 ... Serverseitiger Datenzugriff mit ADO.NET ... 645
... 21.6 ... Pipes ... 647
... 21.7 ... Impersonalisierung ... 654
... 21.8 ... Benutzerdefinierte Typen ... 659
... 21.9 ... Benutzerdefinierte Aggregate ... 675
... 21.10 ... Benutzerdefinierte Trigger ... 683
... 21.11 ... Administration und Monitoring von CLR-Objekten ... 690
22 ... T-SQL: Neuerungen und Verbesserungen ... 695
... 22.1 ... Kompatibilität ... 695
... 22.2 ... CROSS APPLY und OUTER APPLY ... 697
... 22.3 ... Kreuztabellen mit PIVOT erstellen ... 699
... 22.4 ... Common Table Expressions ... 707
... 22.5 ... Fehlerbehandlung ... 715
... 22.6 ... Ranking- und Windowing-Funktionen ... 722
... 22.7 ... Die OUTPUT-Klausel ... 729
... 22.8 ... Die TABLESAMPLE-Klausel ... 731
... 22.9 ... EXCEPT- und INTERSECT-Statement ... 733
23 ... Einsatz von XML in der Datenbank ... 735
... 23.1 ... Warum XML? ... 736
... 23.2 ... HTML und XML ... 736
... 23.3 ... XML-Fähigkeiten des SQL Servers 2005 ... 741
... 23.4 ... Der XML-Datentyp ... 741
... 23.5 ... Auf gespeicherte XML-Daten zugreifen ... 748
... 23.6 ... Darstellung von Abfrageergebnissen im XML-Format ... 757
... 23.7 ... XML-Schema ermitteln ... 776
... 23.8 ... XML-Daten in einem relationalen Modell speichern ... 778
24 ... Der Einsatz von Webservices in der Datenbank ... 781
... 24.1 ... Warum Webservices? ... 782
... 24.2 ... Den SQL Server als Webservice-Backend betreiben ... 782
... 24.3 ... Endpoints ... 784
... 24.4 ... Einen Endpoint erstellen ... 785
... 24.5 ... WSDL ermitteln ... 793
... 24.6 ... Zugriff vom Client ... 795
... 24.7 ... Session- und State-Management ... 798
... 24.8 ... Batch-Abfragen ... 801
... 24.9 ... Endpoints verwalten ... 803
25 ... Datenbankzugriff mit ADO.NET ... 805
... 25.1 ... Einleitung ... 805
... 25.2 ... Die Datenprovider ... 810
... 25.3 ... Die Verbindung zu einer Datenbank herstellen ... 811
... 25.4 ... Die Datenbankabfrage ... 835
... 25.5 ... Das SqlDataReader-Objekt ... 841
... 25.6 ... Parametrisierte Abfragen ... 850
... 25.7 ... Der SqlDataAdapter ... 866
... 25.8 ... Daten im lokalen Speicher - das DataSet ... 879
... 25.9 ... Mit mehreren Tabellen arbeiten ... 905
... 25.10 ... Aktualisieren der Datenbank ... 914
... 25.11 ... Stark typisierte DataSets ... 944
... 25.12 ... Fazit: Typisierte oder nicht typisierte DataSets? ... 971
... 25.13 ... Unterstützung bei Projekten mit grafischer Benutzeroberfläche ... 972
Index ... 985 ...