datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der...

21
Vorlesung Datenbanken Wintersemester 2013/14 Vorlesung Datenbanken im Wintersemester 2013/14 Prof. Dr. Dietmar Seipel Universität Würzburg Prof. Dr. Dietmar Seipel

Transcript of datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der...

Page 1: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Vorlesung Datenbanken

im Wintersemester 2013/14

Prof. Dr. Dietmar Seipel

Universität Würzburg

Prof. Dr. Dietmar Seipel

Page 2: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Adress

BirthDate

Relationship

SexName

DEPENDENT

DEPENDENTS_OFNumber

Name

RROJECT

CONTROLS

DEPARTMENTStartdate NumberOfEmployees

WORKS_FOR

EMPLOYEE

SUPERVISION

BDate

SSN

Name

SalarySex

MANAGES

WORKS_ON

Hours

superviseesupervisor

1

1

1

1

1

N

N

N

N

1

NM

LName

Minit

FName

Location

Name

Number

Locations

Prof. Dr. Dietmar Seipel

Page 3: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Inhaltsverzeichnis

1 Grundkonzepte von Datenbanken 1

1.1 Datenbanken und ihre Benutzer. . . . . . . . . . . . . . . . . 1

1.1.1 Beispiel: die UNIVERSITY–Datenbank . . . . . . . . 4

1.1.2 Charakteristika des Datenbankansatzes. . . . . . . . 12

1.1.3 Datenbank–Benutzer. . . . . . . . . . . . . . . . . . 16

1.1.4 Vorteile und Nachteile des Datenbankansatzes. . . . . 19

1.2 Das Entity–Relationship–Modell. . . . . . . . . . . . . . . . 21

1.2.1 Grundbegriffe. . . . . . . . . . . . . . . . . . . . . . 21

1.2.2 Erweiterungen des ER–Modells. . . . . . . . . . . . 42

1.2.3 Beispiel: die COMPANY–Datenbank. . . . . . . . . . 55

Prof. Dr. Dietmar Seipel iii

Page 4: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

2 Das Relationenmodell: Sprachen und Systeme 65

2.1 Grundlegende Definitionen. . . . . . . . . . . . . . . . . . . 65

2.2 Relationale Algebra. . . . . . . . . . . . . . . . . . . . . . . 82

2.3 Die relationale Datenbanksprache SQL. . . . . . . . . . . . . 97

2.3.1 Datendefinition in SQL. . . . . . . . . . . . . . . . . 97

2.3.2 Anfragen in SQL. . . . . . . . . . . . . . . . . . . . 116

2.3.3 Update–Statements in SQL. . . . . . . . . . . . . . . 172

2.3.4 Views (Sichten) in SQL . . . . . . . . . . . . . . . . 178

2.3.5 Zusätzliche Bedingungen. . . . . . . . . . . . . . . . 187

2.3.6 Indexe in SQL . . . . . . . . . . . . . . . . . . . . . 188

2.3.7 Java Database Connectivity (JDBC). . . . . . . . . . 190

Prof. Dr. Dietmar Seipel iv

Page 5: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

3 Datenbankentwurf im Relationenmodell 194

3.1 Informelle Design–Richtlinien und Update–Anomalien. . . . 195

3.2 Funktionale Abhängigkeiten. . . . . . . . . . . . . . . . . . 204

3.3 Normalformen. . . . . . . . . . . . . . . . . . . . . . . . . . 252

3.4 Mehrwertige und Verbund–Abhängigkeiten. . . . . . . . . . 268

3.5 Verlustfreie Zerlegungen. . . . . . . . . . . . . . . . . . . . 297

3.5.1 BCNF–Dekomposition. . . . . . . . . . . . . . . . . 305

3.5.2 3NF–Synthese. . . . . . . . . . . . . . . . . . . . . 318

3.6 Azyklische Datenbankschemata. . . . . . . . . . . . . . . . 354

Prof. Dr. Dietmar Seipel v

Page 6: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

4 Transaktionen und Recovery 440

4.1 Transaktionsverwaltung. . . . . . . . . . . . . . . . . . . . . 441

