31
Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini, Ceri, Navathe, ‘Conceptual Database Design’, The Benjamin/Cummings Pub., 1992 ISBN 0-8053-0244-1 Part I: Kapitel 1 und Kapitel 2

Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

  • Upload
    vankiet

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-1

KONZEPTUELLES DATENBANKEN-DESIGN

Batini, Ceri, Navathe, ‘Conceptual Database

Design’, The Benjamin/Cummings Pub., 1992

ISBN 0-8053-0244-1

Part I: Kapitel 1 und Kapitel 2

Page 2: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-2

Methode des Datenbanken-Designs

• Eine Folge von Schritten, um eine Menge von

Anforderungen in ein logisches und ein physikalisches

Schema zu transformieren.

• Eine präzise Definition der Qualität der ausgegeben

Ergebnisse.

• Werkzeuge, Techniken und Strategien, um die

Transformationen zu unterstützen, mit dem Ziel die

erwartete Qualität an Ergebnissen zu bekommen.

Page 3: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-3

DurchführbarkeitsAnalyse

Anforderungs-Analyse

Design

Prototyping Implementierung

Validierungund Tests

Betrieb

Lebenszyklus eines Informationssystems

Page 4: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-4

Bank Kunde Konto

Geld

Geschäftswissen

Anforderungen1. .... 2. .... 3. ....

Schema Datenbank

Bank-Experte

Software-Ingenieur

Page 5: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-5

Beispiel-Anforderungen einer Bank

• Es werden Daten über Kunden, Konten, Buchungen, Filialen, Abteilungen und Mitarbeiter gespeichert.

• Jeder Kunde hat eine Anschrift.

• Es gibt verschiedene Arten von Konten: Girokonto, Kreditkonto und Anlagekonten.

• Girokonten können nur um einen bestimmten Betrag (Limit, Dispokredit) überzogen werden.

• Kreditkonten haben einen festen Zinssatz.

• Kunden kann ein Kredit- und/oder ein Anlageberater zugeteilt sein.

• Ein Kunde hat seine Konten bei einer bestimmten Filiale.

• Eine Filiale/Abteilung hat Mitarbeiter.

• Eine Filiale/Abteilung hat einen Leiter.

• Jeder Mitarbeiter arbeitet in einer bestimmten Filiale/Abteilung.

• Jeder Mitarbeiter hat eine feste Position mit bestimmten Aufgaben.

• …

Page 6: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-6

Phasen des Datenbanken-Designs

Konzeptuelles Design

• Eingabe: Anforderungen

• Ausgabe: Eine DBMS unabhängige high-level

Repräsentation der Anforderungen, das

"konzeptuelle Schema".

• Qualität: Richtigkeit und Lesbarkeit der

Repräsentation.

Logisches Design

• Eingabe: Konzeptuelles Schema.

• Ausgabe: Ein logisches Schema, das dem

Datenmodell des DBMS entspricht.

• Qualität: Richtigkeit der Übersetzung, Effizienz

des Schemas in Bezug auf Transaktionen.

Page 7: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-7

Physikalisches Design

• Eingabe: Logisches Schema.

• Ausgabe: Ein physikalisches Schema für ein

spezielles DBMS.

• Qualität: Performanz.

Page 8: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-8

Daten &Anforderungen

KonzeptuellesDesign

KonzeptuellesSchema

LogischesDesign

PhysischesSchema

LogischesSchema

PhysischesDesign

Datenbezogener Ansatz für das Datenbanken-Design

Page 9: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-9

Konzeptuelles Schema:

Eine Beschreibung der Datenbankstruktur auf höherer

Ebene, unabhängig von der Implementierung der

DBMS-Software (Datenobjekte, Beziehungen, etc.).

Logisches Schema:

Eine Beschreibung der Datenbankstruktur, die von der

DBMS-Software verwendet werden kann (Relationen,

Domänen, etc.).

Physisches Schema:

Eine Beschreibung der Implementierung der Datenbank

im Sekundärspeicher (Speicherstrukturen und

Zugriffsmethoden).

Page 10: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-10

Eigenschaften des konzeptuellen Designs

• Eine große Menge an Abstraktionen, Teil des

konzeptuellen Datenmodells.

• Verschiedene Design Strategien sind verfügbar für:

− Schema Design

− Schema Integration

− Schema Restrukturierung

− Schema Pflege

• Saubere Schnittstellen zu

− Funktionaler Analyse und Design

− Logischem Design

− Verteiltem Design

Page 11: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-11

Abstraktionen im konzeptuellen Datenbank-Design

Abstraktion ist ein gedanklicher Prozess, der benutzt

wird, um einige Eigenschaften einer Menge von

