Datenbankentwicklung mit dem Microsoft SQL Server 2005



Ähnliche Dokumente
Datenbankentwicklung mit dem Microsoft SQL Server 2005

Microsoft SQL Server 2005 für Administratoren

SQL Server 2005 Der schnelle Einstieg

Inhaltsverzeichnis. 1 Der SQL Server 2008 stellt sich vor Die grafischen Tools des SQL Server Eine neue Datenbank erstellen 87

Vor- und Nachteile speicheroptimierter Tabellen

1.6 Zusammenfassung... 19

Microsoft SQL Server 2000 Programmierung

SQL Server 2008 Der schnelle Einstieg

Microsoft SQL Server 2008 für Administratoren

Robert Panther. Datenbanken entwickeln mit SQL Server 2008 Express Edition

Inhaltsverzeichnis. jetzt lerne ich

Bibliografische Informationen digitalisiert durch

Inhaltsverzeichnis. Vorwort Teil I Einführung. 1 Einleitung Der Microsoft SQL Server... 19

Inhaltsverzeichnis. Vorwort 13

MCSE Crash Test SQL Server 7 Systemadministration

Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank

SQL Server 2008 Performance-Optimierung

Einführung in SQL Datenbanken bearbeiten

Vorwort 11. Eine neue Datenbank erstellen 79;

Administering Microsoft SQL Server 2012/2014 Database (M20462) M /

Bück Woody. SQL Server Das Handbuch für Administratoren. ADDISON-WESLEY An imprint of Pearson Education

Implementieren einer Microsoft SQL Server 2005-Datenbank M4739

Inhalt. 1. MySQL-Einführung Datenbankentwurf 27

Visual Basic.NET undado.net

Microsoft SQL Server Konfigurierung, Administration, Programmierung

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

Robert Panther. Richtig einsteigen: Datenbanken entwickeln mit SQL Server 2012

Inhaltsverzeichnis. Einleitung... 11

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Grundlagen relationaler Datenbanken Access Grundlagenseminar Access Aufbauseminar Von Excel 2010 zu Access

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Inhaltsverzeichnis. 1 Hallo 13

desk.modul : WaWi- Export

Microsoft SQL Server 2005 Konfigurierung, Administration,

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

<Trainingsinhalt> XML und Datenbanken

5 Sicherheit und Zugriff auf SQL Server 2008 R2

IBM Informix SQL. Seminarunterlage. Version vom

MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbankstammtisch. Replikation in heterogenen Datenbankumgebungen am Beispiel des Sybase Replication Servers. 1. Februar 2006

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

i i apitel apitel K K Inhalt Inhalt

Administering Microsoft SQL Server Databases

Microsoft Access 2007-Programmierung Effektiver Einstieg in die Programmierung von Datenbankanwendungen

Vorwort. Zu dieser Reihe. Autoren. Vorwort

Installation Microsoft SQL Server 2008 Express

Inhaltsverzeichnis. Einleitung

Tipps & Tricks. Neues, Nützliches und Praktisches. Christian Dahmen con terra GmbH

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SAP -Datenbankadministration. Microsoft SQL Server 2000

Prozedurale Datenbank- Anwendungsprogrammierung

OP-LOG

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Arbeiten mit einem lokalen PostgreSQL-Server

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen...

Wie mache ich eine Datensicherung vom SQL Server Express

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Thorsten Kansy. Datenbankprogrammierung. mit.net 3.5 HANSER

Inhaltsverzeichnis. Einleitung und Danksagung. 1 Was ist SharePoint? - Ein Überblick.

MaxDB-Schulungsthemen

MS SQL Server: Index Management. Stephan Arenswald 10. Juli 2008

Prüfungsnummer: deutsch. Prüfungsname: Querying. Version: Demo. SQL Server

Inhaltsverzeichnis. Vorwort Einleitung... 15

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

MOC 10775A: Verwaltung von Microsoft SQL Serverdatenbanken 2012

Microsoft SQL Server 2005 Management Studio Express Installation und Wiederherstellung einer Redisys SQL Datenbank. Inhaltsverzeichnis

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

