Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

SQL Server 2005 Programmierhandbuch

SQL Server 2005 Programmierhandbuch

von: Andreas Kosch

entwickler.press, 2006

ISBN: 9783939084006, 675 Seiten

Format: PDF

Mac OSX,Windows PC Apple iPad, Android Tablet PC's

Preis: 33,50 EUR

  • J2EE mit Struts & Co.: Java-Projekte mit Struts, Tomcat, JBoss und Eclipse
    Oracle 10g
    GIMP2
    JBoss
    IBM WebSphere Applikationsserver
    E-Commerce Programmierung mit ASP - in 21 Tagen
    Datenbank-Anwendungen mit PostgreSQL
    Oracle-Programmierung
  • Outlook 2003 - Sicher kommunizieren, perfekt organisieren
    Web Application Development mit ColdFusion 4.5
    Apache Webserver 2
    ISA Server 2004 - Das Handbuch für Installation und Administration

     

     

     

     

     

 

Mehr zum Inhalt

SQL Server 2005 Programmierhandbuch


 

Inhaltsverzeichnis

6

Vorwort

14

Kapitel 1 – Überblick

16

1.1 Better together

17

1.2 Microsoft-SQL-Server-2005-Produktfamilie

21

1.3 Datenbank-Anwendungen

24

1.4 Die Installation aus der Sicht des Entwicklers

30

1.5 Welche Werkzeuge muss der Entwickler kennen?

38

1.5.1 SQL Server Command Line Tool

39

1.5.2 SQL Server Configuration Manager

45

1.5.3 SQL Server Surface Area Configuration (SAC)

46

1.5.4 SQL Server Profiler

47

1.5.5 SQL Server Agent

49

1.5.6 SQL Server Import and Export Wizard

49

1.5.7 SQL Server Management Studio

50

1.5.8 SQL Server Business Intelligence Development Studio

56

1.6 Nachträgliches Passwort für sa?

57

1.7 AdventureWorks oder Northwind?

57

1.8 Wie geht es weiter?

60

Kapitel 2 – SQL vs. T-SQL

62

2.1 Was ist SQL?

62

2.2 Warum wird SQL verwendet?

64

2.3 Wie verwaltet SQL die Daten?

67

2.3.1 Datenbank-Objekte

67

2.3.2 SQL-Befehlsausführung

70

2.4 SQL-Zeichen

74

2.4.1 Kommentar

75

2.4.2 Anweisungsbegrenzer

75

2.4.3 Bezeichner und Namen

77

2.4.4 SQL-Schlüsselwörter

79

2.4.5 Sonderfall sp_ (special)

80

2.4.6 Unicode-Zeichen

81

2.5 SQL-Kommandoklassen

82

2.5.1 Data Definition Language (DDL)

82

2.5.2 Data Manipulation Language (DML)

94

2.5.3 Data Query Language (DQL)

95

2.5.4 Transaction Control Language (TCL)

101

2.5.5 Database Administration Language (DAL)

101

2.6 Operatoren

103

2.7 Funktionen

108

2.8 Wie geht es weiter?

112

Kapitel 3 – Datenbanken für den SQL Server 2005

114

3.1 System- vs. Benutzerdatenbank

114

3.1.1 Sonderfall User Instance = True (nur Express Edition)

115

3.1.2 Normalfall einer eingehängten Benutzerdatenbank

116

3.2 Neue Datenbank anlegen

117

3.2.1 Interaktiv über das SSMS

117

3.2.2 Datenbank über ein T-SQL-Script anlegen

119

3.3 Leistungsfähige Datenbanken

126

3.3.1 Neue Anforderungen

126

3.3.2 Problemzone CPU

128

3.3.3 Problemzone Festplatte

129

3.3.4 Filegroup

137

3.4 Datenbank-Design

141

3.4.1 Anforderungen an eine Datenbank

142

3.4.2 Relationale Datenbank

144

3.5 Die Tabelle als Ablageplatz der Daten

147

3.5.1 Relationen

148

3.5.2 Sicht-Tabelle (View)

148

3.5.3 Normalisierung

151

3.5.4 Denormalisierung

153

3.5.5 Gefahrenstelle Hotspot

154

3.5.6 PRIMARY KEY – der Fingerabdruck eines Datensatzes

157

3.5.7 FOREIGN KEY – der Sicherheitsgurt

166

3.5.8 Temporäre Tabellen

174

3.6 Index

175

3.6.1 CLUSTERED INDEX – der Karteikasten

176

3.6.2 NONCLUSTERED INDEX – die Abkürzung für Lesezugriffe

177

3.6.3 Covering Index

185

3.6.4 Zusammenfassung: Primärschlüssel als Clustered Index

186

3.6.5 Zusammenfassung: Primärschlüssel als Nonclustered Index

187

3.7 Constraints

187

3.7.1 DEFAULT

188

3.7.2 CHECK

191

3.8 Computed Column

192

3.9 Datenbankbenutzer

194

3.9.1 SQL-Server-Login

196

3.9.2 Beispiel Internet-Anwendung

201

3.9.3 Fixed Server Roles

201

3.10 Backup und Restore

201

3.10.1 Wiederherstellungsmodell „Vollständig&ldquo

202

3.10.2 Sind regelmäßige Datenbank-Backups ausreichend?

206

3.11 Wie geht es weiter?

208

Kapitel 4 – Transact-SQL im Detail

210

4.1 SELECT

210

4.1.1 Kartesisches Produkt – die schlechte Lösung

211

4.1.2 Die JOIN-Syntax

211

4.1.3 INNER JOIN

214

4.1.4 OUTER JOIN

214

4.1.5 SELF JOIN

215

4.1.6 CROSS JOIN

216

4.1.7 Correlated Subquery

216

4.1.8 Derived Table

217

4.1.9 CROSS APPLY und OUTER APPLY

218

4.1.10 WITH CUBE

219

4.1.11 GROUPING

220

4.1.12 WITH ROLLUP

220

4.1.13 Daten aus fremden Datenbankformaten abfragen

221

4.1.14 Daten aus externen Datenbanken abfragen

222

4.1.15 TOP(x)

224

4.1.16 EXCEPT und INTERSECT

225

4.1.17 RANK und DENSE_RANK

226

4.1.18 NTILE

227

4.1.19 TABLESAMPLE

228

4.1.20 ROW_NUMBER

228

4.1.21 Common Table Expressions (CTE)

230

4.1.22 PIVOT

235

4.1.23 UNPIVOT

236

4.1.24 SELECT generiert SQL-Anweisungen

238

4.1.25 CASE

238

4.2 INSERT, UPDATE und DELETE

239

4.2.1 BULK INSERT

239

4.2.2 UPDATE übernimmt Daten aus einer anderen Tabelle

240

4.2.3 TOP

241

4.2.4 OUTPUT

242

4.3 TRY..CATCH

243

4.3.1 Ein Blick zurück – das Verhalten im SQL Server 2000

243

4.3.2 Die neuen Möglichkeiten vom SQL Server 2005

245

4.3.3 Eleganter Migrationspfad

247

4.4 Neue Datentypen des SQL Server 2005

247

4.4.1 VARCHAR(MAX) und VARBINARY(MAX)

248

4.4.2 XML

249

4.5 Verschlüsselung

265

4.5.1 Warum Daten zusätzlich verschlüsseln?

265

4.5.2 Service Master Key

268

4.5.3 Database Master Key

268

4.5.4 EncryptByPassPhrase

270

4.5.5 Symmetrischer Schlüssel

272

4.5.6 Asymmetrische Schlüssel

273

4.5.7 Zertifikat

278

4.5.8 Verschlüsselte Daten übertragen (Weg 1)

281