Objekten in den Vordergrund zu bringen. Andere

Eigenschaften werden dabei vernachlässigt.

Im konzeptuellen Design werden drei Arten von

Abstraktionen benutzt:

• Klassifikation

• Aggregation

• Generalisierung

Begriffe:

Objekttypenebene = Objektklassenebene = Schema

Objektebene = Exemplarebene (Instance-level)

Page 12: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-12

Klassifikation (Classification)

Die Klassifikation definiert ein Konzept für eine Klasse

von Objekten der realen Welt, die durch gemeinsame Eigenschaften gekennzeichnet sind.

MONAT

Januar Februar Dezember…

IS_MEMBER_OF

Jedes Objekt der realen Welt kann mehreren Klassen

angehören:

TISCH STUHL WEISSE MÖBEL SCHWARZE MÖBEL

schwarzerTisch

weisserTisch

schwarzerStuhl

weisserStuhl

Page 13: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-13

Beispiel 2:

Zusammenfassung von „Angestellter Müller“,

„Angestellter Meier“ zur Klasse „Angestellter“.

ANGESTELTER

Meier Müller

Page 14: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-14

Aggregation:

Eine Aggregation definiert eine neue Klasse K aus

einer Menge M von Klassen. Die Objekte aus K werden

durch Verbindungen von Objekten aus den Klassen, die

in M enthalten sind, repräsentiert.

FAHRRAD

RAD PEDAL LENKER

IS_PART_OF

LIVES-IN

PERSON HOUSE

Konventionelle Record-Strukturen basieren nur auf

Klassifikation und Aggregation:

• Ein Record ist eine Aggregation von Feldern.

• Ein Feld ist eine Klasse von Werten.

Page 15: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-15

Generalisierung: Die Generalisierung definiert eine

Untermengenbeziehung zwischen Elementen von zwei

(oder mehr) Klassen, indem Gemeinsamkeiten

hervorgehoben und Unterschiede vernachlässigt

werden.

PERSON

MANN FRAU

IS_A(subset of)

Generalisierung besitzt die Eigenschaft der Vererbung

(Inheritance):

Alle Abstraktionen einer generischen Klasse werden von

den Subklassen geerbt.

PERSON

MANN FRAU

Wehrdienst

Name

Page 16: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-16

PERSON NAME

ALTER

STUDENT PROFESSOR

Matr. Nr.

Zicari Kunz Drobnik Krömker

Lehrstuhl

Page 17: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-17

Eigenschaften der Abbildungen zwischen Klassen

Aggregation und Generalisierung sind Abbildungen

zwischen Klassen.

• Binäre Aggregationen

• N-näre Aggregationen

• Generalisierungen

Page 18: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-18

Binäre Aggregationen

Abbildungen zwischen 2 Klassen!

USES

PERSON BUILDING

• p1

• p2

• p3

• b1

• b2

• b3

• b4

USES

Page 19: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-19

OWNS

PERSON BUILDING

A

C1 C2

min (C1, A) = 0 max (C1, A) = 1, n

min (C2, A) = 1 max (C2, A) = 1, m

• p1

• p2

• p3

• b1

• b2

• b3

• b4

OWNS

C1

C2

Page 20: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-20

Kardinaltitäten

• Minimale Kardinalität (min-card)

min-card(C,A): die kleinste Anzahl von Abbildungen A

an denen jedes Element von C teilnehmen kann.

• min-card(C,A) = 0 : optionale Teilnahme

• min-card(C,A) = 1 : verbindliche Teilnahme

• Maximale Kardinalität (max-card)

max-card(C,A): die maximale Anzahl von Abbildungen

A an denen jedes Element von C teilnehmen kann.

• max-card(C,A) = 1 : one-mapping

• max-card(C,A) = m: many-mapping

Page 21: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-21

• one-to-one

max-card(C1,A) = 1 und max-card(C2,A) = 1

• p1

• p2

• p3

• b1

• b2

• b3

• b4

C1 C2

• one-to-many

max-card(C1,A) = n und max-card(C2,A) = 1

• p1

• p2

• p3

• b1

• b2

• b3

• b4

C1 C2

Page 22: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-22

• many-to-one

max-card(C1,A) = 1 und max-card(C2,A) = n

• p1

• p2

• p3

• b1

• b2

• b3

• b4

C1 C2

• many-to-many

max-card(C1,A) = n und max-card(C2,A) = m

• p1

• p2

• p3

• b1

• b2

• b3

• b4

C1 C2

Page 23: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-23

N-näre Aggregationen

Abbildungen zwischen drei oder mehr Klassen.

findet statt

Kurs Tag Raum

Kardinalitäten sind analog zu binären Aggregationen

definiert.

Fall 1:

min_card (Kurs, findet_statt) = 1

max_card (Kurs, findet_statt) = 3

Jeder Kurs kann in einer Woche zwischen ein und

dreimal stattfinden.

Page 24: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-24

Fall 2:

min_card (Tag, findet_statt) = 0

max_card (Tag, findet_statt) = n

Jeden Tag können beliebig viele Kurse stattfinden.

Fall 3:

min_card (Raum, findet_statt) = 0

max_card (Raum, findet_statt) = 40

In Jedem Raum können in einer Woche höchstens 40

Kurse stattfinden.

Page 25: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-25

Generalisierungen

PERSON

MANN FRAU

Person

Mann Frau

Mann Frau

Page 26: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-26

Überdeckung (coverage) von Generalisierungen

• Die Überdeckung einer Generalisierung ist vollständig (total), wenn jedes Element der generischen Klasse zu

mindestens einer Unterklasse abgebildet wird.

• Die Überdeckung einer Generalisierung ist partiell (partial), wenn es Elemente der generischen Klasse

gibt, die nicht zu einer Unterklasse abgebildet werden.

Page 27: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-27

• Die Überdeckung einer Generalisierung ist disjunkt (exclusive), wenn jedes Element der generischen

Klasse zu höchstens einer Unterklasse abgebildet

wird.

• Die Überdeckung einer Generalisierung ist

überlappend (overlapping), wenn es Elemente der

generischen Klasse gibt, die zu mehreren

Unterklassen abgebildet werden.

Page 28: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-28

PERSON

MANN FRAU

Mann Frau

vollständig, disjunkt

PERSON

MANN ANGESTELLTER

Mann

Angestellter

partiell, überlappend

Fahrzeug

Auto Fahrrad

Auto Fahrrad

partiell, disjunkt

Spieler

Fußball Tennis

Fußball Tennis

vollständig, überlappend

Page 29: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-29

Datenmodelle:

• Datenmodell

Eine Sammlung von Konzepten zur Beschreibung

einer Datenmenge mit den Operationen, die diese

Datenmenge manipulieren können.

• Schema

eine teilweise Repräsentation der Realität, die durch

die Benutzung eines Datenmodells erzeugt wird. Es ist

eine statische zeitinvariante Sammlung von

sprachlichen oder graphischen Darstellungen, die die

Struktur der Daten beschreiben.

Beispiel für ein Schema:

NAME ADRESSE PERSONALAUSWEIS-NUMMERPERSON

AUTOKENNZEICHEN HERSTELLER FARBE

BESITZTPERSONALAUSWEIS-NUMMER KENNZEICHEN

Page 30: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-30

• Instanz

Eine dynamische, zeitvariante Sammlung von Daten,

die der durch das Schema definierten Datenstruktur

angepasst sind.

PERSONWilli MüllerVera OttoKlaus Umweg

Sackgasse 12, 61234 WestheimParkalle 4, 03241 NorddorfBahnhofstr. 423, 87876 Bad Appel

387-6713-362342-6576-777639-6354-753

AUTOWH - AD 456NDF - XX 604BDA - EF 2BDA - N 815

OpelPorscheFordVW

WeißGrünGelbRot

387-6713-362342-6576-777639-6354-753639-6354-753

WH - AD 456NDF - XX 604BDA - EF 2BDA - N 815

BESITZT

Page 31: Grundlagen der Datenbanksystem I - Konzeptuelles Datenbank ... · Konzeptuelles Design von Datenbanken Grundlagen der Datenbanksysteme I II-1 KONZEPTUELLES DATENBANKEN-DESIGN Batini,

Konzeptuelles Design von Datenbanken

Grundlagen der Datenbanksysteme I II-31

Eigenschaften des konzeptuellen Modells

• Ausdruckskraft (Expressiveness). Konzeptuelle

Modelle unterscheiden sich in der Zahl der

unterstützten Modellierungsstrukturen. Generell

gilt, dass die Ausdruckskraft eines Modells mit der

Zahl der unterstützten Strukturen steigt.

• Einfachheit (Simplicity). Ein konzeptuelles Modell

muss einfach zu lesen sein. Einfachheit und

Ausdruckskraft sind widersprüchliche Ziele.

• Minimalität (Minimality). Diese Eigenschaft ist

gegeben, wenn kein Konzept durch Komposition

anderer Konzepte dargestellt werden kann.

• Formalität (Formality). Alle Konzepte eines Modells

haben eine einheitliche, präzise und wohldefinierte

Interpretation. Formale Konzepte können

mathematisch manipuliert werden.