A-K-3 - Eltviller.de

Werbung
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-1
(bisher)
1
Anforderungen
 Bestimmung des „Informationsbedürfnisses“
 Analyse der Geschäftsprozesse
 Operativ
 strategisch
 Anforderungen an das Informationssystem
2
Berichtgestaltung, Datenbasis, Verdichtung
(weiter mit)
3
Daten- und Datenbank- Design
Datenstrukturierung
 Modellierung in einem „Entity-Relationship-Model“ (E-R Modell)
E-R Modell:
Ein E-R Modell ist eine (graphische) Methode zur Darstellung komplexer Beziehungsgebilde
der Realität, die gleichzeitig Grundlage für die logischen Beziehungen der entsprechenden
Daten in einem relationalen Datenbanksystems ist.
In einem ER - Modell werden die „Objekte“ der „realen Welt“ und ihre Beziehungen
untereinander beschrieben.
Aus dem ER - Modell wird die Datenbankstruktur abgeleitet, d.h. wie die Information über
die „Objekte“ in der Datenbank abgespeichert werden.
Datenbankdefinition
 Erzeugung der Datenbank im Rechner (aus E-R Modell)
Prof. Dr. J. Weinberg
3.1
IuK-Systeme A - SS 2000
Seite 3-2
Modell
Modell:
 Darstellung eines Teiles (Ausschnittes) der „Welt“
Welt (“Realität”)
Modell (Datenbank)
Ausschnitt “Miniwelt”
Beschränkung auf einen Ausschnitt aus Kosten/Nutzen Aspekten:
 Informationsgewinnung , Pflege und Speicherung ist aufwendig
(nur) interessante Teil
 Information ist nicht / sehr schwer erhältlich
 Restriktionen durch den Datenschutz
zB
Schuhgröße des Hausmeisters?
Absatz-/Umsatzzahlen der Konkurrenz?
... ?
 Die Frage welcher Ausschnitt realisiert wird ergibt sich aus
 Was wird benötigt? ( Kapitel 1 und 2)
 Was ist erhältlich?
 Welche Kosten entstehen?
 Was darf gespeichert werden? (Datenschutzgesetz)
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-3
Beispiele:
 Kunden- und Produktdaten sind unverzichtbar.
 Daten über alle Konsumenten der Zielgruppe sind i.d.R nicht oder mit einem nicht
vertretbaren Aufwand zu erhalten und zu pflegen ( Direktmarketing Agenturen
mit Adresspools,  Marktforschungsunternehmen mit statistischen Daten)
 Die Absatz- und Umsatzzahlen der Konkurrenz sind i.d.R. nicht oder nur
rudimentär im Informations- und Kommunikationssystem des Unternehmens zu
finden, weil diese Daten kaum zu beschaffen sind.
 Personenbezogene Daten dürfen nur mit Zustimmung für einen bestimmten
Zweck gespeichert werden. Ein anderer Einsatz oder gar „Verkauf“ der Daten
(z.B. zu Direkt-Mailing Aktionen) ist nicht erlaubt.
Bemerkung:
Die Betrachtung des Ausschnittes erfolgt nicht mit dem Anspruch, hieraus auf den Rest der
Welt schließen zu können. (Im Gegensatz zu anderen Modellen, wie z.B. in der
Marktforschung, deren Zweck es ist, aus den Erkenntnissen über die „Mini-Welt“ auf die
Gesamtheit zu schließen)
Beispiel: Geburtsdatum - Wenn es nicht gespeichert ist z. B. folgendes nicht möglich:
 Sortierung nach Alter
 Berechnung von Pensionsrückstellungen
 Erreichen der Altersgrenze
 Geburtstagsliste
Beispiel: Schuhgröße des Hausmeisters?
Prof. Dr. J. Weinberg
3.2
IuK-Systeme A - SS 2000
Seite 3-4
Objekt (Entität, Entity)
Objekte sind „Gegenstände der realen Welt oder der Vorstellung“
 Personen, Mitarbeiter, Studenten, ...
 Hunde, Katzen, Kühe, Elefanten, ...
 Kunden, Lieferanten, Mitarbeiter, Banken, ...
 Produkte, Maschinen, Häuser, Studiengänge, ...
 Produktgruppen, Aufträge, Mietverträge, Freundschaften, Stücklisten, ...
 ...
Jeder „Gegenstand“, der „informationsmäßig verwaltet“ werden soll, wird in einem E-RModell als Objekt bezeichnet. Welche Objekte modelliert werden, hängt von der
Aufgabenstellung ab: Information über Elefanten wird bei vielen Unternehmen nicht benötigt,
bei Tierhändlern schon eher. Für einen Zoo müssen IuK-Systeme auch exotische Tiere
verwalten können.
Ein Objekt wird beschrieben durch seine Eigenschaften und Beziehungen zu anderen
Objekten:
 Attribut (Eigenschaft)
 Relation (Relationship, Beziehung)
Beispiel Mitarbeiter
Attribut
in Datenbank?
Name

Vorname

Geb.-Datum

Straße

PLZ

Ort

Größe
?

Haarfarbe
?

Augenfarbe
?

Model-Agentur
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-5
Beziehungen zu anderen Objekten:
 Arbeitsplatz
 Gehaltsklasse
 Gehaltskonto
Die Beziehung wird als Referenz auf ein anderes Objekt dargestellt:
Arbeitsplatz:
MA Müller
ist beschäftigt in
Schlosserei
(Objekt MA)
(Beziehung)
(Objekt Arbeitsplatz)
MA Müller
gehört zu
Tarifgruppe T4
(Objekt MA)
(Beziehung)
(Objekt Gehaltsklasse)
MA Müller
besitzt
Konto 4711 bei Voba
(Objekt MA)
(Beziehung)
(Objekt Gehaltskonto)
Gehalt:
Gehaltskonto.:
Die Beziehungen des E-R-Modells werden grafisch dargestellt:
1. Schritt:
Mitarbeiter
n
n
„gehört zu”
1
Tarifgruppe
1
„besitzt”
„hat”
1
Arbeitsplatz
Kardinalität:
 1:1
 1:n
 n:m
1
Gehaltskonto
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-6
2. Schritt:
Weitere Objekte „ableiten”
z.B.
Gehaltskonto
n
Konto
1
Bank
E-R - Modell
„hat”
Mitarbeiter
1
„bei”
Konto
1
n
Bank
1

Name

Konto - Nr.

BLZ

Vorname

BLZ

Bankname

...

ab

Adresse

bis

...

…
In dieser Konstellation ( 1 : 1 ) kann auf das Objekt “Konto” verzichtet werden, wenn das
Konto in den Mitarbeiter integriert wird.
Mitarbeiter
„hat Gehaltskonto bei”
Bank

Personal-Nr

BLZ

…

…

Gehaltskonto - Nr.

…

Gehalts - BLZ

…
 1:1-Beziehungen können ein E-R-Modell unnötig verkomplizieren und werden ggf.
vermieden. Dies ist jedoch nicht immer möglich, da bei der Integration einer 1:1Beziehung ein Objekt „verschwindet“.
 Stehen beide Objekte in Beziehungen zu anderen Objekten, müssen beide Objekte
modelliert werden
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-7
 „Löschdefekt“: Wenn ein Objekt nur als „Teil“ eines anderen Objektes modelliert
wurde, wird das Teilobjekt bei Löschung des „Haupt“-Objektes auch gelöscht.
( „Normalisierung“, „1. - 3. Normalform“)
 „Ehe“ ist in der BRD gesetzlich eine 1:1-Beziehung. Im E-R Modell müssen
jedoch beide Partner als „Objekt“ modelliert werden
„ist verheiratet mit”
Mann
Frau
1
1
1
1
„ist Vater von”
„ist Mutter von”
n
Kind
n
Beispiel einen n:m Beziehung: „Freundschaften“
0
„ist befreundet mit”
Mädchen
m
Junge
n
 Simone
 Jens
 Petra
 Oliver
 Iris
 Peter
 Nina
 Paul
Prof. Dr. J. Weinberg
3.3
IuK-Systeme A - SS 2000
Seite 3-8
Primärschlüssel
Jedes Objekt muß eindeutig identifizierbar sein.
Ein oder mehrere Attribute, die das Objekt eindeutig identifizieren, werden
 Primärschlüssel
genannt.
In der Praxis haben sich die folgenden Designregeln bewährt:
Designregeln für Primärschlüssel:
 „nicht sprechende“ Zählnummer („laufende Nummer“)