4.1.1 Das Synchronisationsproblem. . . . . . . . . . . . . 442

4.1.2 Operationen, Log–Buch. . . . . . . . . . . . . . . . 450

4.1.3 Das ACID–Prinzip. . . . . . . . . . . . . . . . . . . 458

4.1.4 Transaktionen, Schedules und Serialisierbarkeit. . . . 467

4.2 Concurrency Control. . . . . . . . . . . . . . . . . . . . . . 513

4.2.1 Das Zwei–Phasen–Sperrprotokoll. . . . . . . . . . . 518

4.2.2 Deadlocks. . . . . . . . . . . . . . . . . . . . . . . . 530

4.2.3 Zeitstempelverfahren. . . . . . . . . . . . . . . . . . 538

4.2.4 Mehrversionen–Scheduling–Verfahren. . . . . . . . . 546

4.3 Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551

Prof. Dr. Dietmar Seipel vi

Page 7: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

5 Data Warehouses and Data Mining 554

5.1 Data Warehouses, Decision Support, and OLAP. . . . . . . . 554

5.1.1 Online Analytical Processing (OLAP). . . . . . . . . 556

5.1.2 Queries in a Star Schema: Star Joins. . . . . . . . . . 565

5.2 Data Mining. . . . . . . . . . . . . . . . . . . . . . . . . . . 591

5.2.1 Classification. . . . . . . . . . . . . . . . . . . . . . 593

5.2.2 Association Rules. . . . . . . . . . . . . . . . . . . 656

5.2.3 Clustering. . . . . . . . . . . . . . . . . . . . . . . . 717

Prof. Dr. Dietmar Seipel vii

Page 8: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

6 XML Data Modelling 747

6.1 XML Data and Schema Description. . . . . . . . . . . . . . 750

6.2 Relational Databases and XML . . . . . . . . . . . . . . . . . 774

6.3 The XML Query Language XQuery. . . . . . . . . . . . . . 794

7 Web Databases 837

7.1 Access to Web Databases by Servlets. . . . . . . . . . . . . . 838

7.2 Java Server Pages . . . . . . . . . . . . . . . . . . . . . . . 850

7.3 Web Database Connections in PHP . . . . . . . . . . . . . . . 859

Prof. Dr. Dietmar Seipel viii

Page 9: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

8 Extended Database Concepts 869

8.1 Deductive Databases and Logic Programming. . . . . . . . . 870

8.1.1 PROLOG as a Database Language. . . . . . . . . . . 878

8.1.2 The Deductive Database System DDBASE . . . . . . 894

8.1.3 PROLOG as a Programming Language. . . . . . . . . 904

8.2 Semantic Web Databases. . . . . . . . . . . . . . . . . . . . 923

8.3 Object–Oriented Databases. . . . . . . . . . . . . . . . . . . 942

8.3.1 Complex Objects. . . . . . . . . . . . . . . . . . . . 944

8.3.2 Features of Object–Orientation. . . . . . . . . . . . . 951

8.3.3 Examples: COMPANY and UNIVERSITY Database . . 959

Anhang 979

Prof. Dr. Dietmar Seipel ix

Page 10: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Überblick• Gegenwärtig werden die Datenbestände in größeren

Informationssystemen meist in relationalen Datenbanken verwaltet.

Verbreitete Systeme sind z.B. DB2 (von IBM), Oracle und die freien

Systeme MySQL und POSTGRESQL.

• Die strukturelle Modellierung der Anwendungsdaten erfolgt meist im

Entity–Relationship–Modell (ER–Modell), welches sodannins

relationale Modell abgebildet wird. Mit Hilfe von Normalformen wird

die Struktur der Relationen bewertet und weiter verbessert.

• Der Datenzugriff im relationalen Modell erfolgt mittels der Structured

Query Language (SQL).

• Neben dem relationalen Datenmodell gewinnt zur Zeit das ausdem

WWW bekannte XML–Datenmodell stark an Bedeutung.

Prof. Dr. Dietmar Seipel x

