A-03 - Eltviller.de

Werbung
Prof. Dr. J. Weinberg
3
IuK - Systeme Kurs A - WS 1999
Seite 56
Daten- und Datenbank- Design (Fortsetzung)
3.1
3.2
3.3
3.4
3.5
Darstellung der Referenzen der Form n:m
Objekt A bezieht sich auf Objekt B in der Form n:m
„ist befreundet mit”
Mädchen
m
Junge
n
 Simone
 Jens
 Petra
 Oliver
 Iris
 Peter
 Nina
 Paul
Hier entsteht das Problem, daß beide Objekte „viele“ Beziehungen haben können, und somit
nicht wie bei 1:1 - oder 1:n - Beziehungen ein Fremdschlüssel zur Beschreibung der
Beziehungen ausreicht.
Die Lösung besteht darin ein
 eigenes Objekt
für die Beziehung zu modellieren:
(Skizze 10)
Durch das „Beziehungsobjekt“ Paar wird die n:m-Beziehung in zwei 1:n-Beziehungen
aufgelöst und kann (wie oben bei der 1:n Beziehung beschrieben ) dargestellt werden.
Beziehungsobjekte werden mit einer Raute dargestellt
Prof. Dr. J. Weinberg
IuK - Systeme Kurs A - WS 1999
Seite 57
In der Praxis finden sich selten „reine“ Beziehungsobjekte wie im oben dargestellten Beispiel.
Oft sind weitere Eigenschaften der Beziehung von Interesse, z. B. „besteht seit“, etc.
In solchen Fällen verwischt die Abgrenzung zwischen „echten“ Objekten und
„Beziehungsobjekten“. Statt der Darstellung mit einer „Raute“ kann in diesen Fällen auch ein
„Rechteck“ gewählt werden.
Beispiel Freundschaft
Mädchen




1
n
Mädchen - Nr.
Name
Adresse
…
Freundschaft
n
Junge
1


Jungs - Nr.
Freundschafts - Nr.


Name
Mädchen - Nr.


Adresse
Jungs - Nr.

…
(Skizze 11 „Freundschaften“)
Beispiel Mietwagen
Mietwagen
„gehört zu”
1
„schließt“
Mietvertrag
n
n
”
Kunde
1

Kunden - Nr.
Vertrags - Nr.

Name

Wagen - Nr.

Adresse
Typ

Kunden - Nr.

…

Farbe

Datum Mietbeginn

…

Datum Mietende

„Preis / Konditionen“

Wagen - Nr.

Marke


Modell

(Skizze 12 „Mietwagen“)
Prof. Dr. J. Weinberg
IuK - Systeme Kurs A - WS 1999
Seite 58
Beispiel: Ehe
“schließt
Mann
”1
n

Mann - Nr.

Geburtsdatum


Geburtsname

…
“schließt
Ehe
n
Frau
1

Frau - Nr.
Ehe - Nr.

Geburtsdatum

Mann - Nr.

Geburtsname

Frau - Nr.

…

Heiratsdatum

Ehenamen

Scheidungsdatum

…
(Skizze 13 „Ehe“)
Auch bei „Beziehungsobjekten“ sollte i.d.R. ein „nicht sprechender“ Primärschlüssel
verwendet werden (Ausnahmen s.u.).
Übung:
Gelegentlich wird die Ansicht vertreten, daß es bei „Beziehungsobjekten“ ausreichend (und
sinnvoll) sei, einen „sprechenden“ Primärschlüssel zu verwenden, der sich aus den beiden
Fremdschlüsseln der beiden Objekte der Beziehung zusammensetzt. (z.B. Ehe: Mann-Nr und
Frau-Nr.) Diskutieren Sie die Problematik.
Prof. Dr. J. Weinberg
3.6
IuK - Systeme Kurs A - WS 1999
Seite 59
Spezialfall: Hierarchische Beziehungen - Kopf-/Positionssätze
Beispiel: Verkaufsartikel setzen sich aus einem oder mehreren Produkten zusammen, die ggf.
auch einzeln verkauft werden können:
 „Verkaufsartikel“
 „Sets“
 „Verkaufsstückliste“
 „Package“
Bsp:
 1 Kasten 20x0,5l Pils
 1 Kasten 20x0,5l Pils + 1 Glas („Tulpe 0,2 Dekor 4711) + 20 Bierdeckel
 1 Stereoanlage (= 1 Receiver, 1 CD-Player, 2 Boxen)
 ...
“besteht aus”
Verkaufsartikel
m
Produkt
n
Modellierung als Kopf - / Positionssatz
Kopfsatz = übergeordnetes Element
Verkaufsartikel

VA - Nr.

VA - Bezeichnung

VA - Preis

…
„besteht aus“
VA - Position
Primärschlüssel
„besteht aus“
Produkt

VA - Nr.

Produkt - Nr.

Positions - Nr.

…

Produkt - Nr.

Menge
(Skizze 14 „Verkaufsstückliste“) 
…
Prof. Dr. J. Weinberg
IuK - Systeme Kurs A - WS 1999
Seite 60
Verkaufsstückliste: Beispiel Werbepaket „1 Kasten Pils mit Glas und Bierdeckel“
besteht aus einem Kopfsatz, der die gemeinsamen Informationen enthält und drei Positionen
(je eine für jeden Artikel des „Sets“):
Kopf:
 VA - Nr.:
4711
 VA - Bezeichnung:
Werbepaket 20 x 0,5 l Pils mit Glas und Bierdeckel
 VK - Preis:
23,99 DM
Positionen:
 VA - Nr.:
4711
 Positionsnr.:
01
 Produkt - Nr.:
8580 (20 x 0,5 l Pils)
 Menge:
01
 VA - Nr.:
4711
 Positionsnr.:
02
 Produkt - Nr.:
1312 (Glas)
 Menge:
1
 VA - Nr.:
4711
 Positionsnr.:
03
 Produkt - Nr.:
4939 (Bierdeckel)
 Menge:
20
Bei diesen (nicht änderbaren) hierarchischen Beziehungen wird in der Regel der
Primärschlüssel des „Positionssatzes“ durch den Schlüssel des „übergeordneten“
Objektes („Kopfsatz“) und einer „Positionsnummer“ gebildet.
Primärschlüssel der Positionssätze: VA-Nr + Positionsnr.
Prof. Dr. J. Weinberg
IuK - Systeme Kurs A - WS 1999
Seite 61
Standard - Beispiel im Vertrieb: Kundenauftrag
Stufe 1:
“bestellt”
Kunde
Artikel
n
m
Stufe 2:
“erteilt”
Kunde
“besteht aus”
Auftrag
1
m
n
Artikel
n
Stufe 3:
Kunde
1
“erteilt”


Kunden - Nr.
Kunden - Name

…






Auftrags - Nr.
Kunden - Nr.
Bestelldatum
Bestellnr. des Kunden
Lieferdatum
Rechnungsrabatt






Auftragsnr.
Positionsnr.
Artikelnr.
Menge
Preis
Positionsrabatt

Artikel - Nr.



Artikel - Bezeichnung
Warengruppe
…
n
Auftrag (Kopf)
1
“besteht aus”
n
Auftragsposition
n
“beinhaltet”
Primärschlüssel
1
Artikel
(Skizze 15 „Auftrag“)
Prof. Dr. J. Weinberg
IuK - Systeme Kurs A - WS 1999
Seite 62
Beispiel Auftrag ( ACCESS Datenbank Auftrag.mdb in ...\WI-A\Uebung\Uebung7)
Beispiel der Tabellen
Prof. Dr. J. Weinberg
IuK - Systeme Kurs A - WS 1999
Auftragsbestätigung über eine virtuelle Tabelle („View“, Abfrage“ s.u.)
Seite 63
Prof. Dr. J. Weinberg
3.7
IuK - Systeme Kurs A - WS 1999
Seite 64
Erweiterte Notation: Bedingte Kardinalitäten
Bislang wurde bei den „Kardinalitäten“ nur die maximal mögliche Anzahl der Beziehungen
betrachtet, nicht jedoch ob mindestens eine Beziehung bestehen muß (minimale Anzahl).
Beispiel:
 „Ehe“: nicht verheiratete Personen kommen vor
 „Mitarbeiter“: Mitarbeiter ohne Arbeitsplatz?
 „Auftrag“: muß (mindestens) eine Position enthalten
