300 likes | 385 Views
2. Semantische Datenmodellierung. Datenmodell: System von Konzepten zur Beschreibung relevanter Daten
E N D
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 Datenbanken I
Prinzipielle Vorgehensweise beim Datenbankentwurf Datenbankschema Datenmodellierung Ausschnitt aus der Realwelt (Miniwelt) Parallel zum Datenmodellierung erfolgt der Funktionsentwurf -> Veranstaltung Softwaretechnik Datenbanken I
Datenbank-Entwurfsprozess (1) • Planung • Analyse • Design • Implementierung Datenbanken I
Datenbank-Entwurfsprozess (2) Vgl. Bild 2-2 Tafelbild Datenbanken I
Grundlagen der Datenmodellierung • erweitertes Entitity-Relationship-Modell (eERM) • Klassendiagramm der Unified Modelling Language (UML) • Darstellung von Äquivalenzen • Transformation vom eERM zum UML-Klassendiagramm Datenbanken I
Bezeichnung: Teekanne Glasur: graublau Dekor: Wichtel Preis: 59,00 ... Unser Beispiel Ein erstes Beispiel: Produktdaten einer Keramischen Werkstatt Datenbanken I
Unser Beispiel • Weitere Informationen: • Bestellungen • Dekore auf Produkten (z. B. Teekannen) • Glasuren • Rohstoffe • Märkte • Geschäftspartner wie • Kunden • Händler • Spediteure • Veranstalter Datenbanken I
erweitertes Entity-Relationship-Modell Kunde 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 Datenbanken I
erweitertes Entity-Relationship-Modell bestellt 8 Beziehungstyp (Relationship Typ): oder 8: bestellt • 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 Datenbanken I
erweitertes Entity-Relationship-Modell Kunde Nachname Attribut: • 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) Strasse Adresse Stadt PLZ Datenbanken I
erweitertes Entity-Relationship-Modell Kardinalität Binärer Beziehungstyp: (0,*) (0,1) Dekor 5 Produkt 5: ist versehen mit Jedes Produkt wird mit keinem oder einem Dekor versehen. Zu einem Dekor gibt es (möglicherweise) kein Produkt oder beliebig viele. Datenbanken I
Konkrete Beziehungen Kaffeetasse S Sonnenblume Kaffeetasse S Fische Kaffeekanne K Wichtel Kaffeetasse K . . . Teetasse S • 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 Teekanne S Dessertteller . . . Datenbanken I
erweitertes Entity-Relationship-Modell Teilprodukt Rekursiver binärer Beziehungstyp: Produkt (0,*) (0,*) • 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 4 Produktgruppe 4: besteht aus Datenbanken I
erweitertes Entity-Relationship-Modell ternärer Beziehungstyp: Kunde (0,*) „Kunden bestellen Produkte auf Märkten“ Merkmal: Beziehung tritt zwischen Entitäten dreier Entity-Typen gleich-zeitig auf 8 (0,*) (0,*) Produkt Markt 8: bestellt Datenbanken I
erweitertes Entity-Relationship-Modell Verschiedene Schreibweisen der Kardinalitäten und ihre Interpretation Vergleich eERM und UML-Klassendiagramm s. Tafel Datenbanken I
erweitertes Entity-Relationship-Modell Geschäftspartner Generalisierung/Spezialisierung: D Spediteur Kunde Veranstalter Händler Andere Darstellungsweisen: Geschäftspartner Geschäftspartner ist Händler . . . Händler . . . Datenbanken I
erweitertes Entity-Relationship-Modell Totale Spezialisierung: Jede Instanz des Supertyps entspricht mindestens einem Subtyp (Doppelstrich). Disjunkte Spezialisierung: Eine Instanz eines Supertyps kann zu maximal einem Subtyp gehören (D im Dreieck). D D Überlappende Spezialisierung: Eine Instanz eines Supertyps kann zu mehreren Subtypen gehören, die Spezialisierung ist überlappend / overlapping (O im Dreieck). Partielle Spezialisierung: Nicht jede Ausprägung des Supertyps wird notwendigerweise spezialisiert (einfacher Strich). O O Datenbanken I
Different Inheritance structures • disjoint and complete • disjoint and incomplete • overlapping and complete • overlapping and incomplete Datenbanken I
WindInstrument PercussionInstrument Disjoint and Complete abstract class Instrument {disjoint, complete} There are no instruments which are neither Wind- nor PercussionInstrument. WindInstrument There are no instruments which are simultaneously Wind- and Percussion- Instrument PercussionInstrument Datenbanken I
WindInstrument PercussionInstrument Disjoint and Incomplete Normal (not abstract) class Instrument {disjoint, incomplete} There are some instruments which are neither Wind- nor PercussionInstrument. WindInstrument There are no instruments which are simultaneously Wind- and Percussion- Instrument PercussionInstrument Datenbanken I
WindInstrument KeyboardInstrument Overlapping and Complete abstract class Instrument {overlapping, complete} There are no instruments which are neither Wind- nor KeyboardInstrument. WindInstrument KeyboardInstrument There are some instruments which are simultaneously Wind- and Keyboard- Instrument. Datenbanken I
WindInstrument KeyboardInstrument Overlapping and Incomplete Normal (not abstract) class Instrument {overlapping, incomplete} There are some instruments which are neither Wind- nor KeyboardInstrument. WindInstrument KeyboardInstrument There are some instruments which are simultaneously Wind- and Keyboard- Instrument Datenbanken I
WindInstrument KeyboardInstrument AccordionInstrument Overlapping and Incomplete Overlapping can be solved by defining a new class. This class contains all elements of the former intersection set. Instrument WindInstrument KeyboardInstrument {disjoint, complete} AccordionInstrument Is there an alternative model? How can incompleteness be solved? Datenbanken I
Beispiel Keramische Werkstatt Geschäftspartner 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) Rohstoffe Produkte Märkte zusätzlich Markt zusätzlich Produkt zusätzlich Rohstoff Geschäftspartner . . . Datenbanken I
Teilsystem Rohstoffe Händler Händler Spediteur Spediteur Händler Spediteur (1,*) (1,*) 1 1 (1,*) Rohstoff Rohstoff Rohstoff 1: liefert (Bestelldatum, Lieferdatum, Preis, Menge) • Analyse, welche Kardinalitäten der Relationship-Typ hat • Analyse, welche Enity-Typen mit-einander in Be-ziehung stehen • Analyse, wie der Relationship-Typ bezeichnet wird und welche Attribute er besitzt Datenbanken I
Teilsystem Geschäftspartner Geschäftspartner O Attribut- Spezialisierung Spediteur Kunde Veranstalter Händler (0,*) Typ Beziehungs- Spezialisierung 7 (0,*) Produkt Datenbanken I
Teilsystem Produkt (0,*) (1,1) Glasur 6 (0,1) Produkt (0,*) (0,*) (0,*) Dekor 5 4 4: besteht aus (Anzahl) 5: ist versehen mit 6: ist glasiert mit Dekor: (Bezeichnung, Foto) Glasur: (Oberflächenstruktur, Farbe, Beanspruchung) Produkt: (Nummer, Bezeichnung, Fassungsvermögen, Preis, Funktion, Foto) Datenbanken I
Integration der Teil-Systeme der Keramischen Werkstatt Geschäftspartner O (0,*) Händler Spediteur Kunde Veranstalter (1,*) (1,*) (0,*) (0,*) 1 (1,*) 2 8 7 Rohstoff (1,1) (0,*) (1,*) (0,1) Glasur (0,*) 6 Markt 9 (0,*) (0,*) (1,*) (0,1) (0,*) (0,*) Produkt (0,*) 3 (0,*) (0,*) Dekor (0,*) 5 10 (1,*) 4 Bedingung Datenbanken I
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 Bedingung 4: 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) Datenbanken I
Ausprägungen einzelner Attribute: Veranstalter - Typ: Verein, Galerie, Einzelperson Markt - 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: Prozentsatz Glasur - Oberflächenstruktur: matt, seidenmatt, glänzend Farbe: graublau, türkis, steingrau Beanspruchung: spülmaschinenfest ja/nein Dekor - 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ögenin 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: Datenbanken I