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