Diese Frage wird entweder bei den „Gültigkeitsregeln“ ( Integrität) behandelt oder mittels
einer Erweiterung der x:y Notation:
1. Alternative: Integritätsregel („Muß-Feld“, „Gültigkeitsregel“)
 1:1, 1:n, n:m keine Auskunft über Mindestzahl, „kein Eintrag“ ist zulässig
 „Eintrag erforderlich“ wird als „Gültigkeitsregel“ formuliert
2. Alternative 1, C, M - Notation
 1:1, 1:n, n:m bedeuten „mindestens“ eine Beziehung
 ist keine Beziehung notwendig wird dies durch ein c (=“conditional“, bedingt)
angezeigt: c:1, c:c, c:n, 1:nc, c:nc, nc:nc
Beispiele:
 Kunden/Vertreter
 Mitarbeiter/Gehaltskonto
 Produkt/Gebinde
Achtung:
Der Rechner läßt keine Ausnahmen zu. Wenn Ausnahmen möglich sein sollen, darf
keine (strenge) Gültigkeitsregel formuliert werden. In diesen Fällen kommen „Hinweis“Regeln zum Einsatz, die Ausnahmen zulassen, jedoch eine Bestätigung anfordern.
 Da „Hinweis“-Regeln in der 1,C,M-Notation (Alternative 2) nicht vorgesehen sind, ist
die 1. Alternative „praxisnäher“.
Wird kein Eintrag vorgenommen bleibt das Attribut oder der Verweis „leer“. In der
Datenbank wird dies durch einen „Null-Wert“ gekennzeichnet.
 Null-Wert bedeutet „kein Eintrag“=“N/V“=“Nicht vorhanden“ (engl. null=ungültig sprich „nall“) und muß von der Zahl 0 unterschieden werden!
Prof. Dr. J. Weinberg
IuK - Systeme Kurs A - WS 1999
Seite 65
Konventionen (für den Kurs):
 Objekte werden in Rechtecken dargestellt
 Beziehungsobjekte werden durch Rauten dargestellt
 Attribute werden unter den Objekten aufgelistet
 Primärschlüssel werden unterstrichen
 Fremdschlüssel werden „gepunktet“ unterstrichen weisen mit Pfeil auf den
bezogen (Teil-) Primärschlüssel
 Beziehungen werden durch Pfeile dargestellt
 „Semantiken“ werden über die Beziehungspfeile geschrieben
 „Kardinalitäten“ werden an den „Endpunkte“ der Pfeile angegeben
 Es muß vermerkt werden ob „erweiterte“ Kardinalitäten 1,n,c, (c=conditional 
„Null-Wert“ erlaubt) oder entsprechende „Gültigkeitsregeln“ („Eingabe
erforderlich“) verwendet werden.
Hinweis:
Null-Wert bedeutet „kein Eintrag“=“N/V“=“Nicht vorhanden“ (engl. null=ungültig - sprich
„nall“) und muß von der Zahl 0 unterschieden werden!
Ausnahmen:
Zur besseren Übersicht werden ggf. manche Teile nur angedeutet (insbesondere werden oft
nicht alle Attribute dargestellt) oder nur ein Ausschnitt des Modells („Fenster“) betrachtet.
Herunterladen