Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische...

29
Datenbanken Stephan Karczewski - Datenbanken 1 Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen Regeln gehorcht und die Semantik also die Bedeutung - einschließt. Modelliert wird bei der semantischen Datenmodellierung die Struktur der Informationen wie sie der Kunde (Anwender) in seiner Realwelt wahrnimmt und sie als Systemanforderung stellt. Sie dient als Grundlage für die physische Realisierung der Daten in Datenbanken inklusive der physischen Abbildung von semantischen Beziehungen der Daten untereinander. 2. Semantische Datenmodellierung

Transcript of Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische...

Page 1: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 1

Semantische Datenmodellierung:

Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen Regeln gehorcht und die Semantik – also die Bedeutung - einschließt. Modelliert wird bei der semantischen Datenmodellierung die Struktur der Informationen wie sie der Kunde (Anwender) in seiner Realwelt wahrnimmt und sie als Systemanforderung stellt. Sie dient als Grundlage für die physische Realisierung der Daten in Datenbanken inklusive der physischen Abbildung von semantischen Beziehungen der Daten untereinander.

2. Semantische Datenmodellierung

Page 2: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 2

Datenbank-Entwurfsprozess:

2. Semantische Datenmodellierung

Semantische Datenmodellierung

Page 3: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 3

Wichtige Begriffe beim Datenbank-Entwurf (1):

• Datenmodell / Datenschema stellt ein System von Konzepten dar zur Beschreibung von relevanten Daten

• Datenmodellierung ist der Prozess der Erstellung von Datenbank-Schemata, deren Syntax und Semantik durch das zugrunde liegende Datenbankmodell (z.B. relationales oder objekt-relationales oder objekt-orientiertes) festgelegt sind.

2. Semantische Datenmodellierung

Page 4: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 4

Wichtige Begriffe beim Datenbank-Entwurf (2):

• Konzeptionelles Datenmodell Für dieses gibt es verschiedene Realisierungsformen. • Entity Relationship-Modell (ERM) bzw. Erweitertes Entity-Relationship-

Modell (EERM). Das ERM wurde bereits in den 1970er Jahren von Chen entwickelt. Im Laufe der letzten Jahrzehnte ergaben sich Erweiterungsnotwendigkeiten (z.B. Vererbung), die zu dem EERM führten.

• Entity-Relationship-Diagramm (ERD) ist die graphische Ausprägung des ERM

• Klassendiagramm der UML wird mitunter als äquivalente Variante des Entity-Relationship-Modells gewählt.

Bei den verschiedenen Varianten des konzeptionellen Datenmodells ist stets zu beachten, mit welcher Semantik welche Variante ausgewählt wird. Projektteilnehmer müssen genau wissen, welche der genannten Varianten im Projekt gewählt wird.

2. Semantische Datenmodellierung

Page 5: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 5

Hintergrund: Die Beispiele entstanden bei der Analyse einer realen keramischen Werkstatt. Insofern wird versucht, anschaulich zu machen, dass jeder Anwendungsbereich mit den vorgestellten Datenbank-Methoden abbildbar ist.

2. Semantische Datenmodellierung

Beispiel (1):

Ein erstes Beispiel: Produktdaten einer Keramischen Werkstatt

Bezeichnung: Teekanne Glasur: graublau Dekor: Wichtel Preis: 59,00 ...

Page 6: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 6 2. Semantische Datenmodellierung

Beispiel (2):

Weitere Informationen der Werkstatt: • Bestellungen von Produkten durch Kunden • Dekore auf Produkten (z.B. Teekannen) • Glasuren, mit denen Produkte versehen werden • Rohstoffe, aus denen die Produkte gefertigt werden • Geschäftspartner im Gegenstandsbereich

(Kunden, Händler, Spediteure, Veranstalter von Keramik-Märkten)

Page 7: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 7 2. Semantische Datenmodellierung

EERM – Entity

• Entity ist ein Objekt der realen Welt • Entity-Typ ist die Repräsentation aller Entities (Objekte) gleichen Typs • Entity-Typ wird durch ein Rechteck dargestellt • Das Rechteck enthält den Namen des Entity-Typs im Singular

Kunde Objekttyp (Entity Typ):

Page 8: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 8 2. Semantische Datenmodellierung

EERM – Relationship

• Relationship bezeichnet, wie Entities miteinander assoziiert sind, also in welcher Beziehung sie zueinander stehen.

• Relationship-Typ ist der Repräsentant aller Beziehungen gleichen Typs • Relationship-Typ wird durch eine Raute dargestellt • Die Raute enthält den Namen des Relationship-Typ. Alternativ (bei zu langen

Namen) kann eine Ziffer in die Raute geschrieben werden mit einem entsprechenden Verweis auf den Namen.

8 bestellt oder

8: bestellt

Beziehungstyp (Relationship Typ):

Page 9: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 9 2. Semantische Datenmodellierung

EERM – Attribute

• Attribute beschreiben Eigenschaften von Entity- oder Relationship-Typen. • Attribut wird durch ein Oval dargestellt. • Komplexe Attribute können durch Auflistung ihrer elementaren Datentypen in

Ovalen dargestellt werden. • Attribute können mitunter auch nur textuell dargestellt werden.

graphisch

Kunde (Nachname, Adresse (Strasse, Stadt, PLZ))

Komplexes Attribut

Elementare Attribute

Kunde Nachname

Adresse

Strasse

Stadt

PLZ

textuell

Page 10: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 10 2. Semantische Datenmodellierung

EERM – Kardinalitäten

Kardinalitäten geben bei Beziehungen (Relationships) an, wie viele Entitäten der beteiligten Entitätstypen miteinander in Beziehung stehen müssen/dürfen. Dabei gibt die erste Zahl an, wie viele Beziehungen mindestens existieren müssen und die zweite Zahl gibt an, wie viele Beziehungen maximal existieren dürfen. Zu jedem in der Beziehung beteiligten Entity-Typ gibt es genau ein (min, max)-Paar. Steht bei dem max-Parameter ein *, dann meint dies „beliebig viele“.

Dekor Produkt 5

5: ist versehen mit

(0,*)

Kardinalität

Im Beispiel: • Jedes Produkt wird mit keinem oder einem Dekor versehen. • Zu einem Dekor gibt es (möglicherweise) kein Produkt oder beliebig viele.

(0,1)

Page 11: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 11 2. Semantische Datenmodellierung

EERM – Kardinalitäten

Darstellung konkreter Beziehungen (Relationships) am Beispiel:

Sonnenblume

Wichtel

Kaffeekanne K

Kaffeetasse S

Teetasse S

Teekanne S

Kaffeetasse S

Kaffeetasse K

Fische

. . .

. . .

Dessertteller

• Die Anzahl der Linien zwischen konkreten Dekors und Produkten lässt Rückschlüsse auf die Kardinalität zu.

• Allerdings: Die Kardinalität gibt mögliche Mengen an Beziehungen für alle Zeitpunkte an.

Page 12: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 12 2. Semantische Datenmodellierung

EERM – ternärer Beziehungstyp

Der ternäre Beziehungstyp wird selten verwendet, ist in manchen Situationen jedoch sinnvoll. Mitunter wird er dadurch vermieden, dass – statt der Dreierbeziehung – drei Zweierbeziehungen dargestellt werden. Dies ist jedoch nicht dasselbe, da z.B. eine Beziehung zwischen Produkt und Markt existieren kann ohne Kunden. Im Beispiel: • Kunden bestellen Produkte auf Märkten. • Ternär ist dieser Beziehungstyp deshalb, weil die konkrete Beziehung gleichzeitig

durch den Kunden, für das Produkt und auf diesem Markt stattfindet.

Markt

8

(0,*)

Kunde

(0,*)

Produkt

(0,*)

8: bestellt

… … • 3 Zweierbeziehungen

• Dreierbeziehung (ternär)

Page 13: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 13 2. Semantische Datenmodellierung

EERM – rekursiver Beziehungstyp

Der rekursive Beziehungstyp zeichnet sich dadurch aus, dass eine Beziehung zwischen Objekten des gleichen Typs dargestellt werden.

Produkt

4

(1,*)

(0,*) Produktgruppe

Teilprodukt

4: besteht aus

Die hier genannten Begriffe „Teilprodukt“ und „Produktgruppe“ nennt man Rollennamen. Diese kann man stets verwenden, um die Rolle deutlich zu machen, in der ein Entity-Typ verwendet wird. Semantisch für die zu entwickelnde Datenbank haben Rollennamen keine Bedeutung.

