Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

2. Semantische Datenmodellierung

Ähnliche Präsentationen


Präsentation zum Thema: "2. Semantische Datenmodellierung"—  Präsentation transkript:

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
Einührung Prinzipielle Vorgehensweise beim Datenbankentwurf Datenbankschema Datenmodellierung Ausschnitt aus der Realwelt (Miniwelt) Parallel zum Datenmodellierung erfolgt der Funktionsentwurf -> Veranstaltung Softwaretechnik Die Struktur der Datenbank soll dabei ein möglichst getreues Modell des zu bearbeitenden Teilausschnittes der Realwelt darstellen. 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 Grundlagen der Datenmodellierung
erweitertes Entitity-Relationship-Modell (eERM) Klassendiagramm der Unified Modelling Language (UML) Darstellung von Äquivalenzen Transformation vom eERM zum UML-Klassendiagramm 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 erweitertes Entity-Relationship-Modell
Objekttyp (Entity Typ): Kunde 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 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 Karczewski Datenbanken I

10 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 Karczewski Datenbanken I

11 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. Karczewski Datenbanken I

12 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 . . . Karczewski Datenbanken I

13 erweitertes Entity-Relationship-Modell
Rekursiver binärer Beziehungstyp: Teilprodukt 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 Karczewski Datenbanken I

14 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 Karczewski Datenbanken I

15 erweitertes Entity-Relationship-Modell
Verschiedene Schreibweisen der Kardinalitäten und ihre Interpretation Vergleich eERM und UML-Klassendiagramm s. Tafel Karczewski Datenbanken I

16 erweitertes Entity-Relationship-Modell
Generalisierung/Spezialisierung: Geschäftspartner D Händler Spediteur Kunde Veranstalter Andere Darstellungsweisen: Geschäftspartner Geschäftspartner ist Händler . . . Händler . . . Karczewski Datenbanken I

17 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 Karczewski Datenbanken I

18 Different Inheritance structures
disjoint and complete disjoint and incomplete overlapping and complete overlapping and incomplete Karczewski Datenbanken I

19 Disjoint and Complete abstract class Instrument {disjoint, complete}
WindInstrument PercussionInstrument There are no instruments which are neither Wind- nor PercussionInstrument. WindInstrument There are no instruments which are simultaneously Wind- and Percussion- Instrument PercussionInstrument Karczewski Datenbanken I

20 Disjoint and Incomplete
Normal (not abstract) class Instrument {disjoint, incomplete} WindInstrument PercussionInstrument There are some instruments which are neither Wind- nor PercussionInstrument. WindInstrument There are no instruments which are simultaneously Wind- and Percussion- Instrument PercussionInstrument Karczewski Datenbanken I

21 Overlapping and Complete
abstract class Instrument {overlapping, complete} WindInstrument KeyboardInstrument There are no instruments which are neither Wind- nor KeyboardInstrument. WindInstrument KeyboardInstrument There are some instruments which are simultaneously Wind- and Keyboard- Instrument. Karczewski Datenbanken I

22 Overlapping and Incomplete
Normal (not abstract) class Instrument {overlapping, incomplete} WindInstrument KeyboardInstrument There are some instruments which are neither Wind- nor KeyboardInstrument. WindInstrument KeyboardInstrument There are some instruments which are simultaneously Wind- and Keyboard- 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 Instrument KeyboardInstrument {disjoint, complete} AccordionInstrument WindInstrument AccordionInstrument KeyboardInstrument Is there an alternative model? How can incompleteness be solved? Karczewski Datenbanken I

24 Beispiel Keramische Werkstatt
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) Geschäftspartner Rohstoffe Produkte Märkte zusätzlich Markt zusätzlich Produkt zusätzlich Rohstoff Geschäftspartner . . . Karczewski Datenbanken I

25 Teilsystem Rohstoffe Händler Spediteur Händler Spediteur Händler Spediteur (1,*) (1,*) 1 1 (1,*) Rohstoff Rohstoff Rohstoff 1: liefert (Bestelldatum, Lieferdatum, Preis, Menge) Analyse, welche Enity-Typen mit-einander in Be-ziehung stehen Analyse, wie der Relationship-Typ bezeichnet wird und welche Attribute er besitzt Analyse, welche Kardinalitäten der Relationship-Typ hat Karczewski Datenbanken I

26 Teilsystem Geschäftspartner
O Attribut- Spezialisierung Händler Spediteur Kunde Veranstalter (0,*) Typ Beziehungs- Spezialisierung 7 (0,*) Produkt Karczewski Datenbanken I

27 Teilsystem Produkt 4: besteht aus (Anzahl) 5: ist versehen mit
(0,*) (1,1) Glasur 6 (0,1) Produkt (0,*) (0,*) Dekor 5 (0,*) 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) Karczewski Datenbanken I

28 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 6 (0,*) 9 Markt (0,*) (0,*) (0,1) (1,*) (0,*) Produkt (0,*) (0,*) (0,*) 3 Dekor 5 (0,*) (0,*) 10 (1,*) 4 Karczewski Datenbanken I Bedingung

29 Entity-Typen: Relationship-Typen:
Geschäftspartner (Name, Vorname, Adresse, Telefonnummer, ) 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) Karczewski Datenbanken I

30 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ö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: Karczewski Datenbanken I


Herunterladen ppt "2. Semantische Datenmodellierung"

Ähnliche Präsentationen


Google-Anzeigen