Datenbanktheorie

Werbung
Wirtschaftsinformatik
ER Modell
Relationenmodell
Wirtschaftsinformatik II
Datenbanktheorie
Wirtschaftsinformatik
Organisation
Organisationseinheiten
Daten
`
Steuerung
Informationsobjekte
Funktion
Aufgaben
Integration
Datenbanktheorie
2
Das Entity-Relationship-Modell (ERM)
Wirtschaftsinformatik
• Erster Schritt zum Aufbau eines datenbankbasierenden
Informationssystems ist die Zusammenstellung der fachlichen
Anforderungen und der Beschreibung und Darstellung aller
relevanten Daten und ihrer Beziehungen untereinander
• Unterstützt durch ER-Modell
• Entwurf der logischen Datenstruktur
• Leicht verständliches, übersichtliches Kommunikationsmittel
zwischen beteiligten Stellen
• Unabhängig vom einzusetzenden Datenbanksystem
(Quelle: Abts, Mülder: „Grundkurs Wirtschaftsinformatik“, Kapitel 6)
Datenbanktheorie
3
Bestandteile eines ER-Modells
•
•
•
•
•
•
Wirtschaftsinformatik
Entität
– Ein zu beschreibendes Datenobjekt wird auch als Entität bezeichnet.
– Kunde „Meier“ oder „Sony Floppy 3.5 Zoll grau“ sind z.B. Datenobjekte/
Entitäten.
Attribut
– Merkmal/Eigenschaft von Entitäten, z.B. Kundenname, Adresse, PLZ, Ort,
Land sind Attribute.
Entitätstyp (auch Objekttyp)
– Die Gesamtheit aller gleichartigen Entitäten wird als Entitätstyp bezeichnet.
Ein Entitätstyp ist z.B. Kunde oder Artikel.
Beziehung
– Zwischen Entitäten können Beziehungen (Relationen) bestehen. So kann
z.B. der Kunde „Meier“ eine „Floppy 3.5 Zoll grau“ bestellen.
Beziehungstyp (oft einfach „Beziehung“ bezeichnet)
– Gleichartige, d.h. bezüglich ihrer Art und der beteiligten Entitätstypen
übereinstimmende Beziehungen werden zu Beziehungstypen
zusammengefasst. Beispiel: Kunde „bestellt“ Artikel.
Kardinalität
– Anzahl der an einer Beziehung möglicherweise beteiligten Elemente zweier
Entitäten; z.B. kann ein Kunde ____ Bestellungen aufgeben, jede Bestellung
gehört zu ____ Kunde(n)  Hängt von den fachlichen Anforderungen ab!
Datenbanktheorie
4
Beispiel eines vollständigen ER-Diagramms
Kunde
KundenNr
NName Vorname
Datenbanktheorie
Artikel
bestellt
Bestelldatum
PLZ
Ort
Wirtschaftsinformatik
Menge
…
ArtikelNr
ArtikelBezeichnung
Preis
5
Das Entitätenblockdiagramm
•
•
•
•
Wirtschaftsinformatik
Vereinfachtes ER-Diagramm
Dargestellt werden: Entitätstypen/Objekttypen (als Rechtecke),
Beziehungstypen (als Kanten/Linien), Kardinalitäten
Attribute werden im Entitätenblockdiagramm nicht dargestellt.
Beispiel:
Kunde
Datenbanktheorie
m
bestellt n
Artikel
6
Schritte zur Erstellung eines ER-Modells
•
•
•
•
•
•
Wirtschaftsinformatik
Definition der Entitätstypen
Definition der Beziehungen zwischen den Entitätstypen
Definition der Art der Beziehungen
Grafische Darstellung
Diskussion  Verbesserung
 Normalisierung
Datenbanktheorie
7
Kardinalität: Art der Beziehung
Wirtschaftsinformatik
Kardinalität
Student
1
hat
1
Ausweis
1:1 Eins zu Eins
Ein Student hat einen Ausweis.
Ein Ausweis gehört zu einem Studenten.
Professor
1
betreut
n
Studenten
1:n Eins zu Viele
Ein Professor betreut beliebig viele Studenten.
Ein Student wird von einem Professor betreut.
Kunde
m
bestellt n
Artikel
m:n Viele zu Viele
Ein Kunde kann mehrere (verschiedene) Artikel kaufen
Ein Artikel kann von mehreren Kunden bestellt werden
Datenbanktheorie
8
Datenmodell
Datenbanktheorie
Wirtschaftsinformatik
9
Relationenmodell (Tabellen)
Wirtschaftsinformatik
Tabelle (auch als Relation bezeichnet): Kunden
Entitätstyp
Kunde
(Tabellenname)
KundenNr
Nachname
Vorname
Strasse
PLZ
Ort
Land
Attribute
Meier
Wolfgang
Am Bach 12
4104
Oberwil
CH
(Attributsname) 100
130
Huber
Michael
Lieferstrasse 44
4002
Basel
CH
Datensatz
(record, Tupel) 140
Schmitz
Thomas
Gümlingenhof
3000
Bern
CH
Attributwert
Kurzschreibweise: Kunden (KundenNr, Kunde, Strasse, PLZ, Ort, Land)
Datenbanktheorie
10
Weitere DB-Begriffe
•
•
•
•
•
Redundanz
– Mehrfache
Speicherung derselben
Information
Wirtschaftsinformatik
Bestell
Nr
Positions
Nr
KundenNr
Nachname
Vorname
2
1
140
Schmitz
Thomas
2
2
140
Schmitz
Thomas
4
1
130
Huber
Michael
4
2
130
Huber
Michael
Daten-Inkonsistenz
– Daten sind nicht eindeutig
Wertebereich (Domäne)
– Beschränkung derjenigen Werte, die ein Attributwert annehmen
kann
Nullwerte
– Bedeutet kein Attributwert
Normalisierung
– Dient der Vermeidung von Redundanzen (mehrfache Speicherung
derselben Informationen) und damit der Sicherstellung der
Datenkonsistenz (Eindeutigkeit der Daten)
Datenbanktheorie
11
Schlüssel
•
•
Wirtschaftsinformatik
Primärsschlüssel
Fremdschlüssel
Datenbanktheorie
12
Primärschlüssel
Wirtschaftsinformatik
Häufig auch: Identifikationsschlüssel, ID-Schlüssel
• Identifiziert einen Datensatz (engl. record) einer Tabelle
eindeutig
• Besteht aus einem oder mehreren Attributen
• Kriterien:
– Es dürfen nicht mehrere Datensätze einen Primärschlüssel
mit dem gleichen Attributwert bzw. mit der gleichen
Kombination von Attributwerten aufweisen. Der
Primärschlüssel muss also eindeutig sein.
– Jedem neuen Datensatz muss sofort der entsprechende
Attributwert des Primärschlüssels zugeteilt werden
– Der Primärschlüsselwert eines Datensatzes darf sich
während dessen Existenz nicht ändern
Datenbanktheorie
13
Beispiele eines Primärschlüssels
Wirtschaftsinformatik
ArtikelNr
Artikel
Preis
ArtikelgruppenNr
203
Sony Floppy 3.5 Zoll grau
16
18
202
Sony Floppy 3.5 Zoll schwarz
16
18
205
Sony USB Floppy 3.5 Zoll
extern
35
18
204
Floppy 3.5 Zoll silber
16
18
403
256 MB PC3200 Modul OEM
29.9
1
404
512 MB PC3200 Modul OEM
62
1
KundenNr
Nachname
Vorname
Strasse
PLZ
Ort
Land
100
Meier
Wolfgang
Am Bach 12
4104
Oberwil
CH
130
Huber
Michael
Lieferstrasse 44
4002
Basel
CH
120
Schmitz
Thomas
Waldheimstr. 89
3012
Bern
CH
140
Schmitz
Thomas
Gümlingenhof
3000
Bern
CH
Datenbanktheorie
14
Fremdschlüssel
Wirtschaftsinformatik
•
Ein Fremdschlüssel ist ein Attribut (oder eine Attributkombination), das in
einer anderen Tabelle Primärschlüssel ist.
•
Beziehungen zwischen Tabellen werden also über Fremdschlüssel
hergestellt.
ArtikelgruppenNr
Artikelgruppe
Primärschlüssel
Fremdschlüssel
1
Arbeitsspeicher
2
Grafikkarten
10
Mainboards
12
Harddisk
18
Floppy
ArtikelNr
Artikel
Preis
ArtikelgruppenNr
203
Sony Floppy 3.5 Zoll grau
16
18
202
Sony Floppy 3.5 Zoll schwarz
16
18
502
Asus X300SE 128 MB
136
768
Elitegroup AVDXG305
150
10
403
256 MB PC3200 Modul OEM
29.9
1
404
512 MB PC3200 Modul OEM
62
1
Datenbanktheorie
2
15
1:1 Beziehung
Student
1
Wirtschaftsinformatik
hat
1
Ausweis
Matrikelnummer
Nachname
Vorname
Ausweisnummer
Matrikelnummer
9755232
Schmitz
Stefan
1234124
9755232
9955633
Seifert
Peter
2436542
9955633
9754983
Schuhman
Christian
2345662
9754983
9676956
Hofbauer
Florian
2345646
9676956
Die Ausweisnummer kann in die Tabelle Studenten integriert werden:
Matrikelnummer
Nachname
Vorname
Ausweisnummer
9755232
Schmitz
Stefan
1234124
9955633
Seifert
Peter
2436542
9754983
Schuhman
Christian
2345662
9676956
Hofbauer
Florian
2345646
Datenbanktheorie
16
1:n Beziehung
Professor
1
Artikelgruppe 1
Artikelgruppe
Wirtschaftsinformatik
betreut
hat
n
Studenten
n
Artikel
Artikel
ArtikelgruppenNr
Artikelgruppe
ArtikelNr
Artikel
Preis
ArtikelgruppenNr
1
Arbeitsspeicher
203
Sony Floppy 3.5 Zoll grau
16
18
2
Grafikkarten
202
Sony Floppy 3.5 Zoll schwarz
16
18
10
Mainboards
205
35
18
12
Harddisk
Sony USB Floppy 3.5 Zoll
extern
18
Floppy
706
Kingston DDR2 512 MB Modul
103
1
501
Asus X300SE 128 MB TV-Out
103
2
Datenbanktheorie
17
m:n Beziehung
m
Kunde
Wirtschaftsinformatik
bestellt n
Artikel
eine m:n Beziehung muss aufgelöst werden!
Tabelle Artikel
Tabelle Kunde
ArtikelNr
Artikel
Preis
ArtikelgruppenNr
203
Sony Floppy 3.5 Zoll grau
16
18
202
Sony Floppy 3.5 Zoll schwarz
16
18
205
Sony USB Floppy 3.5 Zoll
extern
35
18
KundenNr
Nachname
Vorname
Strasse
PLZ
Ort
Land
100
Meier
Wolfgang
Am Bach 12
4104
Oberwil
CH
130
Huber
Michael
Lieferstrasse 44
4002
Basel
CH
120
Schmitz
Thomas
Waldheimstr. 89
3012
Bern
CH
140
Nagel
Frank
Gümlingenhof
3000
Bern
CH
Datenbanktheorie
18
m:n Beziehung
Kunde
1
Wirtschaftsinformatik
n
Bestellung
n
1
Artikel
Tabelle Bestellung
BestellNr
KundenNr
ArtikelNr.
Bestelldatum
Bestellmenge
1
100
203
23.04.05
5
2
130
205
19.02.05
14
2
130
203
19.02.05
32
Was passiert, wenn ein Kunde in einer Bestellung mehrere
verschiedene Artikel bestellen möchte?
Datenbanktheorie
19
m:n Beziehung
Wirtschaftsinformatik
Was passiert, wenn ein Kunde in einer Bestellung mehrere
verschiedene Artikel bestellen möchte?
 Dann ändert sich das Datenmodell:
Kunde
Datenbanktheorie
1
n
Bestellung
n
m
Artikel
20
m:n Beziehung
Kunde
Wirtschaftsinformatik
1
n
Bestellkopf
1
n
Bestellposition
n
1
Artikel
Kunde
Bestellkopf Bestellposition
Artikel
KundenNr
Nachname
Vorname
Strasse
PLZ
Ort
Land
…
BestellNr
Datum
Bestellwert
KundeNr
ArtikelNr
Artikel
Preis
…
Datenbanktheorie
BestellNr
BestellpositionsNr
Menge
ArtikelNr
21
Gegenüberstellung der Notationsformen
Wirtschaftsinformatik
1
C
M
MC
genau ein
kein oder ein
ein oder
mehrere
kein, ein oder
mehrere
1
Datenbanktheorie
c
m
mc
22
Herunterladen