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

Post on 05-Apr-2015

105 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Karczewski Datenbanken I 2

Prinzipielle Vorgehensweise beim Datenbankentwurf

Ausschnitt aus der Realwelt

(Miniwelt)

DatenbankschemaDatenmodellierung

Parallel zum Datenmodellierung erfolgt der Funktionsentwurf -> Veranstaltung Softwaretechnik

Karczewski Datenbanken I 3

Datenbank-Entwurfsprozess (1)

• Planung

• Analyse

• Design

• Implementierung

Karczewski Datenbanken I 4

Datenbank-Entwurfsprozess (2)

Vgl. Bild 2-2

Tafelbild

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

Karczewski Datenbanken I 6

Unser Beispiel

Ein erstes Beispiel: Produktdaten einer Keramischen Werkstatt

Bezeichnung: Teekanne

Glasur: graublau

Dekor: Wichtel

Preis: 59,00

...

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

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

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

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)

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:

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

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

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

Karczewski Datenbanken I 15

Verschiedene Schreibweisen der Kardinalitäten und ihre Interpretation

Vergleich eERM und UML-Klassendiagramms. Tafel

erweitertes Entity-Relationship-Modell

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:

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

Karczewski Datenbanken I 18

Different Inheritance structures

• disjoint and complete

• disjoint and incomplete

• overlapping and complete

• overlapping and incomplete

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

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

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

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

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

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

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

Karczewski Datenbanken I 26

Geschäftspartner

Händler Spediteur

O

VeranstalterKunde

Typ7

(0,*)

Produkt

(0,*)

Attribut-Spezialisierung

Beziehungs-Spezialisierung

Teilsystem Geschäftspartner

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)

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,*)

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)

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:

top related