• Produkt besteht aus einem oder mehreren Teilprodukten.

Im Beispiel:

• Produkt gehört zu keiner oder mehreren Produktgruppen.

Page 14: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 14 2. Semantische Datenmodellierung

EERM – Kardinalitäten (verschiedene Schreibweisen)

Kardinalitäten geben bei Beziehungen (Relationships) an, wie viele Entitäten der beteiligten Entitätstypen miteinander in Beziehung stehen müssen/dürfen. In der Praxis wird die Realisierung der Kardinalitäten unterschiedlich gehandhabt (vgl. im Netz z.B. http://de.wikipedia.org/wiki/Entity-Relationship-Modell) Wesentlich sind zwei verschiedene Sichtweisen bei der Kardinalität: • Ausgehend von einem Entitätstyp wird als Kardinalität gefragt mit wie vielen

Entitäten des anderen Entitätstyps eine Entität in Beziehung stehen kann. • Ausgehend von dem Beziehungstyp wird gefragt, wie oft eine konkrete Entität in

dieser Beziehung konkret vorkommen darf.

Des weiteren unterscheidet man zwischen der Kurzschreibweise, bei der nur der maximale Wert angegeben wird und derTupelschreibweise, die wir bisher verwendet haben, bei der ein Paar (min, max) angegeben wird. Letztere ist genauer. Beispiel: Hat man eine (0,*):(1,*)-Beziehung, wird diese kurz m:n-Beziehung genannt,

bei (1,1):(0,*)-Beziehungen spricht man von kurz 1:m-Beziehungen.

Page 15: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 15 2. Semantische Datenmodellierung

Generalisierung / Spezialisierung

Von Generalisierung bzw. Spezialisierung spricht man, wenn zwei Entity-Typen in einer Abhängigkeitsbeziehung derart stehen, dass der eine Typ eine spezielle Ausprägung des anderen Typs darstellt bzw. ein Typ die allgemeinere Variante des anderen Typs ist. In der Realität findet man sehr schnell solche Entity-Typ-Paare, wie z.B. Person und Mitarbeiter, wobei der Mitarbeiter eine „spezielle“ Person ist, nämlich diejenige, die Mitarbeiter ist. Spezialisten haben all diejenigen Eigenschaften, die auch die Generalisten haben, und natürlich noch weitere, die sie als Spezialisten auszeichnen. Mit Eigenschaften meint man im Bereich der Datenbanken die Attribute.

Page 16: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 16 2. Semantische Datenmodellierung

Generalisierung / Spezialisierung

Darstellung im ER-Diagramm: Ursprüngliche Schreibweisen: Geschäftspartner

Händler

ist

Händler

Geschäftspartner

. . . . . .

Aktuelle Schreibweise: Geschäftspartner

Händler Spediteur

D

Veranstalter Kunde

Page 17: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 17 2. Semantische Datenmodellierung

Generalisierung / Spezialisierung: Beispiele

• ist-ein-Beziehung • A1, A2, A3 haben gemeinsame Attribute, „geerbt“ von A • Beispiel: A ist Konto, A1 ist Girokonto, A2 ist Festgeldkonto, An ist Tagesgeldkonto

Das Attribut Kontonummer ist in A definiert. Alle anderen Entity-Typen haben somit automatisch eine Kontonummer über die Definition in A.

Page 18: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 18 2. Semantische Datenmodellierung

Generalisierung / Spezialisierung: Notation und deren Bedeutung

Page 19: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 19 2. Semantische Datenmodellierung

Generalisierung / Spezialisierung: Beispiel Totale Spezialisierung

• Ein Universitätsmitglied muss Student, Dozent, …, oder Laboringenieur sein. • Keine Aussage sagt hier, dass ein Student auch Laboringenieur sein könnte oder

nicht. • Es gibt keine Universitätsmitglieder, die weder Student noch Dozent noch … noch

Laboringenieur sind. • University member entspricht einer abstrakten Klasse bei der

OO-Programmierung

zwei Striche

Page 20: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 20 2. Semantische Datenmodellierung

Generalisierung / Spezialisierung: Beispiel Partielle Spezialisierung

• Ein Fahrrad kann ein Mountainbike, ein Racer, … oder ein Citybike sein. • Ein Fahrrad kann aber auch unspezialisiert sein.

ein Strich

Partielle Spezialisierung bedeutet, dass für den Generalisten auch Exemplare (Objekte, Entities) vorhanden sein können. Gleichzeitig meint dies, dass die Liste der Spezialisten nicht vollständig ist.

Page 21: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 21 2. Semantische Datenmodellierung

Generalisierung / Spezialisierung: Beispiel Disjoint Spezialisierung

• Ein Universitäts-Mitglied ist entweder ein Student oder ein Dozent oder … oder ein Labor-Ingenieur.

• Ein Universitäts-Mitglied kann also nur einem der genannten Spezialisten zugeordnet sein.

Disjoint ist eine Spezialisierung, bei der die Schnittmengen der Spezialisten leer sind, d.h. wir haben eine wohldefinierte Menge von Spezialisten, bei der jedes konkrete Entity genau einem Spezial-Entity-Typen zugeordnet werden kann.

Page 22: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 22 2. Semantische Datenmodellierung

Generalisierung / Spezialisierung: Beispiel Overlapping Spezialisierung

• Ein Mitarbeiter kann z.B. sowohl Ingenieur als auch Verkäufer sein.

Overlapping ist eine Spezialisierung, bei der in der Schnittmenge der Spezialisten Objekte (Entities) vorhanden sein können, d.h. wir haben die Möglichkeit von Spezialisten, die gleichzeitig zwei oder mehreren Spezial-Entity-Typen zugeordnet sein können.

Page 23: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 23 2. Semantische Datenmodellierung

Datenmodellierung am großen Beispiel: Keramische Werkstatt Vorgehensweise beim Entwurf im Großen

Alternative 1:

Entwurf der Teilsysteme z. B.:

Anschließend:

Zusammenfügen der Teilsysteme

Alternative 2:

Ausgehend von einem Objekt bzw. einem Teilsystem:

Entwurf des Gesamtsystems

Geschäftspartner

Rohstoffe Produkte

Märkte

zusätzlich Markt

zusätzlich Produkt

zusätzlich Rohstoff

. . .

Geschäftspartner

Page 24: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 24 2. Semantische Datenmodellierung

Datenmodellierung am großen Beispiel: Keramische Werkstatt Vorgehensweise beim Entwurf im Kleinen

Rohstoff

1

(1,*) (1,*)

(1,*)

Händler Spediteur

Rohstoff

1

Händler Spediteur

Rohstoff

Händler Spediteur

1. Analyse, welche Enity-Typen miteinander in Beziehung stehen. Hierzu gehört auch die Festlegung der Attribute der Entity-Typen.

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

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

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

Page 25: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 25 2. Semantische Datenmodellierung

Datenmodellierung am großen Beispiel: Keramische Werkstatt Teilsystem Geschäftspartner

Geschäftspartner

Händler Spediteur

O

Veranstalter Kunde

Typ 7

(0,*)

Produkt

(0,*)

Attribut- Spezialisierung

Beziehungs- Spezialisierung

Page 26: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 26 2. Semantische Datenmodellierung

Datenmodellierung am großen Beispiel: Keramische Werkstatt Teilsystem Produkt

Dekor

Glasur 6

5

Produkt

4

(0,*)

(0,*)

(1,1)

(0,1)

(0,*) (0,*)

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)

Page 27: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 27 2. Semantische Datenmodellierung

Datenmodellierung am großen Beispiel: Keramische Werkstatt Integration der Teilsysteme

Datenbanken I

Geschäftspartner

Händler Spediteur

O

Veranstalter

Rohstoff

1

Markt

Bedingung

3

2 8

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 28: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

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

Stephan Karczewski - Datenbanken 28 2. Semantische Datenmodellierung

Datenmodellierung am großen Beispiel: Keramische Werkstatt Bezeichnungen der Entity- und Relationship-Typen

Datenbanken I

Page 29: Datenbanken - fbi.h-da.de · Datenbanken 1 Stephan Karczewski - Datenbanken Semantische Datenmodellierung: Bei der semantischen Datenmodellierung wird ein Modell entworfen, das syntaktischen

Datenbanken

Stephan Karczewski - Datenbanken 29 2. Semantische Datenmodellierung

Datenmodellierung am großen Beispiel: Keramische Werkstatt Ausprägung einzelner Attribute

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ö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: