Datenbanken - Grundlagen und Design

5
Frank Geisler 4. Auflage Datenbanken Grundlagen und Design

Transcript of Datenbanken - Grundlagen und Design

Page 1: Datenbanken - Grundlagen und Design

Frank Geisler

4. Aufl age

DatenbankenGrundlagen und Design

Außerdem bei mitp:

Aus dem Inhalt:

• Datenbanksysteme,Datenbankanwendungen und Middleware

• Das relationale Datenbankmodell

• ER-Datenbank-modellierung und Normalisierung

• SQL-Grundlagen

• Projektablauf bei der Erstellung einer Datenbank

• Transaktionen und konkurrierende Zugriffe

• Client-Server-Architektur

• Verteilte Datenbank-systeme

• Data Warehouses

Wertung bei amazon.de:

»Tolles Buch - Einfache Erklä-rungen, aber trotzdem mit Tiefgang.«

»Dieses Buch ist einmalig, didaktisch hervorragend auf-gebaut ohne mathematische Schnörkel.«

Dieses Buch richtet sich an alle, die sich grundlegend und fundiert in das Thema Datenbanken einarbeiten wollen. Der Fokus liegt dabei auf einer strukturierten, leicht nachvollziehbaren und praxisrelevanten Dar-stellung des Stoffes, der anhand eines durchgängigen Beispiels präsentiert wird. Der Autor stellt die Inhalte soweit möglich herstellerneutral dar, so dass die ver-wendeten Techniken auf jedem relationalen Datenbank-system umgesetzt werden können.

Zunächst wird der Leser in die unterschiedlichen Daten-bankmodelle eingeführt und lernt detailliert das rela-tionale Datenbankmodell sowie die ER-Datenbankmo-dellierung und die Normalisierung kennen. Nach der Darstellung der Datenbankentwicklung auf konzeptio-neller Ebene werden die Umsetzung des Datenbank-modells und die Abfrage von Daten mithilfe von SQL beschrieben. So erhält der Leser zugleich eine praxis-orientierte Einführung in SQL.

Im Anschluss wird der Projektablauf bei der Erstellung eines Datenbanksystems erläutert, um den Schritt vom Design zur Implementierung zu verdeutlichen, der innerhalb eines professionellen, geordneten Software-Erstellungsprozesses erfolgt. Im Folgenden lernt der Leser weitere Datenbankkonzepte wie Transaktionen und konkurrierende Zugriffe kennen. Abschließend geht der Autor auf die beiden wichtigsten Datenbank-anwendungsarchitekturen Fat und Thin Client ein und beschreibt am Praxisbeispiel die Client-Server-Architek-tur, verteilte Datenbanksysteme, Data Warehouses und Data Mining. Im letzen Kapitel wird das Thema LINQ als eine mögliche Lösung des konzeptionellen Unterschieds zwischen relationalen Datenbanken und objektorientier-ten Programmiersprachen vorgestellt.

Der Leser wird umfassend in das Thema Datenbanken eingeführt und erhält zugleich eine praxisnahe Sichtwei-se auf die professionelle Realisierung von Datenbank-systemen von einem seit langem in der Praxis arbeiten-den Datenbankentwickler.

ISBN 978-3-8266-9057-0

(D) €

29

,95

Konzepte, Entwurf, Design, ImplementierungKonkrete Erläuterungen am PraxisbeispielZahlreiche Aufgaben mit Musterlösungen sowie Anregungen für eigene Projekte

ISBN 978-3-8266-9088-4ISBN 978-3-8266-9088-4

Geis

ler

Dat

enba

nken

ISBN 978-3-8266-5505-0

ISBN 978-3-8266-9156-0

Grun

dlag

en

und

Des

ign

978-3-8266-9088-4_umschlag3.indd 1-3 9/12/2011 3:07:08 PM

Page 2: Datenbanken - Grundlagen und Design

527

Stichwortverzeichnis

Numerisch1:1-Beziehung 66, 1111:N-Beziehung 67, 113

AAbfrage

durch API 475durch Beispiel 475durch Sprache 476

Abfrage-Ausdruck 490abgeleitetes Attribut 142Abteilungsdatenbank 47Ad-hoc-Abfragen 23ADO.NET 81Aggregatfunktion 261Analyse 284AND 217Änderungs-Anomalie 36Annähernd genaue Zahl 208Anwendungsschicht 358Anwendungsserver 76APPC 361AppleTalk 361Applikationsschicht 359Atomarität 317Attribut 66, 71, 94, 139AVG 262

BBesitzer 58Beziehung 66