vii Inhaltsverzeichnis 1 Cloud Computing 1

Inhaltsverzeichnis VII

ADDISON tse:nit Hinweise zum Umstieg von SQL 2000 auf SQL 2008 im tse:nit Umfeld

Funktionsübersicht. Beschreibung der zentralen Funktionen von PLOX

NET.Compact Framework

SQL (Structured Query Language) Schemata Datentypen

Webseiten entwickeln mit ASP.NET

Gesicherte Prozeduren

Fragen zur GridVis MSSQL-Server

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

MSSQL Server Fragen GridVis

8 Access-Abfragen migrieren

O REILLY. Oracle PL/SQL Programmierung Paris - - Steven Feuerstein. mit Bill Pribyl. Deutsche Übersetzung von Dorothea Reder 2.

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Access 2000 und MS SQL Server im Teamwork

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Cornel Brücher Thomas Glörfeld. Microsoft SQL Thinking Vom Problem zum SQL-Statement

Transkript:

Holger Schmeling Datenbankentwicklung mit dem Microsoft SQL Server 2005 ISBN-10: 3-446-22532-3 ISBN-13: 978-3-446-22532-9 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-22532-9 sowie im Buchhandel

1 Einleitung... 1 1.1 Was vermittelt dieses Buch?... 1 1.2 Für wen ist dieses Buch?... 2 1.3 Wo finde ich was?... 3 1.4 Welche Voraussetzungen werden benötigt?... 5 1.5 Danksagung... 6 2 SQL Server 2005-Architektur... 9 2.1 SQL Server 2005-Komponenten... 9 2.1.1 Das SQL Server-Datenbankmodul... 10 2.1.2 SQL Server Replication Services... 12 2.1.3 SQL Server Notification Services... 12 2.1.4 SQL Server Reporting Services... 12 2.1.5 SQL Server Analysis Services... 13 2.1.6 SQL Server Integration Services... 13 2.1.7 Verwaltungswerkzeuge... 14 2.1.8 Entwicklungswerkzeuge... 14 2.1.9 Der SQL Server Agent... 14 2.2 SQL Server-Editionen... 15 2.3 Systemdatenbanken...16 2.3.1 Die master-datenbank... 16 2.3.2 Die model-datenbank... 16 2.3.3 Die msdb-datenbank... 17 2.3.4 Die tempdb-datenbank... 17 2.3.5 Weitere Datenbanken... 17 2.4 Die Struktur einer SQL Server-Datenbank... 18 2.4.1 Datenbanken... 19 2.4.2 Datenbankobjekte... 19 2.5 Zusammenfassung...21 VII

3 SQL Server-Verwaltungswerkzeuge... 23 3.1 SQL Server-Konfigurations-Manager...24 3.2 SQL Server-Oberflächenkonfiguration...25 3.3 SQL Server Management Studio...27 3.3.1 Start und Anmeldung...27 3.3.2 Bereiche des Hauptfensters...30 3.3.3 Datenbankprojekte erstellen...47 3.4 Business Intelligence Development Studio...51 3.5 SQL Server Profiler...52 3.6 Datenbankmodul-Optimierungsratgeber...58 3.7 Sqlcmd...61 3.8 SQL Server-Onlinedokumentation...63 3.9 Zusammenfassung...64 4 Transact SQL-Grundlagen... 65 4.1 Das Relationenmodell...66 4.2 SQL mit System...67 4.3 T-SQL-Stapel (Batches)...69 4.4 SQL-Datentypen...71 4.5 T-SQL-Ausdrücke und -Operatoren...76 4.6 Datenbanken verwalten...79 4.6.1 Datenbank erzeugen...79 4.6.2 Datenbank ändern...82 4.6.3 Datenbank löschen...84 4.7 Schemas verwenden...84 4.7.1 Namensauflösung...87 4.7.2 Synonyme...89 4.8 Tabellen entwerfen...90 4.8.1 Tabellen anlegen...90 4.8.2 Tabellen ändern...93 4.8.3 Identität/Primärschlüssel...95 4.8.4 Weitere Einschränkungen...98 4.8.5 Berechnete Spalten...102 4.8.6 Ein Wiedersehen mit CREATE TABLE...103 4.8.7 Beziehungen festlegen...104 4.8.8 Zusammenfassung zu Einschränkungen...107 4.8.9 Tabellen löschen...107 4.8.10 Datenbankdiagramme...108 4.8.11 Temporäre Tabellen...109 4.9 INSERT Daten einfügen...110 4.10 SELECT Daten abfragen...111 4.10.1 Filtern: Projektion und Selektion...115 4.11 Informationen ausgeben mit PRINT...122 4.12 Ausführen von gespeicherten Prozeduren...122 4.13 UPDATE Daten ändern...123 4.14 DELETE Daten löschen...125 VIII

4.15 SQL-Funktionen... 126 4.15.1 Systemfunktionen... 127 4.15.2 Konfigurationsfunktionen... 129 4.15.3 Metadatenfunktionen... 130 4.15.4 Numerische Funktionen... 132 4.15.5 Funktionen zur Zeichenkettenbearbeitung... 136 4.15.6 Konvertierungsfunktionen... 142 4.15.7 Datums- und Zeitfunktionen... 144 4.15.8 Sonstige Funktionen und Operatoren... 149 4.16 Die Beispieldatenbank AdventureWorks... 153 4.17 Sichten... 154 4.17.1 Ändern von Sichten... 156 4.17.2 Aktualisierung von Daten... 156 4.18 Daten einfügen mit SELECT... 158 4.18.1 INSERT und SELECT... 158 4.18.2 SELECT INTO... 158 4.19 Null... 159 4.19.1 Dreiwertige Logik... 160 4.19.2 Arithmetische Operationen... 163 4.19.3 Operationen mit Zeichenketten... 164 4.19.4 Hinweise für die Verwendung von NULL... 166 4.19.5 Spezielle Funktionen für NULL-Werte... 167 4.20 Fehlerbehandlung in T-SQL... 169 4.21 Komplexe Abfragen mit SELECT... 170 4.21.1 Mengenoperationen mit SQL... 170 4.21.2 Abfragen über mehrere Tabellen... 172 4.21.3 Aggregatfunktionen und GROUP BY... 179 4.21.4 Rangfolgefunktionen... 186 4.21.5 Korrelierende Unterabfragen... 191 4.21.6 Abgeleitete Tabellen... 192 4.21.7 Allgemeine Tabellenausdrücke... 193 4.21.8 PIVOT und UNPIVOT... 198 4.21.9 OUTPUT... 202 4.21.10 APPLY... 203 4.22 Zusammenfassung... 205 5 Transaktionen und Sperren... 207 5.1 Eigenschaften von Transaktionen... 207 5.2 Start und Ende einer Transaktion... 210 5.2.1 Transaktionsmodi des SQL Servers... 211 5.3 Sperren... 213 5.3.1 Sperrbare Ressourcen... 214 5.3.2 5.3.3 Sperrtypen... 217 Deadlocks... 219 5.4 Isolationsstufen... 224 5.4.1 READ UNCOMMITTED... 224 IX