Page 11: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Grundlagen

• Eine Datenbank integriert die Daten verschiedener Benutzer

(Datenintegration). Das Datenbankmanagementsystem (DBMS) stellt

Mechanismen zur Verfügung, die die Eingabe inkorrekter Daten

verhindern (Datenkonsistenz).

• Jeder Benutzer kann sich mittels des Systemkatalogs über die Struktur

der Datenbank informieren. Der Zugriff auf den Systemkatalog erfolgt

genau wie der eigentliche Datenzugriff auf der sehr abstrakten Ebene

von Relationen. Die tatsächliche, interne Repräsentationder Daten im

DBMS wird verborgen (Datenabstraktion und Datenunabhängigkeit).

Prof. Dr. Dietmar Seipel xi

Page 12: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

• Das DBMS stellt sicher, daß die Konsistenz der Daten beim parallelen

Zugriff verschiedener Benutzer erhalten bleibt

(Transaktionsverwaltung), und daß bei Systemabstürzen keine Daten

verloren gehen (Recovery, Datensicherheit). Außerdem wird über

Zugriffsrechte der Datenschutz gewährleistet.

• Die Verwendung von Datenbanken ermöglicht also die Datenintegration,

und sie verkürzt die Entwicklungszeiten für größere Informationssyteme

deutlich.

Prof. Dr. Dietmar Seipel xii

Page 13: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Datenmodellierung im ER–Modell

• Die erste Modellierung erfolgt im Entity–Relationship–Modell(ER–Modell), welches gleichartige Objekte der realen WeltalsEntity–Typen modelliert und die Beziehungen dazwischen alsRelationship–Typen. Die Entities und Relationships werden durchAttribute beschrieben.

• Man verwendet hauptsächlich die graphische Veranschaulichung inForm von ER–Diagrammen. Ähnliche Konzepte werden mittlerweileauch bei der objektorientierten Modellierung auf der Basisder UnifiedModelling Language (UML) verwendet.

• Es gibt eine generische Abbildung vom ER–Modell insRelationenmodell, bei der sowohl die Entity–Typen als auchdieRelationship–Typen als Relationenschemata zusammen mit Schlüssel–bzw. Fremdschlüsselbedingungen repräsentiert werden.

Prof. Dr. Dietmar Seipel xiii

Page 14: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Datenbankzugriff im Relationenmodell

• Der Zugriff auf die Daten erfolgt über die Structured Query Language

(SQL). Die Abarbeitung der SQL–Anfragen erfolgt intern über

Operationen auf den Relationen (relationale Algebra).

• Es gibt SQL–Befehle für das Erzeugen und Löschen (CREATE , DROP)

von Datenbanken bzw. Tabellen (Relationen), für das Einfügen und

Verändern der Tabellen (I NSERT, DELETE , UPDATE) und für den

eigentlichen Datenzugriff (SELECT ). BeimSELECT –Statement kann

man verschiedene Tabellen verknüpfen (Join), und man kann Gruppen

bilden und über diese aggregieren.

• SQL kann aus Programmiersprachen wieJava heraus aufgerufen werden

(Java Database Connectivity, JDBC).

Prof. Dr. Dietmar Seipel xiv

Page 15: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Datenmodellierung im Relationenmodell

• Ein Relationenschema besteht aus einer Menge von Attributen und einer

Menge von strukturellen Bedigungen (Datenabhängigkeiten). Eine

Relation (Tabelle) ist eine Menge von Tupeln (Zeilen). JedeZeile besitzt

einen Eintrag pro Attribut (Spalte).

• Bei der Datenmodellierung gibt es informelle Design–Richtlinien,

welche die Übersichtlichkeit des Entwurfs, die Vermeidungvon

Redundanz, Update–Anomalien und Nullwerten, sowie die korrekte

Verknüpfung von zerlegten Tabellen betreffen.

• Als formales Konzept werden Normalformen verwendet. Der Entwurf

soll möglichst ein Datenbankschema in dritter Normalform (3NF)

liefern, eventuell sogar in Boyce–Codd–Normalform (BCNF), da diese