binär 156binäre Sperre 332BIT_LENGTH 269Bit-String 209Blattknoten 54Boyce-Codd-Normalform 191Briefcase-Anwendung 81Brücken-Entität 160Businesslogik 73

CCHARACTER_LENGTH 268Client 346Client-Prozess 341Client-Server-Architektur 74, 341

CODASYL 57Collection-Initialisierer 483COMMIT 318COUNT 261CSV-Format 31CURRENT_DATE 270CURRENT_TIME 270CURRENT_TIMESTAMP 270

DDAO 79, 83Darstellungsschicht 358Data Control Language 216Data Definition Language 210Data Dictionary 22, 50, 51, 117Data Manipulation Language 211Data Warehouse 48Datei 30Daten 19, 30, 44Datenabhängigkeit 33Datenanomalien 36Datenbank 21Datenbankabfrage 314Datenbankdesign 295Datenbank-Lebenszyklus 289Datenbankmanagement-System 22Datenbankmodell 52Datenfragment 385Datenfragmentierung 385Dateninkonsistenz 35Dateninseln 34Datenintegrität 35Datenmanagement 21Datenmodellierung 131Datenredundanz 35Datenreplikation 388Datensatz 30, 97Datenschicht 74Datentyp 96, 208

genaue Zahlen 208Datenuntersprache 63, 206Datenverarbeitung 20Datetime 209Dauerhaftigkeit 317DB2 60DBMS 48DCL 216DDL 210

00___Datenbanken.book Seite 527 Montag, 12. September 2011 6:21 18

Page 3: Datenbanken - Grundlagen und Design

Stichwortverzeichnis

528

Deadlock 334decision support system 48DELETE 260Delete-Anomalie siehe Lösch-AnomalieDenormalisierung 199Desktop-Datenbank 47Detailtabelle 61DIFFERENCE 104Dirty Read 323Distributed Data Management System 373distributed database dictionary 380DIVIDE 105DML 211Domain/Key-Normalform 195Domäne 96, 144Doppel-Schema-Problem 473Dritte Normalform 186

EEinfüge-Anomalie 36einschichtige Datenbankanwendungen 74Einzelbenutzer-Datenbank 47Entität 26, 66, 138Entitäts-Instanzen 94Entitäts-Integrität 103Entity Sets 94Entity-Relationship-Modell 138Entity-Typen 94Equi-Join 107, 245ERD 65Erste Normalform 180Erweiterungsmethode 487existenziell abhängig 150existenziell unabhängig 150exklusive Sperre 332externes Modell 136EXTRACT 269

FFat Client 75Feld 97flache Datei 31Fremdschlüssel 101FROM 224FULL 240Full-Outer-Join 250, 252Fünfte Normalform 195Funktion

Aggregat- 261skalare 261

funktionale Abhängigkeit 99

Ggemischte Fragmentierung 387Genaue Zahl 208Geschäftsschicht 74

Granularität 327GROUP BY 240

HHardware 44HAVING 241hierarchische Datenbanken 53homonym 118horizontale Fragmentierung 386

Iidentifizierende Beziehungen 151Identitätsproblem 473Impedance Mismatch 467Implementative Modelle 52Implementierung 287IN 226Index 119Informationen 19Information-Overkills 19Informationsgehalt 20Informationsinseln 34Inner-Join 248INSERT 258Insert-Anomalie siehe Einfüge-AnomalieInstanz 66, 71Intelligenter Client 75Intelligenter Server 75internes Modell 135Internet-Datenbankanwendung 76Internetschicht 360INTERSECT 105Intervall 209IPX/SPX 361Isolation 317

JJOIN 106Join 221, 243

KKardinalität 148Kartesisches Produkt 243Katalog 22, 50Kindknoten 54Klasse 70Klassenhierarchie 71Klausel

modifizierende 221Kommunikationsschicht 357Konnektivität 66, 148konsistenter Zustand 314Konsistenz 317konzeptionelle Modelle 52konzeptionelles Design 296künstlicher Primärschlüssel 99, 147

00___Datenbanken.book Seite 528 Montag, 12. September 2011 6:21 18

Page 4: Datenbanken - Grundlagen und Design

Stichwortverzeichnis

529

LLambda-Ausdruck 487, 488Left-Outer-Join 107, 250LINQ 467

Architektur 477LINQ to Datasets 480LINQ to Entities 481LINQ to Objects 479LINQ to SQL 480LINQ to XML 481Lock 326logische Verknüpfung 216logisches Design 306logisches Format 34Lösch-Anomalie 36Lost Updates 322LOWER 267

