SQL Server 2014: Rheinwerk Computing
Autor Dirk Mertins, Jörg Neumann, Andreas Kühnelde Limba Germană Hardback – dec 2014
Aus dem Inhalt:
- 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
Die Fachpresse zur Vorauflage:
dotnetpro: »In der Gesamtnote hat das Buch ein Sehr gut verdient.«
iX - Magazin für professionelle Informationstechnik: »Bei diesem Buch können Leser erwarten, fast alles zum SQL Server geboten zu bekommen.«
Din seria Rheinwerk Computing
- 20% Preț: 176.55 lei
- 20% Preț: 150.91 lei
- 20% Preț: 394.49 lei
- 20% Preț: 169.59 lei
- 20% Preț: 405.03 lei
- 20% Preț: 276.21 lei
- Preț: 206.10 lei
- 20% Preț: 351.27 lei
- 20% Preț: 251.77 lei
- 20% Preț: 260.72 lei
- 20% Preț: 329.49 lei
- 20% Preț: 397.90 lei
- 20% Preț: 142.44 lei
- 20% Preț: 164.12 lei
- 20% Preț: 248.27 lei
- 20% Preț: 345.68 lei
- 20% Preț: 359.14 lei
- 20% Preț: 418.36 lei
- 20% Preț: 170.37 lei
- 20% Preț: 256.75 lei
- 20% Preț: 287.89 lei
- 20% Preț: 505.06 lei
- Preț: 146.67 lei
- 20% Preț: 328.50 lei
- 20% Preț: 238.07 lei
- 20% Preț: 224.53 lei
- Preț: 211.66 lei
- 20% Preț: 187.26 lei
- 20% Preț: 188.27 lei
- 20% Preț: 401.61 lei
- 20% Preț: 314.36 lei
- 20% Preț: 602.16 lei
- 20% Preț: 319.43 lei
- 20% Preț: 182.56 lei
- 20% Preț: 173.07 lei
- 20% Preț: 168.75 lei
- 20% Preț: 180.45 lei
- 20% Preț: 180.11 lei
- 20% Preț: 163.16 lei
- 20% Preț: 429.86 lei
- 20% Preț: 328.07 lei
- 20% Preț: 180.53 lei
- 20% Preț: 241.56 lei
- 20% Preț: 400.38 lei
- 20% Preț: 195.96 lei
- 20% Preț: 355.43 lei
- 20% Preț: 256.64 lei
- 20% Preț: 225.08 lei
- 20% Preț: 331.73 lei
- 20% Preț: 176.62 lei
Preț: 482.51 lei
Preț vechi: 603.13 lei
-20% Nou
Puncte Express: 724
Preț estimativ în valută:
92.39€ • 96.20$ • 76.65£
92.39€ • 96.20$ • 76.65£
Carte indisponibilă temporar
Doresc să fiu notificat când acest titlu va fi disponibil:
Se trimite...
Preluare comenzi: 021 569.72.76
Specificații
ISBN-13: 9783836230445
ISBN-10: 3836230445
Pagini: 1308
Dimensiuni: 180 x 244 x 71 mm
Greutate: 2.27 kg
Ediția:Revizuită
Editura: Rheinwerk Verlag GmbH
Seria Rheinwerk Computing
ISBN-10: 3836230445
Pagini: 1308
Dimensiuni: 180 x 244 x 71 mm
Greutate: 2.27 kg
Ediția:Revizuită
Editura: Rheinwerk Verlag GmbH
Seria Rheinwerk Computing
Cuprins
Vorwort ... 33TEIL 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 ... 160TEIL 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 ... 38910. 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 ... 40411. Verwendung der räumlichen und hierarchischen Datentypen ... 405 11.1 ... Räumliche Datentypen ... 405 11.2 ... Der hierarchische Datentyp ... 44112. 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 ... 47013. 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 ... 49914. 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 ... 51415. 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 ... 52816. 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 ... 55517. 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 ... 57418. Programmierung und Einsatz von Triggern ... 579 18.1 ... DML-Trigger ... 579 18.2 ... DDL-Trigger ... 60119. 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 ... 62320. 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 ... 64021. 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 ... 66122. 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 ... 66623. 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 ... 70824. 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 ... 72825. 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 ... 75726. 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 ... 77227. 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 ... 77928. 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 ... 787TEIL III. .NET-Programmierung ... 78929. 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 ... 80330. .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 ... 87431. 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 ... 91932. 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 ... 96833. 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 ... 107934. LINQ ... 1111 34.1 ... Was ist LINQ? ... 1111 34.2 ... LINQ to Objects ... 1117 34.3 ... Die Abfrageoperatoren ... 112135. 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 ... 117336. 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 ... 120937. 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 ... 123638. Konflikte behandeln ... 1241 38.1 ... Allgemeine Betrachtungen ... 1241 38.2 ... Konkurrierende Zugriffe mit dem Entity Framework ... 124339. 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