4.5.9 Verschlüsselte Daten übertragen (Weg 2)

285

4.5.10 Verschlüsselte Datenbank verschieben

287

4.6 Database Mail

290

4.7 Transaktionen

297

4.7.1 Synchronisationsprobleme

297

4.7.2 Transaktionen

300

4.7.3 Transaktionsmodelle

307

4.7.4 Sperrverfahren

308

4.7.5 Isolationsgrad einer Transaktion

314

4.7.6 Deadlock

319

4.7.7 Transaction Log

324

Kapitel 5 – Stored Procedure, Trigger und Function

326

5.1 Variablen

326

5.2 Steuerung des Ausführungsverlaufs

328

5.2.1 IF…ELSE

328

5.2.2 GOTO

329

5.2.3 WHILE

330

5.2.4 RETURN

331

5.2.5 WAITFOR

332

5.2.6 RAISERROR

333

5.3 Cursor

335

5.3.1 Cursortypen

335

5.3.2 Cursor verwenden

336

5.3.3 FAST_FORWARD-Cursor

339

5.3.4 FOR UPDATE-Cursor

346

5.3.5 Gefahrenstelle CURSOR

348

5.4 Stored Procedure

350

5.4.1 Vorteile von Stored Procedures

350

5.4.2 Die Hallo-Welt-Prozedur anlegen

360

5.4.3 Aufruf einer Stored Procedure

362

5.4.4 WITH EXECUTE AS

368

5.4.5 Debuggen einer T-SQL Stored Procedure

369

5.4.6 Stored Procedure aus .NET heraus debuggen

375

5.4.7 Rekursionen

377

5.4.8 ALTER PROCEDURE

378

5.4.9 Default-Parameter

379

5.4.10 Benannte Parameter

380

5.4.11 Dynamische Tabellennamen

380

5.4.12 Implementierung über sp_helptext einsehen

382

5.4.13 Microsoft-Beispiele

383

5.5 Trigger

384

5.5.1 AFTER-Trigger

385

5.5.2 INSTEAD OF-Trigger

395

5.5.3 DDL-Trigger

398

5.5.4 Trigger deaktivieren

403

5.5.5 Microsoft-Beispiel

403

5.6 User-Defined Function

403

5.6.1 Scalar Function

404

5.6.2 Table-Valued Function

406

5.7 Die Darstellung im Object Explorer

408

5.8 Wie geht es weiter?

410

Kapitel 6 – CLR-Integration

412

6.1 Ein Blick zurück

412

6.2 Was ist „managed Code“?

416

6.3 Grundsätze der Implementierung

418

6.3.1 Sicherheit, Sicherheit und nochmals Sicherheit!

420

6.3.2 Assemblies

422

6.3.3 AppDomain

424

6.3.4 CAS (Code Access Security)

425

6.3.5 TRUSTWORTHY

430

6.3.6 Zusammenfassung

431

6.4 CLR-Unterstützung aktivieren

431

6.5 Das Minimal-Beispiel mit Notepad

432

6.5.1 Schritt 1: OSNotepadSP.vb oder OSNotepadSP.cs

433

6.5.2 Schritt 2: Assembly im SQL Server 2005 installieren

436

6.5.3 Schritt 3: Aliasname in der Datenbank einrichten

436

6.6 Besonderheiten

438

6.6.1 Speicherverbrauch der CLR?

438

6.6.2 Verweise auf externe Assemblies

441

6.6.3 Datentypen

441

6.6.4 Eigene Exceptions auslösen

444

6.7 Das Visual-Studio-2005-Beispiel

445

6.7.1 SQL Server Projekt von Visual Studio 2005

446

6.7.2 Deploy über Visual Studio 2005

449

6.7.3 Remote Debugging der CLR Stored Procedure

451

6.8 Der Wettkampf: T-SQL vs. SQLCLR

452

6.8.1 Disziplin Zeichenkettenlänge berechnen