zB
 Matrikelnummer
 Kundennummer
 Personalnummer
 Artikelnummer
 ...
Gründe:
 Sicherheit: eindeutige Identifikation ist gesichert. Jede Kombination von
Attributen birgt die Gefahr von „Doubletten“
 Flexibilität: alle Attribute können geändert werden, ohne daß der Primärschlüssel
verändert wird ( Datenkonsistenz, s.u. „referentielle Integrität“)
 Speicherplatz/Performance: kurze Primärschlüssel, effizienter Index (technischer
Vorteil)
 Datenschutz: aus dem Primärschlüssel kann keine Information gezogen werden,
Daten können „anonym“ unter dem Primärschlüssel veröffentlicht werden
Beispiele sprechender Schlüssel: Rentenversicherungsnr, „Bundeswehrnr.“
Ausnahmen:
 Hierarchische Beziehungen der Art „gehört zu“ (nicht änderbar!)
Hier kann der Primärschlüssel aus zwei Teilen bestehen
 (Primär-) Schlüssel des „übergeordneten“ Objektes +
 lfd. Nummer für das Objekt
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-9
Beispiele:
Mandantenfähige Systeme: Jedes Objekt „gehört“ zu einer Firma, die Firmennr. wird Teil des
Primärschlüssels (bei SAP „Buchungskreis“) ( Berechtigungsprüfungen, Datenschutz): zB
Fimennr/Personalnr - bei einem Firmenwechsel wird eine neue Personalnr. vergeben.
Extern vergebenen Nummernkreisen: BLZ/Kontonummer  Eindeutigkeit
Aufträge, Rechnungen, etc.: Bestehen aus „Kopf“ und zugehörigen Positionssätzen (genaueres
s.u.).
3.4
Darstellung der Referenzen der Form 1:n und 1:1
Objekt A bezieht sich auf Objekt B in der Form n:1
OBJEKT A
n
„Semantik”
1
1
OBJEKT B

Primärschlüssel A

Primärschlüssel B

Attribut A1

Attribut B1

Attribut A2

Attribut B2

Attribut A3

...

Primärschlüssel B

Attribut By

...

Attribut Ax
Der Primärschlüssel des bezogenen „Fremdobjektes“ wird beim Objekt A hinterlegt und
 Fremdschlüssel
genannt.
Der Fremdschlüssel wird beim Objekt „gegenüber“ der „1“ abgelegt.
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-10
Beispiel Artikel / Warengruppe
Übung: Die Kunden werden von einem Vertreter betreut. Stellen Sie ein ER-Modell für
Kunden/Vertreter auf. Welche Probleme treten auf, wenn (fälschlicherweise) versucht wird,
die Kunden beim Vertreter zu hinterlegen?
 Eine falsche Modellierung (mehrere Attribute Kunde1, Kunde2, ... , KundeM) führt
zu Problemen beim Datenretrieval ( SQL-Abfragen s.u.), verschwendet ggf. Platz
(ungenutzte Attribute / Datenfelder) und führt ggf. zwangsläufig zu
Strukturveränderungen, wenn die Anzahl überschritten wird.
 Strukturänderungen sind später nur mit großem Aufwand zu realisieren, da
Programme und Formate des IuK-Systems an die neue Struktur angepaßt werden
müssen
Beispiel:
Jahr 2000 - Problematik (in vielen Datenbanken ist das Jahr nur 2-stellig abgelegt 
Jahr 2000 = „00“ und wird wie 1900 verarbeitet)
 Datenbanken müssen umdefiniert werden.  enormer Arbeitsaufwand, da auch
sämtliche Programme geändert werden.
Beispiel:
Einfügen eines neuen Attributes ( Feld in der Datenbank). Die Programme müssen das
Attribut verarbeiten. Bildschirm- und Druck-Layouts müssen angepaßt werden.
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-11
Objekt A bezieht sich auf Objekt B in der Form 1:1
Der Primärschlüssel des bezogenen „Fremdobjektes“ wird beim Objekt A oder Objekt B
hinterlegt (jedoch nur eine der beiden Möglichkeiten, um Redundanz zu vermeiden!)
entweder:
Alternative 1
1
OBJEKT A
„Semantik”
1
1
OBJEKT B

Primärschlüssel A

Primärschlüssel B

