karczewskidatenbanken i1 2. semantische datenmodellierung datenmodell: system von konzepten zur...

30
Karczewski Datenbanken I 1 2. Semantische Datenmodellierung ell: System von Konzepten zur Beschreibung relevanter Daten kmodell: System von Konzepten zur Beschreibung von Datenbanksystemen (hierarchisches, Net relationales, objektorientiertes Model ellierung: Erstellung von Datenbankschemata, deren Syntax und Semantik durch das zugrunde lieg Datenbankmodell festgelegt sind

Upload: renate-zenk

Post on 05-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 1

2. Semantische Datenmodellierung

Datenmodell: System von Konzepten zur Beschreibung relevanter Daten

Datenbankmodell: System von Konzepten zur Beschreibung von Datenbanksystemen (hierarchisches, Netzwerk-, relationales, objektorientiertes Modell)

Datenmodellierung: Erstellung von Datenbankschemata, deren Syntax und Semantik durch das zugrunde liegende Datenbankmodell festgelegt sind

Page 2: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 2

Prinzipielle Vorgehensweise beim Datenbankentwurf

Ausschnitt aus der Realwelt

(Miniwelt)

DatenbankschemaDatenmodellierung

Parallel zum Datenmodellierung erfolgt der Funktionsentwurf -> Veranstaltung Softwaretechnik

Page 3: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 3

Datenbank-Entwurfsprozess (1)

• Planung

• Analyse

• Design

• Implementierung

Page 4: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 4

Datenbank-Entwurfsprozess (2)

Vgl. Bild 2-2

Tafelbild

Page 5: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 5

• erweitertes Entitity-Relationship-Modell (eERM)

• Klassendiagramm der Unified Modelling Language (UML)

• Darstellung von Äquivalenzen

• Transformation vom eERM zum UML-Klassendiagramm

Grundlagen der Datenmodellierung

Page 6: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 6

Unser Beispiel

Ein erstes Beispiel: Produktdaten einer Keramischen Werkstatt

Bezeichnung: Teekanne

Glasur: graublau

Dekor: Wichtel

Preis: 59,00

...

Page 7: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 7

Unser Beispiel

• Weitere Informationen:

• Bestellungen• Dekore auf Produkten (z. B. Teekannen)• Glasuren• Rohstoffe• Märkte• Geschäftspartner wie• Kunden• Händler• Spediteure• Veranstalter

Page 8: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 8

Kunde

erweitertes Entity-Relationship-Modell

Objekttyp (Entity Typ):

• Entity ist ein Objekt der realen Welt

• Entity-Typ ist Repräsentant aller Objekte gleichen Typs

• Entity-Typ wird durch ein Rechteck dargestellt

• Rechteck enthält Namen des Entity-Typs im Singular

Page 9: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 9

8bestellt oder

8: bestellt

erweitertes Entity-Relationship-Modell

Beziehungstyp (Relationship Typ):

• Relationship beschreibt, wie Entitäten untereinander assoziiert sind

• Relationship Typ ist Repräsentant aller Beziehungen gleichen Typs

• Relationship Typ wird durch eine Raute dargestellt

• Raute enthält Namen des Relationship Type

Page 10: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 10

erweitertes Entity-Relationship-Modell

Attribut: Kunde Nachname

Adresse

Strasse

Stadt

PLZ

• Attribute beschreiben Eigenschaften von Entity- oder Relationship-Typen

• Attribut wird durch abgerundetes Rechteck dargestellt

• Komplexe Attribute können durch Auflistung ihrer elementaren Datentypen in Ovalen dargestellt werden

• Attribute werden mitunter nur textuell dargestellt Bsp: Kunde (Nachname, Adresse)

Page 11: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 11

erweitertes Entity-Relationship-Modell

Dekor Produkt5

5: ist versehen mit

(0,*) (0,1)

Jedes Produkt wird mit keinem oder einem Dekor versehen.

Zu einem Dekor gibt es (möglicherweise) kein Produkt oder beliebig viele.

Kardinalität

Binärer Beziehungstyp:

Page 12: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 12

Konkrete Beziehungen

Sonnenblume

Wichtel

Kaffeekanne K

Kaffeetasse S

Teetasse S

Teekanne S

Kaffeetasse S

Kaffeetasse K

Fische

• Anzahl der Linien zwischen konkreten Dekors und konkreten Produkten lässt Rückschlüsse auf Kardinalität ziehen

• Kardinalität gibt mögliche (auch zukünftige) Mengen an konkreten Beziehungen an

. . .

. . .

Dessertteller

Page 13: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 13

Produkt

4

(0,*)(0,*)

Produktgruppe

Teilprodukt

erweitertes Entity-Relationship-Modell

Rekursiver binärer Beziehungstyp:

4: besteht aus

• Produkt besteht aus keinen oder mehreren Teilprodukten• Produkt gehört zu keiner oder mehreren Produktgruppen• Teilprodukt und Produktgruppe sind Rollen, in denen Produkte vorkommen können

Page 14: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 14

Markt

8

(0,*)

Kunde

(0,*)

Produkt

(0,*)

erweitertes Entity-Relationship-Modell

ternärer Beziehungstyp:

8: bestellt

„Kunden bestellen Produkte auf Märkten“

Merkmal: Beziehung tritt zwischen Entitäten dreier Entity-Typen gleich-zeitig auf

Page 15: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 15

Verschiedene Schreibweisen der Kardinalitäten und ihre Interpretation

Vergleich eERM und UML-Klassendiagramms. Tafel

erweitertes Entity-Relationship-Modell

Page 16: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 16

Geschäftspartner

Händler Spediteur

D

VeranstalterKunde

Andere Darstellungsweisen:

Geschäftspartner

Händler

ist

Händler

Geschäftspartner

. . . . . .

erweitertes Entity-Relationship-Modell

Generalisierung/Spezialisierung:

Page 17: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 17

O

Totale Spezialisierung:

Jede Instanz des Supertyps entspricht mindestens einem Subtyp (Doppelstrich).

Partielle Spezialisierung:

Nicht jede Ausprägung des Supertyps wird notwendigerweise spezialisiert (einfacher Strich).

Überlappende Spezialisierung:

Eine Instanz eines Supertyps kann zu mehreren Subtypen gehören, die Spezialisierung ist überlappend / overlapping (O im Dreieck).

Disjunkte Spezialisierung:

Eine Instanz eines Supertyps kann zu maximal einem Subtyp gehören (D im Dreieck).

D

O

D

erweitertes Entity-Relationship-Modell

Page 18: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 18

Different Inheritance structures

• disjoint and complete

• disjoint and incomplete

• overlapping and complete

• overlapping and incomplete

Page 19: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 19

Instrument

WindInstrument PercussionInstrument

Disjoint and Complete

WindInstrument

PercussionInstrument

There are no instruments which areneither Wind- nor PercussionInstrument.

There are no instruments which aresimultaneously Wind- and Percussion-Instrument

{disjoint, complete}

abstract class

Page 20: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 20

Instrument

WindInstrument PercussionInstrument

Disjoint and Incomplete

WindInstrument

PercussionInstrument

There are some instruments which areneither Wind- nor PercussionInstrument.

There are no instruments which aresimultaneously Wind- and Percussion-Instrument

{disjoint, incomplete}

Normal (not abstract) class

Page 21: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 21

WindInstrument KeyboardInstrument

Overlapping and Complete

WindInstrument KeyboardInstrument

There are no instruments which areneither Wind- nor KeyboardInstrument.

There are some instruments which aresimultaneously Wind- and Keyboard-Instrument.

{overlapping, complete}

abstract classInstrument

Page 22: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 22

WindInstrument KeyboardInstrument

Overlapping and Incomplete

There are some instruments which areneither Wind- nor KeyboardInstrument.

There are some instruments which aresimultaneously Wind- and Keyboard-Instrument

{overlapping, incomplete}

Normal (not abstract) class

WindInstrument KeyboardInstrument

Instrument

Page 23: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 23

Overlapping and Incomplete

Overlapping can be solved by defining a new class. This class contains all elements of the former intersection set.

WindInstrument

KeyboardInstrument

AccordionInstrument

WindInstrument KeyboardInstrument

{disjoint, complete}

AccordionInstrument

Is there an alternative model? How can incompleteness be solved?

Instrument

Page 24: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 24

Geschäftspartner

Rohstoffe Produkte

Märkte

Vorgehensweise beim Entwurf:

Entwurf der Teilsysteme z. B.:

Anschließend:

Zusammenfügen der Teilsysteme

oder:

Ausgehend von einem Objekt bzw. einem Teilsystem:

Entwurf des Gesamtsystems

(Frage stellen: zu welchen Objekten gibt es welche Beziehungen) zusätzlich Markt

zusätzlich Produkt

zusätzlich Rohstoff

. . .

Geschäftspartner

Beispiel Keramische Werkstatt

Page 25: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 25

Rohstoff

1

(1,*) (1,*)

(1,*)

Händler Spediteur

Rohstoff

1

Händler Spediteur

Rohstoff

Händler Spediteur

1: liefert (Bestelldatum, Lieferdatum, Preis, Menge)

Teilsystem Rohstoffe

1. Analyse, welche Enity-Typen mit-einander in Be-ziehung stehen

2. Analyse, wie der Relationship-Typ bezeichnet wird und welche Attribute er besitzt

3. Analyse, welche Kardinalitäten der Relationship-Typ hat

Page 26: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 26

Geschäftspartner

Händler Spediteur

O

VeranstalterKunde

Typ7

(0,*)

Produkt

(0,*)

Attribut-Spezialisierung

Beziehungs-Spezialisierung

Teilsystem Geschäftspartner

Page 27: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 27

Teilsystem Produkt

Dekor

Glasur 6

5

Produkt

4

(0,*)

(0,*)

(1,1)

(0,1)

(0,*)(0,*)

4: besteht aus (Anzahl)5: ist versehen mit6: ist glasiert mit

Dekor: (Bezeichnung, Foto)Glasur: (Oberflächenstruktur, Farbe, Beanspruchung)Produkt: (Nummer, Bezeichnung, Fassungsvermögen, Preis, Funktion, Foto)

Page 28: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 28

Integration der Teil-Systeme der

Keramischen Werkstatt

Geschäftspartner

Händler Spediteur

O

Veranstalter

Rohstoff

1

Markt

Bedingung

3

28

9

10

(1,*) (1,*)

(1,*)

(0,*)

(0,*)

(0,*)(0,*)

(1,*)

(1,*)

(0,*) (1,1)

Kunde

7

(0,*)

(0,*)

Dekor

Glasur 6

5

Produkt

4

(1,*)

(0,*)

(0,1)

(0,1)

(0,*)(0,*)

(0,*) (0,*)(0,*)

Page 29: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 29

Entity-Typen:Geschäftspartner (Name, Vorname, Adresse, Telefonnummer, email)Händler (Spediteur (Kunde (Veranstalter (Typ)Markt (Bezeichnung, Standort, Termin, Öffnungszeiten, URL, Rahmen, Ranking, Standgebühr / m2)Bedingung (Kategorie 1, ... 2, ...3, Endanteil)Rohstoff (Art, Bezeichnung, Brennbereich min, Brennbereich max, chemische Formel, Körnung in mm Durchmesser, Schamottanteil in Prozent)Produkt (Produktnummer, Bezeichnung, Grösse, Fassungsvermögen, Preis, Funktion, Foto)Glasur (Oberflächenstruktur, Farbe, Beanspruchung)Dekor (Bezeichnung, Foto)

Relationship-Typen:1: liefert (Bestelldatum, Lieferdatum, Gesamtpreis)2: hat als Ansprechpartner [funktionale Abhängigkeit]3: hat Bedingung4: besteht aus (Anzahl)5: ist versehen mit [funktionale Abhängigkeit]6: ist glasiert mit [funktionale Abhängigkeit]7: erhält geliefert (Anzahl, Lieferdatum, Gesamtpreis, ArtAuslieferung)8: bestellt (Anzahl, Bestelldatum, Liefertermin, BestellArt, ArtAuslieferung)9: wird angeboten auf (Anzahl)10: wurde verkauft (Anzahl)

Page 30: KarczewskiDatenbanken I1 2. Semantische Datenmodellierung Datenmodell: System von Konzepten zur Beschreibung relevanter Daten Datenbankmodell: System von

Karczewski Datenbanken I 30

Ausprägungen einzelner Attribute: Veranstalter - Typ: Verein, Galerie, EinzelpersonMarkt - Rahmen: Töpfermarkt, Kunsthandwerkermarkt, Kirmes Ranking: sehr renommiert (+), renommiert (0), wenig renommiert (-) Standgebühr / m2: ab ca. 15 EUR bis 80 EUR „und mehr“ Bedingung – Kategorie 1: Nur selbst hergestellte Ware: ja/nein Kategorie 2: Historische Kleidung erforderlich: ja/nein Kategorie 3: Bewerbungsunterlagen mit Fotos: ja/nein Endanteil: Reduzierte Standgebühren zu Gunsten einer zusätz- lichen einmaligen Zahlung am Ende von (z.B.) 10% der Einnahmen: ProzentsatzGlasur - Oberflächenstruktur: matt, seidenmatt, glänzend Farbe: graublau, türkis, steingrau Beanspruchung: spülmaschinenfest ja/neinDekor - Bezeichnung: Sonnenblume, Fische, Rose, Wichtel (varchar) Bild: (BLOB) Produkt - Name: Teeservice, Kaffeservice, Dessertteller, Tasse, Untertasse, Vase, Schale, Zuckerdose Funktion: Gebrauch, Dekoration Grösse: [z.B. Durchmesser bei Tellern, Tassen etc.] (decimal) Fassungsvermögen in l: 1,2 l (bei Kannen, Vasen, ...) (decimal) Preis: ... (decimal)Rohstoff - Art: Arbeitsmaterial (Ton), Pigmente, Gestaltungsmaterial (Glasur), [Werkzeug (zum Drehen / Abdrehen), Maschinen] Bezeichnung: .... Brennbereich min: Brennbereich max: chemische Formel: Körnung in mm Durchmesser:

Schamottanteil in Prozent: