karczewskidatenbanken i1 2. semantische datenmodellierung datenmodell: system von konzepten zur...
Post on 05-Apr-2015
105 Views
Preview:
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