Normalformen die informellen Design–Richtlinien sehr gutumsetzen.

Prof. Dr. Dietmar Seipel xv

Page 16: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

• Die Normalformen basieren auf dem Konzept der funktionalen

Abhängigkeiten; die einfachste funktionale Abhängigkeitist die

Schlüsselabhängigkeit, welche darin besteht, daß ein Teilder Attribute,

der dann Schlüssel genannt wird, bereits ausreicht um ein Tupel

eindeutig zu identifizieren.

• Auf der Basis der bekannten funktionalen Abhängigkeiten kann eine

Relation in mehrere Relationen in 3NF bzw. BCNF zerlegt werden, so

daß sie aus diesen verlustfrei mit Hilfe von Joins (meist über

Fremdschlüssel) rekonstruiert werden kann.

• Zur Zelegung in 3NF bzw. BCNF verwendet man den Synthese– bzw.

den Dekompositions–Algorithmus.

Prof. Dr. Dietmar Seipel xvi

Page 17: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Transaktionen und Recovery

• Für den Mehrbenutzerbetrieb ist es erforderlich, daß die Transaktionen

nach einem genau definierten Protokoll auf die Datenbank zugreifen.

• Durch das ACID–Prinzip wird garantiert, daß Transaktionenselbst beim

parallelen Datenbankzugriff einen konsistenten Datenbankzustand

hinterlassen.

• Das Zwei–Phasen–Sperrprotokoll sperrt die von einer Transaktion

benötigten Datenbankobjekte geeignet für andere Transaktionen.

• Die Zeitstempelverfahren markieren die Datenbankobjektemit

Zeitstempeln, so daß eine Transaktion – im wesentlichen – nur

Datenbankobjekte bearbeiten darf, die von älteren Transaktionen

markiert wurden.

Prof. Dr. Dietmar Seipel xvii

Page 18: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Data Warehouses and Data Mining

• The data of transactional databases are collected in a data warehouse for

further analysis.

• The data are frequently organized in a star schema with a hugefact table

in the center.

• In Online Analytical Processing (OLAP), aggregation queries are posed

to the data warehouse.

• Data Mining tries to discover certain patterns in the data tosupport

decision making.

• There are three major methods for data mining: classification,

association rules, and clustering.

Prof. Dr. Dietmar Seipel xviii

Page 19: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

XML Data Modelling

• Nowadays, complex data are frequently stored in XML documents, and

in this form, they can be exchanged between different applications or

users. Thus, also many relational database managements systems offer

XML extensions.

• Certain simple, flat XML schemas exactly correspond to relational data

modelling. But the representation of complex, nested data structures is

supported much better and more natural by XML .

• There are suitable query and modification languages for XML

dcouments/databases (XQUERY, XUPDATE), which are all based on the

path allocation language XPATH.

Prof. Dr. Dietmar Seipel xix

Page 20: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Web Databases

• Dynamic web pages are frequently generated from relationaldatabases.

• SQL code can be embedded in almost all standard host programming

languages.

• Database applications on the web are frequently implemented based on

Java, Javascript, or PHP.

• Java Server Pages and Java Server Faces embedd Java code in

HTML–based web pages.

Prof. Dr. Dietmar Seipel xx

Page 21: datenbanken - pub.informatik.uni-wuerzburg.de · • Die Normalformen basieren auf dem Konzept der funktionalen Abhängigkeiten; die einfachste funktionale Abhängigkeit ist die Schlüsselabhängigkeit,

Vorlesung Datenbanken Wintersemester 2013/14

Weiterführende Themengebiete

• optimierte Auswertung von Datenbankanfragen:

Indexstrukturen, Join–Optimierung

• weitere Datenbankanfragesprachen: QBE, DATALOG

• Nicht–Standard–Datenbanksysteme:

objektorientierte, deduktive und aktive Datenbanken

• frühere Datenbankstrukturen:

hierarchische Datenbanken und Netzwerk–Datenbanken

• NoSQL–Datenbanken (not only SQL)

Prof. Dr. Dietmar Seipel xxi