MM:N-Beziehung 67, 114Machbarkeitsstudie 283Makro-Ansicht 135Mastertabelle 61MAX 263Mehrbenutzer-Datenbank 47Menge 58Mengenfunktionen 261Metadaten 51, 116Methode

partielle 484Methoden 71Middleware 50, 77, 347, 351MIN 264Mitglied 58Modell 52Modifizierende Klausel 221Multi-Value-Attribut 140

NNatural-Join 106natürlicher Primärschlüssel 99, 147NetBIOS 361Netzwerk-Datenbankmodell 57Netzwerkschicht 360nicht-exklusive Sperre 332nicht-identifizierende Beziehung 150nicht-optionale Beziehung 115Nonrepeatable Read 324Normalformen 179Normalisierung 177NOT 220N-schichtige Datenbankanwendung 76NULL 100Nullwert 209

OObjekt

Abbildung auf Tabellen 468Objekt-Initialisierer 483objektorientierte Datenbank 70objektrelationale Datenbank 73OCTET_LENGTH 269ODBC 78ODBC-Treiber 78, 79ODBC-Treiber-Manager 78OLE-DB-Provider 80operative Wartung 289optionalen Beziehung 115OR 219ORDER BY 241OSI/ISO-Modell 355Outer-Join 107, 249

PPARTIAL 240Personen 46Phantome 325physikalische Schicht 357physikalisches Design 306physikalisches Modell 137PL/SQL 63Planung 282Pointer 54POSITION 268potenzieller Schlüssel 101Präsentationsschicht 74Preorder-Durchlauf 54Primär-/Fremdschlüsselbeziehung 60Primärschlüssel 98, 145PRODUCT 108Produkt

kartesisches 243Produktivsystem 48PROJECT 109proprietäre Datei 30Prototyp 283prozedurale Sprache 63

QQBA 475QBE 475QBL 475Query By API 475Query By Example 475Query By Language 475

RRAW-Partition 45RDBMS 60RDO 79, 83redundante Daten 25

00___Datenbanken.book Seite 529 Montag, 12. September 2011 6:21 18

Page 5: Datenbanken - Grundlagen und Design

Stichwortverzeichnis

530

referentielle Integrität 101rekursive Beziehung 158Relation 95Right-Outer-Join 107, 250, 251ROLLBACK 318Rollout 288

SSchema 472Schlüssel 98Schlüsselattribut 99schwache Entität 152sekundärer Schlüssel 102Selbstbeschreibung 22SELECT 110SEQUEL 207Server 347Server-Datenbank 47Server-Prozess 341Sicherungsschicht 357Sicht 254Single-Value-Attribut 139Skalare Funktion 261Software 45Sperre 326SQL 206SQL/DS 60SQL-92 207Stringfunktion 266strukturell abhängig 33strukturelle Wartung 289SUBSTRING 266Subtyp 161SUM 265Superkey 101Supertyp 161synonym 118System Development Life Cycle 281System/R 60Systemanalyse 280System-Design 286Systementwicklung 280System-Katalog 118

TTabelle 60, 95

pro Klasse 469pro Klassenhierarchie 471pro konkreter Klasse 470

TCP/IP 360TCP/IP-Referenzmodell 358tenäre Beziehung 157Theta Join 107Thin Client 75Tool 45Transact-SQL 63

Transaktion 313transaktionales Datenbanksystem 48Transaktionsmanager 380Transaktionsprotokoll 320Transformation 279Transparenz 376Transportschicht 357, 360TRIM 267Typ

anonymer 481Typinferenz

lokale 485

Uunäre Beziehung 156UNION 110UNIQUE 239Unternehmensdatenbank 47UPDATE 259Update-Anomalie siehe Änderungs-AnomalieUPPER 267Utility 45

VVerknüpfung

logische 216Vermittlungs-/Paketschicht 357verteilte Datenbank 371verteilte Datenverarbeitung 371verteiltes Datenbanksystem 48vertikale Fragmentierung 387Vierte Normalform 193View 254vollständig funktional abhängig 99vollständig verteiltes Datenbanksystem 375

WWartung 289WHERE 224Workgroup-Datenbank 47write-ahead-Modus 384Wurzelknoten 54

ZZeichenkette 208Zeiger 54zentrales Datenbanksystem 48zusammengesetzter Primärschlüssel 146Zwei-Phasen-Commit-Protokoll 383Zwei-Phasen-Locking-Protokoll 333Zweischichtige Datenbankanwendung 74Zweite Normalform 184Zwischen-Entität 160

00___Datenbanken.book Seite 530 Montag, 12. September 2011 6:21 18