Attribut A1

Attribut B1

Attribut A2

Attribut B2

Attribut A3

Primärschlüssel A

...

...

Attribut Ax

Attribut By
oder
Alternative 2
OBJEKT A
1
„Semantik”
1
1
OBJEKT B

Primärschlüssel A

Primärschlüssel B

Attribut A1

Attribut B1

Attribut A2

Attribut B2

Attribut A3

...

Primärschlüssel B

Attribut By

...

Attribut Ax
 Alternative 1 kann problemlos in eine 1:n - Beziehung erweitert werden.
 Alternative 2 kann zu einer n:1 - Beziehung werden
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-12
 Bei der Wahl der Modellierung sollten mögliche künftige Entwicklungen
berücksichtigt werden. (zB heute Region-Vertreter 1:1 ggf später Region-Vertreter
n:1)
Beispiel: Ehe
entweder:
„ist verheiratet mit”
Mann
1
Frau
1

Mann - Nr.

Frau - Nr.

Name

Name

Adresse

Adresse

…

…

Mann - Nr.
oder:
„ist verheiratet mit”
Mann
1
Frau
1

Mann - Nr.

Frau - Nr.

Name

Name

Adresse

Adresse

…

…

Frau - Nr.
Welche Modellierung sollte gewählt werden, wenn nicht auszuschließen ist, daß die
Datenbank auch bei ausländischen Tochtergesellschaften eingesetzt wird (z.B. im Nahen
Osten)?
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-13
Übungsbeispiele:
a) Stellen Sie die folgende Situation in einem E-R Modell dar: Skizzieren Sie die Objekte,
Attribute, Referenzen und geben Sie die „Semantiken“ und „Kardinalitäten“ an:
Produkthierarchie:
Produkt - Produktgruppe - Produkthauptgruppe - Produktgeneralgruppe
Produkt
“gehört zu”
Produktgruppe






Produkt - Nr.
Produkt-Bezeichnung
Preis
...
PG - Kürzel
...




PG - Kürzel
PG-Bezeichnung
PHG - Nr.
…




PHG - Nr.
PHG-Bezeichnung
PGG - Nr.
…



PGG - Nr.
PGG-Bezeichnung
…
“gehört zu”
Produkthauptgruppe
“gehört zu”
Produktgeneralgruppe
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-14
b) Stellen Sie die folgende Situation in einem E-R Modell dar: Skizzieren Sie die Objekte,
Attribute, Referenzen und geben Sie die „Semantiken“ und „Kardinalitäten“ an.
Ein Unternehmen („Bitburger“) verkauft Produkte an Kunden. Die Kunden werden von
Vertretern betreut. Die Zuordnung der Kunden zu Vertretern findet nach Vertriebsgebieten
(„Regionen“) statt.
„kauft”
Produkt
m
„betreut“
n
„ist ansässig in”
n 





Kunden - Nr.
Name
Adresse
...
Region - Nr.
...
1
Vertreter
1



Kunde
„betreut”
1
Region
Name
Personal - Nr.
Region - Nr.





Region - Nr.
Region-Bezeichnung
Größe in qkm
Bevölkerungsanzahl
…
Alternativ könnte auch eine Beziehung „betreut“ zwischen Vertreter und Kunde modelliert
werden (im Diagramm rot und gestrichelt dargestellt). Da hierdurch ein „logischer Zirkel“
entstände, muß in diesem Fall auf eine der anderen Beziehungen (Kunde-Region oder
Vertreter-Region) verzichtet werden, um eine Redundanz zu vermeiden.
Bemerkung: Im Beispiel „Vater, Mutter, Kind“ (s.o.) liegt kein „logischer Zirkel“ vor. Weder
kann aus der Tatsache einer Ehe auf die Vater- oder Mutterschaft geschlossen werden, noch
müssen der Vater und die Mutter eines Kindes verheiratet sein. In diesem Fall müssen alle
Beziehungen modelliert werden:
Prof. Dr. J. Weinberg
3.5
IuK-Systeme A - SS 2000
Seite 3-15
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
(Skizze 10)
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:
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
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.
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-16
Beispiel Freundschaft
Mädchen
1

Mädchen - Nr.

Name

Adresse

…
n
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 A - SS 2000
Seite 3-17
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 A - SS 2000
Seite 3-18
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“
z.B.:
 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 A - SS 2000