5.4.2 READ COMMITTED...225 5.4.3 REPEATABLE READ...226 5.4.4 SNAPSHOT...227 5.4.5 SERIALIZABLE...228 5.4.6 Abschließende Betrachtungen zu Isolationsstufen...228 5.5 Sperren explizit anfordern Sperrhinweise...229 5.6 Das Transaktionsprotokoll...232 5.6.1 Abschneiden des Protokolls...233 5.6.2 Verhalten im Fehlerfall...234 5.7 Hinweise zur Verwendung von Transaktionen...234 5.8 Zusammenfassung...236 6 Administration für Datenbankentwickler... 237 6.1 Datensicherung und -wiederherstellung...237 6.1.1 6.1.2 Wiederherstellungsmodelle...240 Prüfen der Konsistenz einer Datenbank...242 6.1.3 Vollständige Datenbanksicherung...242 6.1.4 Sicherung des Transaktionsprotokolls...248 6.1.5 Sichern der Systemdatenbanken...251 6.2 Wiederherstellung von Datenbanken...252 6.2.1 Automatische Wiederherstellung bei Systemstart...255 6.2.2 Wiederherstellung der Systemdatenbanken...255 6.3 Zugriffskontrolle...256 6.3.1 SQL Server-Anmeldungen...257 6.3.2 Anmeldungen hinzufügen...259 6.3.3 Anmeldungen löschen...261 6.3.4 Berechtigungen vergeben...261 6.3.5 Vordefinierte Anmeldekonten...262 6.3.6 Datenbankbenutzer...263 6.3.7 Datenbankrollen...265 6.3.8 Rechte erteilen und entziehen...266 6.4 Überwachung von SQL Server...270 6.4.1 Was kann überwacht werden?...271 6.4.2 Überwachung mit dem SQL Server Management Studio...272 6.4.3 Überwachung mit dem SQL Server Profiler...276 6.4.4 Überwachung mit dem Windows-Systemmonitor...276 6.4.5 Verwendung von T-SQL zur Überwachung...277 6.5 Zusammenfassung...286 7 T-SQL-Programmierung... 287 7.1 Variablen...287 7.1.1 Deklaration von Variablen...287 7.1.2 Wertzuweisung an Variablen...288 7.1.3 Besondere Variablentypen...290 7.2 Dynamisches SQL...292 7.3 Ablaufsteuerung...293 X

7.3.1 Anweisungsblöcke... 293 7.3.2 Bedingte Ausführung von Anweisungen... 293 7.3.3 Wiederholte Ausführung von Anweisungen... 294 7.4 Cursor... 297 7.4.1 Cursor erzeugen... 297 7.4.2 Einen Cursor durchlaufen Daten abrufen... 300 7.4.3 Daten aktualisieren... 305 7.4.4 Hinweise zur Verwendung von Cursorn... 306 7.5 Gespeicherte Prozeduren... 306 7.5.1 Warum gespeicherte Prozeduren?... 307 7.5.2 Erstellung von gespeicherten Prozeduren... 307 7.5.3 Verwenden von Parametern... 311 7.5.4 Der Rückgabewert einer gespeicherten Prozedur... 314 7.5.5 Die gespeicherte Systemprozedur sp_procoption... 314 7.5.6 EXECUTE und INSERT... 316 7.5.7 Erweitertes Beispiel: PDF-Dateien einlesen... 317 7.6 Benutzerdefinierte Funktionen... 320 7.6.1 Skalarwertfunktionen... 320 7.6.2 Tabellenwertfunktionen... 323 7.7 Trigger... 325 7.7.1 DML-Trigger... 326 7.7.2 Hinweise zur Verwendung von Triggern... 332 7.7.3 DDL-Trigger... 333 7.8 Zusammenfassung... 338 8 XML-Integration... 339 8.1 Tabellen im XML-Format darstellen: FOR XML... 339 8.1.1 FOR XML RAW... 341 8.1.2 FOR XML AUTO... 342 8.1.3 FOR XML EXPLICIT... 344 8.1.4 FOR XML PATH... 352 8.1.5 FOR XML-Optionen... 355 8.1.6 Noch einmal FOR XML PATH... 358 8.2 XML-Daten in Tabellenform abbilden: OPENXML... 367 8.3 Der XML-Datentyp... 372 8.3.1 Ungetypte XML-Daten... 375 8.3.2 Getypte XML-Daten... 376 8.3.3 query... 379 8.3.4 exist... 382 8.3.5 value... 383 8.3.6 nodes... 384 8.3.7 modify... 388 8.4 8.3.8 XML-Indizes... 391 Zusammenfassung... 395 XI