452

6.8.2 Disziplin Zeichen ersetzen

453

6.9 Zugriff über ADO.NET auf die Datenbank

456

6.10 Das UNSAFE-Beispiel

457

6.11 CLR User-Defined Function

461

6.11.1 CLR Scalar-Valued Function

462

6.11.2 CLR Table-Valued Function

470

6.12 CLR Trigger

473

6.13 User-Defined Types?

476

6.14 Microsoft-Beispiele

477

Kapitel 7 – Server Management Objects (SMO)

478

7.1 Windows Management Instrumentation (WMI)

478

7.1.1 Was ist WMI?

478

7.1.2 WMI und der SQL Server 2005

479

7.2 Server Management Objects (SMO)

483

7.2.1 SMO-Objektmodell

484

7.2.2 SMO-Beispiel: Datenbankbackup

485

7.3 Microsoft-Beispiele

490

Kapitel 8 – SQL Server Reporting Services

492

8.1 Der Hallo-Welt-Bericht

494

8.2 Der Report Wizard

505

8.2.1 Schritt 1: Datenbanktabelle vorbereiten

506

8.2.2 Schritt 2: Neues Berichtsprojekt anlegen

507

8.2.3 Schritt 3: Bericht veröffentlichen

515

8.2.4 Schritt 4: Bericht in die eigene Anwendung integrieren

518

8.3 Report Manager

524

8.4 SQL Server Management Studio

526

8.5 Report Builder

526

8.5.1 Das Berichtsmodell

527

8.5.2 Der Report Builder

532

8.6 Das ReportViewer-Control

534

8.6.1 Das DataSet aus ADO.NET

534

8.6.2 ReportViewer

537

8.7 Microsoft-Beispiele

539

Kapitel 9 – Service Broker

540

9.1 Was ist ein Service Broker?

540

9.1.1 Der Microsoft SQL Server 2005 Service Broker (SSB)

542

9.1.2 Das Hello-World-Beispiel

545

9.1.3 Datenbankübergreifender Nachrichtenversand

562

9.1.4 Serverübergreifender Nachrichtenversand

571

9.1.5 Beispiel für den bidirektionalen Nachrichtenaustausch

572

9.1.6 Troubleshooting

577

9.1.7 Entscheidungskriterien

578

9.2 Event Notification

579

9.2.1 Das Prinzip

579

9.2.2 Das FOR CREATE_DATABASE-Beispiel

582

9.3 Query Notification

585

9.3.1 Das Prinzip

586

9.3.2 SqlDependency

587

9.3.3 SqlCacheDependency

594

9.3.4 SqlNotificationRequest

594

9.4 Microsoft-Beispiele

595

Kapitel 10 – Web Services

596

10.1 Wie funktioniert ein Web Service?

597

10.2 SQL Server 2005 Web Service

599

10.3 Das Beispiel für Windows XP

601

10.4 Der C#-Client für den SQL Server 2005 Web Service

606

10.5 Das Beispiel für Windows Server 2003

608

10.6 Resümee

612

Anhang A – Einführung in ADO.NET

614

A.1 Die Ziele

615

A.2 Wichtige Klassen (Komponenten)

617

A.2.1 Grundregel zu SqlConnection

619

A.2.2 SqlDataAdapter

621

A.2.3 SqlCommandBuilder

624

A.2.4 DataSet

625

A.2.5 DataTable

631

A.3 Typisiertes vs. untypisiertes DataSet

634

A.4 TableAdapter – der typisierte SqlDataAdapter

638

A.5 Data Source

639

A.5.1 BindingSource

643

A.5.2 Data-Sources-Fenster von Visual Studio 2005

644

A.5.3 TableAdapter und BindingSource

645

A.5.4 Master/Detail-Beziehungen

648

A.6 DataGridView

650

A.7 TableAdapter und Transaktionen

655

A.8 Resümee

662

Stichwortverzeichnis

664