Seite 3-19
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 A - SS 2000
Seite 3-20
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 A - SS 2000
Seite 3-21
Beispiel Auftrag ( ACCESS Datenbank Auftrag.mdb in ...\WI-A\Uebung\Uebung7)
Beispiel der Tabellen
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Auftragsbestätigung über eine virtuelle Tabelle („View“, Abfrage“ s.u.)
Seite 3-22
Prof. Dr. J. Weinberg
3.7
IuK-Systeme A - SS 2000
Seite 3-23
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! (Beispiel: Preis=0)
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-24
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.
Prof. Dr. J. Weinberg
3.8
IuK-Systeme A - SS 2000
Seite 3-25
Übergang Entity-Relationship Modell  Datenbank
„Wie werden die Objekte im Rechner gespeichert?“
Aus der E-R Modell wird die Struktur der Datenbank abgeleitet:
 Objekt
Datei (Tabelle)
 Primärschlüssel
 Attribut
Feld
 Fremdschlüssel
 Formaler Aufbau der Datei: Dateibeschreibung (in ACCESS: „Entwurf“)
In der Datei werden die „konkret existierenden“ Objekte gespeichert
 Datensätze
Bemerkung:
In der Terminologie wird in der Praxis i.d.R. nicht zwischen der
 formalen Beschreibung der Objekte
 den konkreten Objekten
unterschieden.
Beispiel:
Das Objekt Student ist beschrieben durch die Attribute und Schlüssel (Felder):
Die „konkreten Objekte“ (gespeicherten Studenten) sind:
Hinweis:
Beim Erstellen der Datenbank sind ergänzende Festlegungen erforderlich
 formale Feldbeschreibungen (s.u.)
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-26
 Integritätsregeln („Gültigkeitsprüfungen“, s.u.)
3.9
Relationale Datenbanken
Bemerkung: Es gibt weitere „Typen“ von Datenbanken: z.B. „hierarchische Datenbanken“
oder „Netzwerk Datenbanken“, die jedoch zunehmend auf relationale Datenbanken umgestellt
werden. In der Praxis handelt es sich dabei entweder um „Altlasten“ oder es gibt im Einzelfall
technische Gründe („Performance“ = „Zugriffsgeschwindigkeit“) für diese speziellen
Lösungen. Die Verwaltung und der Zugriff auf die Daten erfordert bei diesen Datenbanken
i.d.R „Spezialwissen“ und ist „EDV-Technikern“ vorbehalten.
Eine relationale Datenbank wird durch „Tabellen“ (Dateien) gebildet, die „normalisiert“ sind,
d.h. folgenden Regeln entsprechen:
 redundanzfrei
(keine mehrfache Speicherung gleicher Information)
 keine „Defekte“ (Anomalien) bei Speichern, Löschen und Verändern der
Datensätze
 „korrekte“ Beschreibung des Ausschnitts der Realität
 Diese Anforderungen werden „automatisch“ erfüllt, wenn der Datenbank ein
korrektes Entity-Relationship Modell zugrunde liegt! (inhaltlicher Ansatz)
 In der Praxis werden aus „Performance“ - Gründen im Einzelfall gezielt redundante
Daten gespeichert ( „Vorverdichtung“)
 In der Literatur findet sich i.d.R. ein theoretischer Ansatz: „1. - 5. Normalform“, der
eine mathematisch formale Methode darstellt, die Anforderungen zu erfüllen.
 Eine Weiterentwicklung der relationalen Datenbanken sind „Objektorientierte
Datenbanken“, die sich bislang in der Praxis nur selten finden.
(siehe z.B. A. Maier, Wüst, Th: Objektorientierte Datenbanken)
 Speziell für den Einsatz als () Data-Warehouse wurden „Multidimensionale
Datenbanken“ entwickelt, die vorverdichte Summen (redundant) abspeichern und
für einen schnellen flexiblen Zugriff optimiert wurden ( OLAP).
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-27
Formal besteht eine relationale Datenbank aus folgenden Elementen.
 Datenbank
(Database, Zusammenfassung aller Dateien eines Systems)
 Datei (Tabelle)
(file, Zusammenfassung aller gleichartigen Datensätze)
 Datensatz (record, logische Einheit = „konkretes Obekt“
 Datenfeld (kleinste Informationseinheit)
(Skizze 16)
Felder entsprechen Attributen, Primär- und Fremdschlüsseln des E-R Modells. Sie werden
durch folgende Angaben festgelegt (Feldbeschreibung):
 Feldname ( Attribut)
 Typ
 Länge
 Integritätsregeln
Typ (Bsp):
 Zeichen („Character“)
 Zahl (Ganzzahl (Integer), Dezimalzahl, Fließkomma, ..)
 Objekt (Graphik, Audio, Video, ...)
Länge:
 Zeichen: (max) Anzahl Zeichen
 Ganzzahl (Integer). (max) Anzahl Stellen
 Dezimalzahl: Anzahl Vor-, Nachkommastellen
 Fließkommazahl: Anzahl „signifikanter Stellen“
Integritätsregeln (Auswahl)
 Zweck: Eingabe- oder Verarbeitungsfehler automatisch entdecken
 Abhängig vom Feld, anderen Feldern, anderen Dateien, ...
 werden automatisch vom Datenbank Verwaltungsprogramm überprüft
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-28
Abhängig vom Feld
 Wertebereich
 Eingabe erforderlich: „Muß-Feld“ ( Fehler), „ Soll-Feld“ ( Hinweis)
Beispiele Wertebereich:
 von - bis: Preis zwischen 1,00 und 20,00 DM, Gewicht > 50, ...
 zulässige Werte: Haarfarbe blond, braun, schwarz, grün, ...
 Formel
Beispiele „Eingabe erforderlich“:
 Kundenname muß eingegeben werden
 Vertreternummer „soll“ eingegeben werden, wenn nicht  Hinweis, der bestätigt
werden muß
Abhängig von anderen Felder (der selben Datei)
 Wertebereich
 Eingabe erforderlich: „Muß-Feld“ ( Fehler), „ Soll-Feld“ ( Hinweis)
Beispiele:
 Wenn Preis < 100 dann Rabatt < 3 %, sonst < 5 %
 Wenn Warengruppe = ABC dann Preis zwischen 50 und 500 DM
 Wenn Vertreter zugeordnet  Provisionssatz erforderlich
Abhängig von Datensätzen und Feldern anderer Dateien
 Wertebereich
 Eingabe erforderlich: „Muß-Feld“ ( Fehler), „ Soll-Feld“ ( Hinweis)
 referentielle Integrität (s.u.)
Beispiele:
 Personalstamm. Wenn Ehegatte berufstätig dann Steuerklasse III, IV, V oder VI
 Auftrag: Wenn Kunde im „feindlichen“ Ausland und Produkt „Kriegswaffe“ (zB
Verschlüsselungssoftware) dann Ausfuhrgenehmigung erforderlich
Prof. Dr. J. Weinberg
IuK-Systeme A - SS 2000
Seite 3-29
3.10 Referentielle Integrität
Bei einer Referenz muß das bezogene Objekt vorhanden sein:
 „gültiger Fremdschlüssel“
(Skizze 16 Vertreter - Kunde:
Der durch die Vertreter Nr eindeutig bestimmte Vertreter muß existieren)
Die referentielle Integrität kann durch folgende Aktionen verletzt werden:
 falsche Eingabe ( Prüfung)
 Löschen des bezogen Objektes
 Verändern des Primärschlüssels des bezogen Objektes ( falsche Modellierung!)
Beispiel:
Welche Konsequenz hat das Ausscheiden des Vertreters Maier (Vertreternr. 4711)?
 Löschen des Vertreters: (Stammsatz) „hartes“ / „weiches“ Löschen
 Was geschieht mit den (ehemaligen) Kunden von „4711“
 Möglichkeiten:
 Ersatz: Müller (4813) statt Maier  (immer?) automatisch / manuell
 vorläufig kein Vertreter  „Null-Wert“ (n/a, n/v, nicht zugeordnet)
Hinweis: Unterschied „Null-Wert“ von Wert=0 (Beispiel: Preis!)
Hinweis: „Trigger“ können ggf. die referentielle Integrität „überwachen“ und je nach
„Entscheidungsregel“ Warnungen oder Hinweise geben, automatische Aktionen veranlassen
oder im „Extremfall“ eine „Rückabwicklung“ (Roll-Back“) durchführen.
Herunterladen