9 SQL Server Service Broker... 397 9.1 Architektur...397 9.1.1 Service Oriented Architecture (SOA)...398 9.1.2 Service Broker-Kommunikation...399 9.1.3 Service Broker-Komponenten...401 9.2 Erstellung von Anwendungen...402 9.2.1 T-SQL-Kommandos für eine Service Broker-Kommunikation...402 9.2.2 Eine Service Broker-Beispielanwendung...403 9.2.3 Service Broker-Aktivierung...417 9.3 Überwachung von Server- und Datenbankobjekten...418 9.4 Zusammenfassung...421 10 Datenbankentwicklung mit.net... 423 10.1 SQL Server und die.net CLR...423 10.2 Sicherheitsaspekte...425 10.3 Assemblys...426 10.4 Der Namensraum Microsoft.SqlServer.Server...430 10.5 Datentypen der Namensraum System.Data.SqlTypes...431 10.6 Datenbankprojekte mit Visual Studio 2005 erstellen...431 10.6.1 Erstellen eines Datenbankprojektes...432 10.6.2 Erstellen von gespeicherten Prozeduren...434 10.6.3 Erstellen von benutzerdefinierten Funktionen...442 10.6.4 Erstellen benutzerdefinierter Typen...445 10.6.5 Erstellen von benutzerdefinierten Aggregaten...457 10.6.6 Erstellen von Triggern...460 10.6.7 Debuggen von CLR-Objekten...462 10.7 Noch einmal: Sicherheit...463 10.8 T-SQL oder.net?...467 10.9 Zusammenfassung...468 11 Web Services mit dem SQL Server... 469 11.1 Was sind Web Services?...469 11.2 SOAP-Endpunkte...470 11.2.1 Syntax zur Erstellung eines HTTP-Endpunktes...471 11.3 Reservierung von HTTP-Namensräumen...473 11.3.1 Implizite Reservierung...474 11.3.2 Explizite Reservierung...475 11.3.3 Löschen einer expliziten Reservierung...475 11.4 Aufbau der URL für einen Endpunkt...476 11.5 Einen Web Service erstellen und verwenden...476 11.5.1 Den AdWrksServicePoint-Endpunkt erzeugen...477 11.5.2 Sicherheitsaspekte...478 11.5.3 Den Web Service verwenden...481 11.6 Zusammenfassung...486 XII

12 Optimierung von Abfragen... 487 12.1 Die Speicherverwaltung von SQL Server... 488 12.2 Ausführung von Abfragen durch SQL Server... 489 12.3 Erstellen einer Testdatenbank... 490 12.4 Verwenden von Indizes... 491 12.4.1 Tabellen ohne Index Heap... 491 12.4.2 Gruppierte Indizes... 492 12.4.3 Nicht gruppierter Index auf einem Heap... 494 12.4.4 Nicht gruppierter Index auf einem gruppierten Index... 495 12.4.5 Erzeugen von Indizes... 497 12.4.6 Löschen von Indizes... 501 12.5 Messen der Leistung... 501 12.5.1 Messen mit der Stoppuhr... 502 12.5.2 Statistische Werte... 503 12.5.3 Ausführungspläne... 505 12.5.4 Der SQL Server Profiler... 511 12.5.5 Windows-Systemmonitor... 517 12.5.6 Verbindung von Ablaufverfolgung und Logfile... 518 12.6 Beispiele für die Optimierung... 521 12.7 Weitere Hinweise für Indizes... 528 12.7.1 Index-Selektivität... 528 12.7.2 Index-Fragmentierung... 529 12.7.3 Fehlende Indizes... 529 12.7.4 Nicht verwendete Indizes... 531 12.8 Der Datenbankmodul Optimierungsratgeber... 532 12.9 Tipps zur Abfrageoptimierung... 535 12.10 Zusammenfassung... 538 13 Anwendungen mit den Notification Services erstellen... 539 13.1 Einführung in SQL Server Notification Services... 539 13.2 Architektur... 540 13.3 Erstellen von Notification Services-Anwendungen... 543 13.4 Eine Notification Services-Beispielanwendung... 544 13.4.1 Instance Configuration File (ICF)... 544 13.4.2 Application Definition File (ADF)... 547 13.4.3 Erzeugen und Ausführen der NS-Anwendung... 554 13.4.4 Überprüfen der erzeugten NS-Datenbanken und -Objekte... 558 13.4.5 Erzeugen von Abonnements und Ereignissen... 559 13.5 Zusammenfassung... 572 Literatur... 573 Register... 575 XIII