04.11.2013 Aufrufe

Lehrbuch - DieBirne-Verlag

Lehrbuch - DieBirne-Verlag

Lehrbuch - DieBirne-Verlag

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

B 13 Informations- und Datenbankmanagement<br />

<strong>Lehrbuch</strong><br />

Informationsund<br />

Datenbankmanagement<br />

Praxisbeispiele, lehrreiche Abbildungen, Tabellen und ein Glossar<br />

Autor: Thomas Grosser; IT-Projektleiter, Dozent und Lehrmittelautor<br />

Copyright:<br />

Copyright © 2010<br />

<strong>DieBirne</strong> Bildungsmedien AG<br />

Zugerstrasse 47<br />

6312 Steinhausen<br />

www.diebirne.ch<br />

Alle Rechte, insbesondere das Recht der Vervielfältigung und Verbreitung sowie der<br />

Übersetzung, vorbehalten. Kein Teil des Werks darf in irgendeiner Form (durch Fotokopie,<br />

Mikrofilm oder ein anderes Verfahren) ohne schriftliche Genehmigung des<br />

<strong>Verlag</strong>s reproduziert oder unter Verwendung elektronischer Systeme gespeichert,<br />

verarbeitet, vervielfältigt oder verbreitet werden.<br />

3. Auflage 2010<br />

Layout und Satz: <strong>DieBirne</strong>-<strong>Verlag</strong><br />

Druck: Pentagraph, Berlin<br />

ISBN für das Lehrmittel (Lehr- und Übungsbuch): 978-3-905797-27-5<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

1


B 13 Informations- und Datenbankmanagement<br />

<strong>DieBirne</strong>-Bücher<br />

Lehrmittel aus dem <strong>DieBirne</strong>-<strong>Verlag</strong> sind klar strukturiert und verständlich aufgebaut.<br />

Die Kombination von <strong>Lehrbuch</strong> und Übungsbuch ergibt ein methodisch-didaktisches<br />

Konzept, das aufgrund von Beispielen einem starken Praxisbezug entspricht. Im <strong>Lehrbuch</strong><br />

weisen präzis gesetzte Symbole auf weiterführende Informationen hin (Literatur,<br />

Internet-Surf-Tipps, Gesetzestexte usw.). Ein Glossar erleichtert das selbständige<br />

Arbeiten. Das Übungsbuch korrespondiert optimal mit dem <strong>Lehrbuch</strong>. Die zu lösenden<br />

Aufgaben spiegeln den Wissensstand und unterstützen somit den Lernprozess.<br />

Auf diese Weise wird der Lehrstoff nach dem Prinzip «Learning by doing» vermittelt.<br />

Die <strong>DieBirne</strong>-Lehrmittel enthalten prüfungsrelevante Themen, die von erfahrenen<br />

Dozenten zusammengestellt wurden.<br />

Nach konsequenter Arbeit mit dem Buch sollten die Kursteilnehmer in der Lage sein,<br />

den Lehrgang erfolgreich abzuschliessen bzw. das Thema umfassend zu verstehen.<br />

Das <strong>DieBirne</strong>-Lehrmittel kann genutzt werden:<br />

• Als Grundlage für den selbstgesteuerten Lernprozess und vor allem<br />

• in Kombination mit dem Unterricht sowie den Hilfestellungen der Dozenten<br />

www.diebirne.ch<br />

2<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

Symbollegende<br />

Praxisbezug<br />

Korrespondenzsignal:<br />

1.) vom <strong>Lehrbuch</strong> zum Übungsbuch<br />

2.) vom Übungsbuch zum <strong>Lehrbuch</strong><br />

Surf-Tipp<br />

Literaturhinweis<br />

Gesetzestext<br />

Definition<br />

Wegweiser nach oben<br />

Wegweiser nach unten<br />

Hinweis<br />

Bitte lächeln!<br />

Formel<br />

Zeit<br />

Primär- und Fremdschlüssel<br />

Alle Bezeichnungen schliessen sowohl die männliche als auch die weibliche Form ein,<br />

auch wenn vornehmlich die männliche Form gebraucht wird. Das kann man schon<br />

daran erkennen, dass der <strong>Verlag</strong> den Namen einer weiblich besetzten Frucht <strong>DieBirne</strong><br />

trägt.<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

3


B 13 Informations- und Datenbankmanagement<br />

Inhalt<br />

Abkürzungsverzeichnis 9<br />

Aufbau des <strong>Lehrbuch</strong>s 11<br />

Inhalt und Aufbau dieses <strong>Lehrbuch</strong>s 11<br />

Teil A Grundlagen 12<br />

1 Einführung 13<br />

1.1 Nachrichten 13<br />

1.2 Informationen 13<br />

1.3 Redundanz 14<br />

1.4 Daten 14<br />

1.5 Semantische und syntaktische Fehler 15<br />

1.6 Datenbanksystem, Datenbank und Datenbankmanagementsystem 16<br />

1.6.1 Datenbanksystem (DBS) 16<br />

1.6.2 Datenbank (DB) 16<br />

1.6.3 Datenbankmanagementsystem (DBMS) 17<br />

2 Aufbau eines Datenbanksystems 18<br />

2.1 Aufbau der 3-Ebenen-Architektur 18<br />

2.1.1 Externe Ebene 19<br />

2.1.2 Konzeptionelle Ebene 19<br />

2.1.3 Interne Ebene 19<br />

2.2 Der Nutzen einer 3-Ebenen-Architektur 19<br />

3 Grundlagen der Datenmodellierung 20<br />

3.1 Entität 20<br />

3.2 Entitätsmenge 21<br />

3.2.1 Kernentitätsmenge 21<br />

3.3 Eigenschaft 21<br />

3.4 Domäne 21<br />

3.5 Faktum 22<br />

3.6 Entitätsattribut 22<br />

3.7 Beziehung 22<br />

3.8 Assoziationen 23<br />

3.8.1 Einfache Assoziation (Typ 1) 23<br />

3.8.2 Konditionelle Assoziation (Typ C) 23<br />

3.8.3 Komplexe Assoziation (Typ M) 24<br />

3.8.4 Abbildung/Darstellung 25<br />

3.9 Superentität und Subentität 26<br />

3.9.1 Superentität 26<br />

3.9.2 Subentität 26<br />

Teil B Datenmodellierung 27<br />

4 Einführung in die Datenmodellierung 28<br />

4.1 Relationale Datenbanken 29<br />

4.2 Beziehungen zwischen Entitätsmengen 29<br />

4.2.1 Notationen 30<br />

4.3 Realisierung 31<br />

5 Erstellung einfacher Datenmodelle 32<br />

5.1 ERM (Entity-Relationship-Modell) 32<br />

5.2 ERD (Entity-Relationship-Diagramm) 32<br />

5.3 Das Relationenmodell 33<br />

4<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

5.4 Festlegung der Schlüssel 33<br />

5.4.1 Primärschlüssel 33<br />

5.4.2 Fremdschlüssel 34<br />

5.4.3 Referentielle Integrität 34<br />

5.5 Korrekte Umsetzung der Anforderungen 35<br />

5.5.1 Erstellen eines ERDs 35<br />

5.5.2 Aufbau eines Relationenmodells 36<br />

6 Komplexe Datenmodelle 38<br />

6.1 1:m-Beziehung 38<br />

6.2 Auflösung komplexer Beziehungen 38<br />

6.3 Generalisierung und Spezialisierung 40<br />

6.4 Doppelte Beziehungen 41<br />

6.5 Rekursive Beziehungen 42<br />

6.5.1 Die c-mc-Rekursion 42<br />

6.5.2 Die mc-mc-Rekursion 43<br />

7 Das Normalisieren von Daten 45<br />

7.1 Unnormalisierte Form 45<br />

7.2 Erzeugung einer Normalform (1. Schritt) 46<br />

7.3 Erzeugung einer Normalform (2. Schritt) 46<br />

7.4 Erzeugung einer Normalform (3. Schritt) 48<br />

8 Das Historisieren von Daten 49<br />

8.1 Historisieren von Entitäten 50<br />

8.2 Historisieren von Beziehungen 52<br />

8.2.1 Historisierung einer Beziehung mittels Zwischentabelle 53<br />

8.2.2 Historisierung einer Beziehung ohne Zwischentabelle 53<br />

8.3 Auswirkung der Historisierungsvorgänge auf eine Datenbank 54<br />

Teil C Data-Mapping 55<br />

9 Einführung 56<br />

9.1 Einsatz einer neuen Datenbank 56<br />

9.2 Mappingformen/-arten 57<br />

9.3 Problemfelder 58<br />

9.3.1 Datenstruktur 58<br />

9.3.2 Semantik 58<br />

9.3.3 Datenreinheit 58<br />

9.3.4 Dokumentation 58<br />

9.3.5 Technologie 58<br />

9.3.6 Know How der Mitarbeiter 58<br />

10 Planung des Mappings 59<br />

10.1 Ziel analysieren 59<br />

10.2 Quelle analysieren 60<br />

10.3 Konversionsregeln 60<br />

10.3.1 Überblick über die Konversionsregeln 61<br />

10.3.2 Einsatz von Zwischentabellen 63<br />

10.4 Berechnungen 64<br />

10.5 Nachfragen 64<br />

10.6 Schlüsselvererbung 65<br />

10.6.1 Problematik mit der Schlüsselvererbung 65<br />

10.6.2 Schlüsselverwaltung 66<br />

Teil D Beschaffung von Managementinformationen 68<br />

11 Management-Support-Systeme (MSS) 69<br />

11.1 Operative Systeme 70<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

5


B 13 Informations- und Datenbankmanagement<br />

11.2 Data-Warehouse 70<br />

11.3 Management-Information-System (MIS) 70<br />

11.4 Decision-Support-System (DSS) 70<br />

11.5 Executive-Information-System (EIS) 70<br />

12 Data-Warehouse im Detail 71<br />

12.1 Das Data-Warehouse-System 71<br />

12.1.1 Operative Systeme innerhalb eines Data-Warehouses 72<br />

12.1.2 Mapping innerhalb eines Data-Warehouses 73<br />

12.1.3 Die Data-Warehouse-Datenbank 73<br />

12.1.4 Data-Mart 73<br />

12.1.5 OLAP - OnLine-Analytical-Processing 74<br />

12.1.6 Data-Mining 75<br />

12.1.7 Auswertung 76<br />

12.2 Zur Data-Warehouse-Architektur 78<br />

12.2.1 Ein unternehmenstaugliches Data-Warehouse 78<br />

12.2.2 Mehrschichtiges Data-Warehouse 79<br />

13 Modellierung eines Data-Warehouses 80<br />

13.1 Dimensionen und Fakten 80<br />

13.1.1 Festlegung der Fakten 80<br />

13.1.2 Dimensionen 81<br />

13.2 Mapping von Fakten und Dimensionen 82<br />

13.2.1 Dimensionstabelle «Kunde» 82<br />

13.2.2 Faktentabelle «Verkauf» 83<br />

13.3 Das Star-Schema 84<br />

13.4 Das Snowflake-Schema 85<br />

13.5 Abfragemöglichkeiten in der Praxis 86<br />

Teil E Datensicherung 87<br />

14 Beweggründe für eine professionelle Datensicherung<br />

88<br />

14.1 Gefahrenpotenzial für jede Unternehmung 88<br />

14.2 Bedrohungen im Einzelnen 88<br />

14.2.1 Höhere Gewalt 88<br />

14.2.2 Menschliches Versagen 88<br />

14.2.3 Kriminelle Aktivitäten 88<br />

14.3 Schutzmassnahmen 89<br />

14.3.1 Technische Massnahmen 89<br />

14.3.2 Bautechnische Massnahmen 89<br />

14.3.3 Organisatorische Massnahmen 89<br />

15 Sicherheitsbegriffe 90<br />

15.1 Datenschutz 91<br />

15.2 Sicherheit der Daten 91<br />

15.3 Sicherung der Daten 92<br />

15.4 Backup und Archivierung 92<br />

15.4.1 Backup 92<br />

15.4.2 Archivierung 92<br />

15.4.3 Backup und Archiv im Vergleich 93<br />

15.5 Restore 93<br />

15.6 Disaster Recovery 93<br />

16 Speichermedien 94<br />

16.1 Die magnetischen Speichermedien 94<br />

16.1.1 Disketten 94<br />

16.1.2 ZIP-Disketten 95<br />

16.1.3 Festplatten/Wechselfestplatten 95<br />

16.1.4 Magnetbänder 96<br />

6<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

16.2 Optische Speichermedien 97<br />

16.2.1 CD-Rom 97<br />

16.2.2 DVD 97<br />

16.3 Elektronische Speichermedien 97<br />

16.3.1 Flash-Speicher 97<br />

16.4 Kombinierte Speichermedien 98<br />

16.4.1 Die Magneto-Optical-Disk (MOD) 98<br />

17 Auswahl des richtigen Speichermediums 99<br />

17.1 Das passende Speichermedium für die erforderliche 100<br />

Datenmenge 100<br />

17.2 Dauer des Speichervorgangs 101<br />

17.3 Zeitaufwand für ein Restore 102<br />

17.4 Kosten für die Speichermedien (im Detail) 103<br />

17.5 Wiederherstellung nach einem Technikwechsel 103<br />

17.5.1 Zur Problematik langer Aufbewahrungszeiten 104<br />

17.5.2 Schutz vor Negativauswirkungen des Fortschritts 104<br />

17.6 Haltbarkeit der Daten auf Speichermedien 104<br />

17.7 Erweiterbare und multiple Suchmöglichkeiten 105<br />

18 Datensicherung im Detail 106<br />

18.1 Backuparten 106<br />

18.1.1 Das Einzelplatz-Backup 107<br />

18.1.2 Das automatische Backup 108<br />

18.1.3 Das LAN-Backup 109<br />

18.1.4 Das Storage-Area-Network (SAN) 110<br />

18.1.5 Das Backup über ein Network-Attached-Storage (NAS) 111<br />

18.1.6 Das Backup via Internet 111<br />

18.2 Sicherung grosser Datenmengen 111<br />

18.2.1 Vollständige Datensicherung 111<br />

18.2.2 Differentielle Datensicherung 112<br />

18.2.3 Inkrementelle Datensicherung 112<br />

18.2.4 Unterschied zwischen differentiellen und inkrementellen<br />

Backups 113<br />

18.3 Redundante Sicherungsformen 113<br />

18.3.1 RAID – Redundant Array of Independent Disks 113<br />

18.3.2 RAID-Arten 114<br />

18.4 Störungsfreie Stromversorgung 118<br />

18.4.1 Offline-USV-Anlagen (Mitlaufbetrieb) 119<br />

18.4.2 Online-USV-Anlagen (Dauerbetrieb) 119<br />

Teil F Dokumentenmanagement 120<br />

19 Einführung 121<br />

19.1 Rechtliche Aspekte 121<br />

19.2 Dateigrösse und Platzbedarf 123<br />

19.3 Dokumenten-Management-Systeme (DMS) 123<br />

19.3.1 Scannen 125<br />

19.3.2 Suchergebnis 126<br />

20 Einsatz «papierloser» Systeme 128<br />

20.1 Groupware-Systeme 128<br />

20.2 Workflow-Management-Systeme (WFMS) 128<br />

Teil G Knowledge-Management 131<br />

21 Wissen 132<br />

21.1 Wissen als vernetzte Information 132<br />

21.2 Wissen als Fähigkeit zu beobachten 133<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

7


B 13 Informations- und Datenbankmanagement<br />

21.3 Implizites Wissen 133<br />

21.4 Explizites Wissen 133<br />

21.5 Aufgaben und Ziele des Knowledge-Managements 133<br />

21.6 Wissenstransfer 134<br />

21.6.1 Initiierung 134<br />

21.6.2 Wissensfluss 135<br />

22 Abbildung und Bereitstellung von Wissen 137<br />

22.1 Methoden des Knowledge-Managements 137<br />

22.2 Gruppenorganisationsformen 138<br />

22.3 Netzwerkmodelle und Computer gestützte Anwendungen 139<br />

22.3.1 Wissensbaum 140<br />

22.3.2 Wissenslandkarte 141<br />

22.3.3 Yellow Pages 143<br />

22.3.4 Knowledge-Management-System 143<br />

Ergänzungen 144<br />

23 Datenbanken und Tabellen erstellen 144<br />

23.1 Erstellen einer Datenbank 144<br />

23.2 Tabellen erstellen 145<br />

23.2.1 Attribute festlegen 146<br />

23.2.2 Primärschlüssel festlegen 147<br />

23.3 Beziehung erstellen 148<br />

23.4 Abfragen erstellen 150<br />

23.5 Abfragen mit Kennzahlen ausführen 151<br />

24 Literatur- und Quellenverzeichnis 153<br />

24.1 Literatur und Quellen 153<br />

24.2 Nützliche Links 154<br />

25 Glossar 154<br />

26 Tabellenverzeichnis 162<br />

27 Abbildungsverzeichnis 164<br />

28 Index 166<br />

8<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

Abkürzungsverzeichnis<br />

Abk<br />

AIT<br />

bspw.<br />

bzw.<br />

CD<br />

DAT<br />

DB<br />

DBMS<br />

DBS<br />

DCL<br />

DDL<br />

DDS<br />

DML<br />

DMS<br />

DQL<br />

DSS<br />

dt.<br />

DVD<br />

EIS<br />

engl.<br />

ERD<br />

ERM<br />

etc<br />

ETL<br />

GUI<br />

Id -<br />

ICT<br />

IT<br />

ital.<br />

LAN<br />

Begriff<br />

Advanced Intellegent Type<br />

beispielsweise<br />

beziehungsweise<br />

Compact-Disc<br />

Digital-Audio-Tape<br />

Datenbank<br />

Datenbankmanagementsystem<br />

Datenbankensystem<br />

Data-Control-Language<br />

Data-Definition-Language<br />

Data-Dictionary-System<br />

Data-Manipulation-Language<br />

Dokumenten-Management-System<br />

Data-Query-Language<br />

Decision-Support-System<br />

deutsch<br />

Digital-Versatile-Disc<br />

Executive-Information-System<br />

englisch<br />

Entinity-Relationship-Diagramm<br />

Entinity-Relationship-Modell<br />

et cetera<br />

extract, transform, load<br />

Grafical User Interface<br />

wird wegen der Einheitlichkeit ausschliesslich verwendet<br />

(jedoch viele andere möglich: ID, id oder nr.,<br />

Nr. ...)<br />

Informations- und Kommunikationstechnologie<br />

Informationstechnologie<br />

italienisch<br />

Local-Area-Network<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

9


B 13 Informations- und Datenbankmanagement<br />

Abk<br />

MIS<br />

MOD<br />

MSS<br />

NAS<br />

OLA<br />

RAID<br />

SAN<br />

SQL<br />

z.B.<br />

Begriff<br />

Management-Information-System<br />

Magneto-Optical-Disk<br />

Management-Support-System<br />

Network-Attached-Storage<br />

OnLine-Analytical-Processing<br />

Redundant Array of Independent Disks<br />

Storage-Area-Network<br />

Structured-Query-Language<br />

zum Beispiel<br />

10<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

Aufbau des <strong>Lehrbuch</strong>s<br />

Grundlagen<br />

Datenmodellierung<br />

Data-Mapping<br />

Beschaffung<br />

von Managementinformationen<br />

Datensicherung<br />

Dokumenten-<br />

Management<br />

Knowledge-<br />

Management<br />

Überblick über Ihre Lernziele<br />

Inhalt und Aufbau dieses <strong>Lehrbuch</strong>s<br />

Die richtigen Informationen entscheiden über den Erfolg oder den Misserfolg eines<br />

Projekts bzw. eines Unternehmens. Die korrekte Erstellung und Analyse von Informationen<br />

ist deshalb als überaus bedeutsame Aufgabe eines Unternehmens zu betrachten.<br />

In diesem <strong>Lehrbuch</strong> erhalten Sie einen kompletten Überblick über die Handhabung<br />

von Informationen. Sie erarbeiten sich darüber hinaus ein Konzept, mit dem Sie<br />

in der Lage sind, sowohl eine Datenbank zu erstellen als auch bestehende Datenbestände<br />

zu mappen. Zusätzlich erfahren Sie, wie Sie Daten mit Hilfe eines Data-Warehouses<br />

analysieren.<br />

Teil A verschafft Ihnen einen Überblick über Fachbegriffe und Grundlagen zum Thema<br />

Datenbanken.<br />

In Teil B erstellen Sie das Konzept für Datenbankmodelle. Ausserdem lernen Sie Ihre<br />

Datenbank zu historisieren.<br />

Teil C konzentriert sich auf die Migration der Daten von einer Datenbank in eine andere.<br />

Sie erwerben die Fähigkeit, Daten zu mappen.<br />

In Teil D erhalten Sie einen Überblick über die unterschiedlichen Techniken der Informationsanalyse.<br />

Zudem machen Sie sich mit der Modellierung eines Data-Warehouses<br />

vertraut.<br />

Teil E beihaltet die Sicherung von Daten. Sie erfahren, wie ein Backup-Konzept umgesetzt<br />

wird und auf welche Kriterien Sie dabei achten müssen.<br />

In Teil F wird Ihnen erläutert, wie ein Dokumenten-Management-System (DMS) in die<br />

Prozessabläufe eines Unternehmens hilfreich integriert werden kann.<br />

Teil G zeigt Ihnen die Vorteile von Knowledge-Management auf. Nach Bearbeitung<br />

des Kapitelkomplexes G wissen Sie, wie Knowledge-Management in einem Unternehmen<br />

gewinnbringend eingesetzt werden kann.<br />

Im Anhang finden Sie ein Glossar sowie ein Stichwort-, Tabellen- und Abbildungsverzeichnis.<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

11


B 13 Informations- und Datenbankmanagement<br />

Teil A Grundlagen<br />

Grundlagen<br />

Datenmodellierung<br />

Data-Mapping<br />

Beschaffung<br />

von Managementinformationen<br />

Datensicherung<br />

Dokumenten-<br />

Management<br />

Knowledge-<br />

Management<br />

Lernziele>>Lerneffekt>>Lernerfolg<br />

Da die zu verwendenden Begriffe hinsichtlich Informationen und Datenbanken vom<br />

allgemeinen Sprachgebrauch abweichen, verfolgt dieses Grundlagenkapitel das Ziel,<br />

die wichtigsten Grundbegriffe aus den oben genannten Bereichen zu erklären. Es<br />

werden Ihnen Unterschiede zwischen Schlüsselbegriffen wie Nachrichten, Informationen<br />

und Redundanzen aufgezeigt. Darüber hinaus macht Sie dieser einführende<br />

Kapitelkomplex mit dem Aufbau von Datenbanken vertraut und verdeutlicht Ihnen,<br />

aus welchen Elementen eine Datenbank besteht.<br />

Wir können keine konkreten Angaben über die Zeit machen, die Sie für die erfolgreiche<br />

Bearbeitung der einzelnen Kapitel benötigen. Allerdings werden Sie zu Beginn<br />

jedes Kapitelkomplexes darüber informiert, wie viel Zeit im Lehrgang dafür eingeplant<br />

ist. Es versteht sich von selbst, dass Sie ohne Unterstützung von Dozenten erheblich<br />

mehr Zeit einplanen sollten, falls Sie das Buch gekauft haben, jedoch keinen<br />

Kurs besuchen. Hinzu kommt, dass beinahe jeder Lerner ein anderes Lerntempo hat.<br />

Lernende, die keinen Kurs besuchen, sollten deshalb mehr Zeit einplanen.<br />

Kapitel im Kapitelkomplex<br />

Grundlagen<br />

Veranschlagte Zeit im Kurs in<br />

Minuten<br />

(ohne Aufgaben)<br />

Empfohlene Zeit für die<br />

Arbeit mit dem Buch in<br />

Minuten<br />

(ohne Aufgaben)<br />

1 Einführung mind. 60 60 + x<br />

2 Aufbau eines Datenbank<br />

systems<br />

3 Grundlagen der Datenmodellierung<br />

mind. 60<br />

mind. 60<br />

60 + x<br />

60 + x<br />

Die Zeiten, die Sie für die Erledigung der Übungen benötigen, finden Sie im Übungsbuch.<br />

12<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

1 Einführung<br />

Sie arbeiten bei der GOURMEX AG als ICT-Spezialist. Die GOURMEX AG ist im Lebensmittelhandel<br />

tätig. Seit vielen Jahren nimmt die GOURMEX AG Bestellungen von Privatpersonen<br />

entgegen. Ihr Chef, Herr Müller, möchte nun wissen, wie viele Kunden<br />

die GOURMEX AG vorzuweisen hat. Nach kurzer Auswertungszeit übergeben Sie ihm<br />

bereits die gewünschte Aufstellung in tabellarischer Form. Sie haben die Daten wesentlich<br />

detaillierter aufgegliedert als ursprünglich gefordert war.<br />

Kunden<br />

Anzahl<br />

Damen 600<br />

Herren 700<br />

Total 1300<br />

Tabelle 1: Kundenübersicht<br />

Was findet Herr Müller hier vor? Er hat Informationen angefordert. Doch hat er auch<br />

tatsächlich Informationen erhalten?<br />

1.1 Nachrichten<br />

Herrn Müller wurden in erster Linie Nachrichten übermittelt. Die obige Tabelle mit<br />

der Abonnentenübersicht ist demnach eine Nachricht und keine Information. Alle<br />

Meldungen, die von uns wahrgenommen werden, können somit als Nachrichten bezeichnet<br />

werden.<br />

Wenn Sie also Zeitungen oder ein Buch lesen bzw. Nachrichtensendungen schauen,<br />

erhalten Sie ständig Nachrichten.<br />

1.2 Informationen<br />

Für Herrn Müller müssen Nachrichten einen Neuigkeitswert besitzen, um eine Information<br />

darzustellen. Es sollte demnach etwas sein, was sowohl nützlich als auch umsetzbar<br />

ist. Im konkreten Fall ist die Auskunft über die Anzahl der Kunden (1300) neu.<br />

Zudem wird diese Zahl für die weitere Planung benötigt.<br />

Informationen können daher als zweckbezogene und nützliche Nachrichten bezeichnet<br />

werden, die für einen bestimmten Empfänger einen Neuigkeitswert besitzen.<br />

Nachrichten<br />

Informationen<br />

Kunden<br />

Anzahl<br />

Damen 600<br />

Herren 700<br />

Total 1300<br />

in unserem Beispiel ist dies<br />

die Information<br />

Tabelle 2: Informationen<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

13


B 13 Informations- und Datenbankmanagement<br />

Redundanz<br />

1.3 Redundanz<br />

Die Aufteilung nach Damen und Herren war als Bestandteil der Fragestellung von<br />

Herrn Müller nicht gefordert und ausserdem unerheblich für die weitere Planung.<br />

Dieser Teil der Nachricht kann als Redundanz bezeichnet werden.<br />

Für Herrn Meier, der als Mitarbeiter innerhalb der GOURMEX AG für das Lebensmittelsortiment<br />

zuständig ist, könnte die Aufteilung in Damen und Herren wiederum<br />

einen hohen Informationswert haben.<br />

Redundanz ist der Teil einer Nachricht, der für den Empfänger keinen unmittelbaren<br />

Neuigkeitswert darstellt und somit auch nicht unbedingt nützlich ist.<br />

Grundsätzlich sollte der Anteil an Redundanzen so klein wie möglich gehalten werden,<br />

weil Redundanzen den Informationsempfänger nur unnötig belasten. Unter<br />

Umständen können Redundanzen eine sehr wichtige Rolle spielen. Gehen nämlich<br />

Teile einer Nachricht verloren, kann über eine geschickt aufgebaute Redundanz der<br />

Verlust wieder ausgeglichen werden. Je störanfälliger die Übermittlung ist, desto gezielter<br />

müssen redundante Nachrichtenteile eingebaut werden. Geht bspw. bei der<br />

Übergabe die Gesamtzahl der Daten verloren, können diese durch Addition der Anzahl<br />

Herren und Damen wieder hergestellt werden.<br />

Nachrichten<br />

Neuigkeitswert<br />

nein<br />

ja<br />

Informationen<br />

Redundanz<br />

Abb. 1: Unterschied zwischen Redundanz, Information und Nachricht<br />

Daten<br />

1.4 Daten<br />

Im so genannten digitalen Zeitalter ist es überaus wichtig, Nachrichten und Informationen<br />

auf einem Computer speichern und weiterverarbeiten zu können. Es gibt allerdings<br />

Dinge wie Mimik/Gestik und Gerüche, deren maschinelle Verarbeitung heute<br />

noch an gewisse Grenzen stösst. So unterschiedliche Informationen wie Texte, Bilder,<br />

Musik und Filme können heutzutage in Form von Dateien problemlos auf einem Computer<br />

gespeichert werden. Diese Dateien nennt man auch Daten.<br />

Daten sind also Nachrichten, die maschinell verarbeitet und gespeichert werden können.<br />

14<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

Aus dieser Definition ist ersichtlich, dass es sowohl maschinell verarbeitete Informationen<br />

als auch maschinell verarbeitete Redundanzen gibt. Was eine Information und<br />

was eine Redundanz ist, bestimmt der Empfänger. Daten können für einen Empfänger<br />

Informationen und für einen anderen Redundanzen darstellen.<br />

1.5 Semantische und syntaktische Fehler<br />

Jede Datensammlung ist innerhalb kürzester Zeit unbrauchbar, wenn ihre Integrität<br />

bzw. Richtigkeit nicht gewährleistet ist. Was «richtig» ist, muss natürlich zuerst festgelegt<br />

werden. Hierin liegt der logische Ausgangspunkt einer Datenbank und damit<br />

einer konzeptionellen Ebene.<br />

So ist es zum Beispiel technisch möglich, in einer Tabelle die folgenden Werte einzugeben:<br />

Semantische<br />

und syntaktische<br />

Fehler<br />

Nr. Anrede Nachname Vorname Geschlecht<br />

1 Herr Muster Hans weiblich<br />

2 Frau Mutser<br />

Isabelle weiblich<br />

Tabelle 3: Tabelle mit Widersprüchen<br />

semantischer Fehler<br />

syntaktischer Fehler<br />

Haben Sie den Fehler in der ersten Zeile bemerkt? Zwischen den Inhalten der Spalte<br />

Geschlecht («weiblich») und der Spalte Anrede («Herr») besteht ein Widerspruch. Bei<br />

diesem Widerspruch handelt es sich um einen semantischen Fehler. Fehler werden<br />

grundsätzlich nach Semantik und Syntax unterschieden.<br />

Semantik: Semantische Fehler sind Widersprüche in Daten und ergeben damit einen<br />

unlogischen Inhalt.<br />

Auch in die zweite Spalte hat sich ein Fehler eingeschlichen. Haben Sie ihn entdeckt?<br />

In der zweiten Zeile wurde der Nachname «Muster» falsch geschrieben.<br />

Syntax: Bei syntaktischen Fehlern handelt es sich um Schreibfehler in einzelnen Feldern.<br />

Die Datenkonsistenz befasst sich also primär mit semantischen und inhaltlichen Fragen<br />

der Datenbank und kann im Wesentlichen als Widerspruchsfreiheit der Daten<br />

definiert werden.<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

15


B 13 Informations- und Datenbankmanagement<br />

Datenbank<br />

1.6 Datenbanksystem, Datenbank und Datenbankmanagementsystem<br />

Bisher tauchte der Begriff Datenbank sehr häufig auf. Doch was genau ist eigentlich<br />

unter einer Datenbank zu verstehen?<br />

In der GOURMEX AG werden die persönlichen Adressen der Kunden noch handschriftlich<br />

notiert. Innerhalb der letzten Jahre sind immer mehr Adressen hinzugekommen.<br />

Zu einigen Kunden unterhält die GOURMEX AG gar keine Geschäftsbeziehungen<br />

mehr. Um den Überblick nicht zu verlieren, möchten Sie nun dazu übergehen, diese<br />

Adressen elektronisch zu verwalten.<br />

Um dies technisch umzusetzen, benötigen Sie ein Datenbanksystem. In einem Datenbanksystem<br />

(DBS) werden die Daten in einer Datenbank (DB) aufbewahrt, die ausschliesslich<br />

vom Datenbankmanagementsystem (DBMS) verwaltet werden.<br />

Abb. 2: Datenbanksystem, Datenbank und Datenbankmanagementsystem<br />

1.6.1 Datenbanksystem (DBS)<br />

Ein Datenbanksystem (DBS) besteht aus der Datenbank (DB) und einem Datenbankmanagementsystem<br />

(DBMS). In einem Datenbanksystem können Daten in einer Datenbank<br />

erstellt, mutiert und gelöscht werden. Für die Ausführung dieser Vorgänge<br />

ist das Datenbankmanagementsystem (DBMS) zuständig.<br />

1.6.2 Datenbank (DB)<br />

Die Datenbank ist der eigentliche Aufbewahrungsort für die Daten. Es handelt sich<br />

um eine Art Topf, der mit Daten gefüllt wird. Bezogen auf ein Adressbuch sind hier<br />

die einzelnen Seiten mit den Adressangaben anzuführen. Datenbanken werden individuell<br />

auf die Bedürfnisse der Benutzer und deren Informationsbedarf abgestimmt.<br />

Eine Bank verwaltet in einer Datenbank die Angaben ihrer Kunden und deren Konti.<br />

Ein Telekommunikationsanbieter ist mit Hilfe einer solchen Datenbank in der Lage,<br />

die einzelnen Telefongespräche zu speichern.<br />

16<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

1.6.3 Datenbankmanagementsystem (DBMS)<br />

Daten in einer Datenbank (DB) haben für die Benutzer nur einen Wert, wenn sie damit<br />

arbeiten können. Das Datenbankmanagementsystem (DBMS) bildet die Schnittstelle<br />

zwischen den Benutzern und der Datenbank (DB). Es gewährt einen effizienten<br />

Zugriff auf die Daten und sorgt dabei für eine zentrale Steuerung und Kontrolle.<br />

Ausserdem wird durch das DBMS ein Schutz vor Hard- und Softwarefehlern gewährleistet,<br />

so dass beispielsweise bei Programm- oder Systemabstürzen die Daten nicht<br />

verloren gehen bzw. wiederhergestellt werden können.<br />

Viele DBMS arbeiten mit der Norm-Datenbanksprache Structured Query Language<br />

(SQL). Mit Hilfe von SQL können Daten erstellt, verwaltet, gelöscht und sogar geschützt<br />

werden. Folglich kann SQL auch ein Bestandteil eines DBMS sein. SQL besteht<br />

aus verschiedenen Sprachschichten.<br />

Sprachschicht<br />

Data-Control-<br />

Language (DCL)<br />

Data-Definition-<br />

Language (DDL)<br />

Data-Manipulation-<br />

Language (DML)<br />

Data-Query-<br />

Language (DQL)<br />

Beschreibung<br />

Die Sprachschicht Data-Control-Language (DCL) stellt Funktionen<br />

zur Verfügung, mit denen die Daten geschützt werden können. So<br />

lassen sich bspw. Benutzerrechte verwalten.<br />

Mit DDL-Befehlen kann man auf einer Datenbank Datenstrukturen<br />

neu definieren, ändern oder löschen.<br />

Hiermit kann man Daten in der Datenbank manipulieren. Das<br />

schliesst Vorgänge wie das Einfügen, Verändern und Löschen ein.<br />

Data-Query-Language (DQL) ermöglicht es, SQL-Auswertungen<br />

durchzuführen.<br />

Tabelle 4: Übersicht Sprachschichten<br />

Selbst ein Adressbuch verfügt über ein Datenbankmanagementsystem. Durch alphabetische<br />

Laschen können Inhalte bspw. schneller gefunden werden.<br />

Aufgabe 1<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

17


B 13 Informations- und Datenbankmanagement<br />

Datenbank<br />

Um einen solchen Computerwechsel ohne grossen Aufwand zu gewährleisten, wurde<br />

von ANSI (1975) eine 3-Ebenen-Architektur für Datenbankmanagementsysteme konzipiert.<br />

3-Ebenen-<br />

Architektur<br />

2 Aufbau eines Datenbanksystems<br />

Im vorherigen Kapitel haben Sie sich mit den Bestandteilen eines Datenbanksystems,<br />

der Datenbank und dem Datenbankmanagementsystem vertraut gemacht. Dies diente<br />

vor allem dazu, Sie auf die künftige Arbeit mit vorhandenen Daten sowie der Erfassung<br />

neuer Daten vorzubereiten. Ihre Datenbank (DB) ist vom Datenbankmanagementsystem<br />

(DBMS) abhängig. Wie gehen Sie nun in folgendem Fall vor? Aufgrund<br />

eines Computerwechsels ist auf dem Gerät ein anderes DBMS installiert worden. Können<br />

Sie Ihre «alte» Datenbank überhaupt noch nutzen?<br />

2.1 Aufbau der 3-Ebenen-Architektur<br />

Logische<br />

Datenstruktur<br />

Externe<br />

Sicht 1<br />

Externe<br />

Sicht 2<br />

Externe<br />

Sicht 3<br />

- Sicht der Benutzer/Benutzergruppen<br />

auf die Daten<br />

Externe Ebene<br />

Entity-<br />

Relationship-<br />

Modelling<br />

Relational<br />

Relationship<br />

Datadictionary<br />

Konzeptionelle<br />

Datenstruktur<br />

- Beschreibung der Gesamtheit<br />

aller Daten<br />

Konzeptionelle Ebene<br />

Hierarchische Ebene<br />

Netzwerk-Ebene<br />

Relationale Ebene<br />

DB-Manager<br />

Physische<br />

Datenstrukturen<br />

- Informationen über Art<br />

und Aufbau der Datenstrukturen<br />

- Zugriffsmechanismen,<br />

Indizes<br />

Interne Ebene<br />

Abb. 3: 3-Ebenen-Architektur<br />

18<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

2.1.1 Externe Ebene<br />

Bei der externen Ebene wird die Perspektive der Benutzer berücksichtigt. Der Benutzer<br />

sieht in seiner Anwendung keine Datenbank, sondern lediglich eine Maske (GUI),<br />

in welcher die Datenbankinhalte in Form von Ein- bzw. Ausgabefeldern angezeigt<br />

werden.<br />

2.1.2 Konzeptionelle Ebene<br />

In der konzeptionellen Ebene ist das konzeptionelle Datenmodell enthalten. Dieses<br />

Konzept schliesst die Eigenschaften der Tabellen sowie deren Daten und Beziehungen<br />

ein.<br />

2.1.3 Interne Ebene<br />

Die interne Ebene beschreibt, wie die Daten auf den externen Speichermedien zu<br />

speichern sind. Hier wird festgehalten, wie die Einteilung in physische Records (Blöcke),<br />

die Bildung von Indizes und das Verhalten im Recovery-Fall gestaltet wird.<br />

Aufgabe 2 a<br />

2.2 Der Nutzen einer 3-Ebenen-Architektur<br />

Die Gültigkeit der einzelnen Ebenen variiert stark. Der Benutzer ändert fast täglich<br />

seine Meinung bzw. entwickelt neue Bedürfnisse an seine Masken. Die durchschnittliche<br />

Lebensdauer der Technik (interne Ebene) liegt bei ca. 3 Jahren, während die konzeptionelle<br />

Sicht der Daten oft 15 Jahre und länger bestehen bleibt.<br />

Externe<br />

Ebene<br />

kurzfristig<br />

Interne Ebene<br />

ca. 3 Jahre<br />

Konzeptionelle Ebene<br />

15 Jahre und länger<br />

Abb. 4: Gültigkeit der Ebenen<br />

Der grosse Vorteil der 3-Ebenen-Architektur besteht in der individuellen und unabhängigen<br />

Anpassung der drei Ebenen. Somit ist der Benutzer flexibler hinsichtlich<br />

jeglicher Änderungen. Er kann zum Beispiel das Datenbankprogramm (bspw. von MS<br />

Access auf Oracle) von der internen Ebene austauschen, ohne die konzeptionelle bzw.<br />

externe Ebene zu ändern.<br />

Der Fokus dieses <strong>Lehrbuch</strong>s liegt überwiegend auf der Betrachtung der konzeptionellen<br />

Ebene.<br />

Ebene wird innerhalb dieses <strong>Lehrbuch</strong>ss mit dem Begriff Schema gleichgesetzt.<br />

Aufgaben<br />

2 b, c<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

19


B 13 Informations- und Datenbankmanagement<br />

3 Grundlagen der Datenmodellierung<br />

Eine Datenbank besteht aus vielen kleinen Teilen, welche auch Konstruktionselemente<br />

genannt werden. Nachfolgend erhalten Sie einen Überblick über diese Konstruktionselemente.<br />

In der Fachsprache existieren für jedes Konstruktionselement verschiedene<br />

Ausdrücke, die unter Umständen verwirrend sein können.<br />

Begriffsüberblick<br />

Begriff<br />

Synonyme<br />

Entität: Datensatz, Record, Row (Zeile), Tuple (Tupel) <br />

Entitätsmenge: Tabelle, Relation <br />

Attribut: Spalte, Kolonne <br />

Aufgaben<br />

3 a, b<br />

Eigenschaft: Feld, Zelle <br />

Domäne:<br />

Wertebereich<br />

Kunde <br />

Kundennummer<br />

Name<br />

33 Kuhn<br />

44 Schmid<br />

55 von Rohr <br />

<br />

Abb. 5: Begriffsüberblick Konstruktionselemente<br />

Entität<br />

3.1 Entität<br />

Eine Entität ist ein individuelles und identifizierbares Exemplar einer Sache, einer<br />

Person oder eines Begriffs aus der realen oder der gedachten Welt, das abgebildet<br />

werden soll.<br />

Eine Entität kann demnach für fast alles stehen, wie bspw. für einen einzelnen Kunden,<br />

ein Auto, einen Vergütungsauftrag, aber auch einen bestimmten Bestellvorgang<br />

innerhalb eines Unternehmens. Wichtige Eigenschaften der Entität sind Individualität<br />

und Identifizierbarkeit.<br />

In einer Tabelle werden die Entitäten waagerecht dargestellt. Eine Entität kann bspw.<br />

die kompletten Kundeninformationen bestehend aus Kundennummer, Vorname,<br />

Nachname, Strasse etc. eines bestimmten Kunden enthalten. Eine Entität wird somit<br />

auch als Einheit bezeichnet, für die Informationen gesammelt werden. Für Sie als<br />

Einsteiger dürfte es anfänglich ziemlich verwirrend sein, dass für Entität eine ganze<br />

Reihe Synonyme wie Datensatz, Record (dt. Datensatz), Row (dt. Zeile) oder Tuple (dt.<br />

das Tupel: Begriff aus der Mathematik steht innerhalb der Informatik ebenfalls für<br />

Datensatz) existieren.<br />

Die GOURMEX AG verfügt über einen grossen Kundenstamm. Dabei stellt der individuelle<br />

Kunde «Kuhn», der durch die Kundennummer 33 identifizierbar ist, eine Entität<br />

dar.<br />

20<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

3.2 Entitätsmenge<br />

Bei einer Entität handelt es sich um einen Einzelfall. Im Hinblick auf die Modellierung<br />

von Daten besteht die Option, diese Einzelfälle, die gleichartige Eigenschaften aufweisen,<br />

in einer bestimmten Menge zusammenzufassen.<br />

Eine Ansammlung von Entitäten des gleichen Typs wird daher als Entitätsmenge bezeichnet.<br />

Dementsprechend lässt sich bei der GOURMEX AG aus mehreren Entitäten «Kunden»<br />

die Entitätsmenge «Kunde» zusammenfassen. Dies entspricht der Tabelle «Kunde».<br />

Entitätsmenge<br />

3.2.1 Kernentitätsmenge<br />

Eine Entitätsmenge ist eine Kernentitätsmenge, wenn es möglich ist, Entitäten hinzuzufügen,<br />

ohne dass auf andere Entitätsmengen geachtet werden muss. Demzufolge<br />

darf die Entitätsmenge kein Fremdschlüsselattribut enthalten.<br />

3.3 Eigenschaft<br />

Der Schnittpunkt zwischen einer Zeile und einer Spalte wird Eigenschaft, Feld oder<br />

Zelle genannt. In einem Feld werden Werte eingegeben wie bspw. der Name eines<br />

Kunden.<br />

Eine Eigenschaft wird Entitäten zugeordnet und ermöglicht deren Identifizierung<br />

und Charakterisierung. Den Wert einer bestimmten Eigenschaft nennt man Eigenschaftswert.<br />

Bezogen auf unser GOURMEX-Beispiel könnte als Eigenschaft der Bestellung, die Herr<br />

Meier vorgenommen hat, die Anzahl der bisher bestellten Caterings angeführt werden.<br />

3.4 Domäne<br />

Oftmals dürfen Felder nur bestimmte Werte annehmen. Hierfür wird dem Benutzer<br />

ein Wertebereich vorgegeben, der in der Fachsprache als Domäne bezeichnet wird. So<br />

kann zum Beispiel im Feld Anrede lediglich zwischen «Herr» und «Frau» ausgewählt<br />

werden.<br />

Eine Domäne stellt eine eindeutig benannte Zusammenstellung der zulässigen Eigenschaftswerte<br />

einer Eigenschaft dar (Wertebereich).<br />

Für ein Luxus-Catering, wie es der Kunde Meier bei der GOURMEX AG bestellt hat,<br />

könnten ebenfalls Domänen eingerichtet werden, die die Mengen bzw. die Preise für<br />

Lebensmittel eingrenzen.<br />

Eigenschaft<br />

Domäne<br />

Entitätsmenge Eigenschaft Domäne<br />

Brote Gewicht 500-750 g<br />

Weine Flaschenpreis 50-150 CHF<br />

Hummer Stückpreis 75-100 CHF<br />

Tabelle 5: Domäne<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

21


B 13 Informations- und Datenbankmanagement<br />

Faktum<br />

3.5 Faktum<br />

Ein Faktum ist eine Behauptung, der zufolge eine Entität für eine Eigenschaft einen<br />

bestimmten Eigenschaftswert aufweist. Ein Eigenschaftswert kann dabei mehreren<br />

Entitäten zugeordnet werden.<br />

Das Gewicht eines Klein-Brotes (250 g) könnte dem eines Hummers aus dem Luxus-<br />

Catering gleichen. Damit weisen beide Fakten den gleichen Eigenschaftswert auf, obwohl<br />

sie unterschiedlichen Entitäten/Entitätsmengen zuzuordnen sind.<br />

Entitätsattribut<br />

3.6 Entitätsattribut<br />

Die senkrecht untereinander stehenden Zellen in einer Tabelle werden Attribute genannt.<br />

Begriffe wie Spalten oder Kolonnen (engl. column) sind mit dem Begriff Attribut<br />

gleichzusetzen.<br />

Eine Entität kann aus vielen unterschiedlichen Informationen bestehen. Die Entität<br />

«Kunde» lässt sich bspw. in Vorname, Nachname und Adressinformationen unterteilen.<br />

Die Entität Kunde «Kuhn», der bei der GOURMEX AG unter der Kundennummer<br />

33 abgelegt ist, weist bspw. folgende Attribute auf:<br />

Vorname Nachname Adresse<br />

Hans Kuhn Hauptgasse 7, 4500 Solothurn<br />

Tabelle 6: Entitätsattribut<br />

Ein Entitätsattribut ist eine Auswahl von Fakten, die aufgrund von Eigenschaftswerten<br />

aus einer bestimmten Domäne zu den Entitäten einer Entitätsmenge zustande<br />

kommen. In Excel wäre ein Entitätsattribut eine Spalte.<br />

Beziehung<br />

3.7 Beziehung<br />

Eine Beziehung verbindet wechselseitig zwei (möglicherweise auch mehrere) Entitäten.<br />

Die Form der Beziehung wird in der Praxis leider allzu oft ungenau beschrieben. Meist<br />

findet man lediglich die Bezeichnung «hat» in den Entity-Relationship-Modellen. Die<br />

genaue Beschreibung der Beziehung ist aber sehr wichtig und hat Einfluss auf die<br />

Prozesse. Daher wollen wir mit einem Positivbeispiel vorangehen und betrachten wiederum<br />

die oben erwähnten Entitäten.<br />

Enität 1:<br />

Kunde Meier<br />

ist Besteller von<br />

gehört zu<br />

Enität 2:<br />

Bestellung Luxus-<br />

Catering<br />

Abb. 6: Beziehung<br />

Der Kunde Meier hat das Luxus-Catering gebucht und ist damit Besteller. Die Bestellung<br />

des Luxus-Caterings gehört dann wiederum zum Kunden Meier, der diese bei der<br />

GOURMEX AG aufgegeben hat.<br />

22<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

3.8 Assoziationen<br />

Die Elemente einer Entitätsmenge stehen, wie oben bereits erläutert, in einer ganz<br />

bestimmten Beziehung zu den Elementen einer anderen Entitätsmenge. Die einseitige<br />

Beziehung zwischen diesen Elementen wird Assoziation genannt. Daher besteht<br />

die wechselseitige Beziehung von A zu B und von B zu A aus zwei Assoziationen. Hierbei<br />

werden einfache, konditionelle und komplexe Assoziationstypen unterschieden.<br />

Assoziationen<br />

3.8.1 Einfache Assoziation (Typ 1)<br />

Bei der einfachen Assoziation hat jedes Element der Entitätsmenge A jederzeit mit<br />

nur einem Element der Entitätsmenge B eine Beziehung.<br />

Man könnte die Art der Beziehung auch wie folgt beschreiben: «Die Menge B ist von<br />

der Menge A funktional abhängig.» Jedes Element der Entitätsmenge A ist über eine<br />

Beziehung mit einem Element der Entitätsmenge B verknüpft. Allerdings ist hier vor<br />

allem zu beachten, dass es auf die Perspektive, aus der man die Beziehungen betrachtet,<br />

ankommt. Je nach Betrachtungsweise können die Verbindungen zwischen Entitätsmengen<br />

variieren, da die Entitätsmenge A zur Entitätsmenge B nicht die gleiche<br />

Beziehung aufweist. Dies gilt auch in umgekehrter Richtung.<br />

Entitätsmenge A Beziehung Entitätsmenge B<br />

Kunde a 1 hat ein Geburtsdatum b 4<br />

Tabelle 7: Einfache Assoziation<br />

Die Menge aller Entitäten Kunden a 1 - a 4 unterhält eine einfache Beziehung zur<br />

Menge Geburtsdatum, weil jedes Element der Menge A genau mit einem Element der<br />

Menge B unter der Bedingung «hat» verknüpft ist.<br />

b 1<br />

b 2<br />

a 1<br />

a 2<br />

b 4<br />

b 3<br />

b 6<br />

a 4<br />

a 3<br />

b 5<br />

Kunden a 1 - a 4<br />

Abb. 7: Einfache Assoziation<br />

Geburtsdatum<br />

Also hat der Kunde a 1 an einem bestimmten Tag im Jahr Geburtstag b 4, an welchem<br />

auch andere Kunden Geburtstag haben können.<br />

3.8.2 Konditionelle Assoziation (Typ C)<br />

Bei der konditionellen Assoziation steht ein Element der Entitätsmenge A höchstens<br />

zu einem (möglicherweise auch zu keinem) Element der Entitätsmenge B in Beziehung.<br />

Die Elemente a 1, a 3 und a 4 in der folgenden Abbildung haben genau zu einem<br />

Element der Menge B eine Beziehung. Zwischen dem Element a 2 der Menge A und<br />

der Menge B besteht keine Beziehung. Für die konzeptionelle Assoziation gilt es hinsichtlich<br />

der Perspektive des jeweiligen Nutzers bzw. Entwicklers wiederum darauf zu<br />

achten, dass sich die Beziehungen unterscheiden.<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

23


B 13 Informations- und Datenbankmanagement<br />

Entitätsmenge A Beziehung Entitätsmenge B<br />

Kunde a 1 hat eine Faxnummer b 1<br />

Tabelle 8: Konditionelle Assoziation<br />

a 2<br />

a 1<br />

a 4<br />

a 3<br />

b 1<br />

b 2<br />

b 5<br />

b 3<br />

b 4<br />

b 6<br />

Kunden a 1 - a 4<br />

Faxnummer<br />

Abb. 8: Konditionelle Assoziation<br />

In unserem Beispiel hat der Kunde a 1 die Faxnummer b 1.<br />

3.8.3 Komplexe Assoziation (Typ M)<br />

Bei der komplexen Assoziation hat jedes Element der Entitätsmenge A jederzeit zu<br />

beliebig vielen (d.h. einem und mehr) Elementen der Entitätsmenge B eine Beziehung.<br />

Jedes Element der Entitätsmenge A weist mindestens zu einem Element der<br />

Menge B eine Beziehung auf. Zudem ergibt sich aus der umgekehrten Beziehung<br />

nicht dieselbe Beziehung der Menge B zur Menge A.<br />

Entitätsmenge A Beziehung Entitätsmenge B<br />

Kunde a 1 hat mehrfach bestellt Luxus-Catering b 1<br />

Tabelle 9: Komplexe Assoziation<br />

a 1<br />

b 1 b 2<br />

a 3<br />

a 2<br />

a 4<br />

b 5<br />

b 3<br />

b 4<br />

b 6<br />

Kunden a 1 - a 4<br />

Luxus-Caterings<br />

Abb. 9: Komplexe Assoziation<br />

Aus der obigeb Abbildung sowie oben stehender Tabelle ergibt sich, dass der Kunde<br />

a 1 bisher zweimal das Luxus-Catering b 1 gebucht hat.<br />

24<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

3.8.4 Abbildung/Darstellung<br />

Bei der Erstellung von Datenbanken kommt es nicht nur darauf an, die Beziehung<br />

von einer Menge A zu einer Menge B darzustellen, sondern auch die gegenseitige<br />

Beziehung auszudrücken. Eine Abbildung, die die Mengen A und B betrifft, besteht<br />

aus einer Assoziation der Menge A zur Menge B plus den dazu inversen Assoziationen<br />

und wird als Beziehung definiert.<br />

Die folgende Tabelle bildet den formalen Zusammenhang von Assoziation und Beziehung<br />

ab. .<br />

Assoziation M C 1<br />

M M : M M : C M : 1<br />

C C : M C : C C : 1<br />

1 1 : M 1 : C 1 : 1<br />

Tabelle 10: Übersicht über die Abbildungen<br />

Die grau, schwarz bzw. orange markierten Beziehungen in der obigen Tabelle sind reziprok,<br />

so dass sechs Beziehungstypen unterschieden werden können. Zusätzlich wird<br />

jedoch noch die komplex-konditionelle Beziehung unterschieden. Für die Darstellung<br />

von 0–n-Beziehungen muss daher das Zeichen MC verwendet werden.<br />

Die in der vorherigen Tabelle gezeigte Übersicht wird sowohl um eine Zeile als auch<br />

eine Spalte (vgl. Tabelle 4) ergänzt.<br />

Assoziation 1 C M MC<br />

1 1 - 1 1 - C 1 - M 1 - MC<br />

C C - 1 C - C C - M C - MC<br />

M M - 1 M - C M - M M - MC<br />

MC MC - 1 MC - C MC - M MC - MC<br />

Tabelle 11: Übersicht über die Abbildungen inklusive MC<br />

Legende:<br />

hierarchische Beziehung<br />

konditionelle Beziehung<br />

netzwerkförmige Beziehung<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

25


B 13 Informations- und Datenbankmanagement<br />

Superentität<br />

und Subentität<br />

3.9 Superentität und Subentität<br />

Daten, die bspw. zu einer Person gehören, können zwei bzw. mehreren Entitätsmengen<br />

zugeordnet werden. Das führt zu Überlappung innerhalb bestimmter Bereiche.<br />

3.9.1 Superentität<br />

Die Daten, die sich überlagern, werden mittels Superentität vereinfacht und komprimiert<br />

dargestellt. Daher bezeichnet man das Definieren einer Superentität als Generalisierung.<br />

Die Superentitätsmenge beinhaltet mindestens zwei Entitätsmengen sowie die<br />

Schnittmenge, in der sich die Entitätsmengen überlagern.<br />

Abb. 10: Entitäts- und Superentitätsmenge<br />

Unter der oben stehenden Abbildung könnten Sie als Mitarbeiter der GOURMEX AG<br />

dargestellt sein, der gelegentlich die Dienstleistungen des eigenen Unternehmens in<br />

Anspruch nimmt und beispielsweise für die Hochzeit seiner Kinder ein Luxus-Catering<br />

bestellt.<br />

3.9.2 Subentität<br />

Die Subentitätsmenge umfasst eine einzelne Entitätsmenge sowie die Menge, in der<br />

sie sich mit der anderen Entitätsmenge überschneidet.<br />

Der Kunde Meier ist ausschliesslich als Kunde der GOURMEX AG in Erscheinung getreten.<br />

Somit kann er lediglich in der Entitätsmenge «Kunde» erfasst sein.<br />

26<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

Teil B<br />

Datenmodellierung<br />

Grundlagen<br />

Datenmodellierung<br />

Data-Mapping<br />

Beschaffung<br />

von Managementinformationen<br />

Datensicherung<br />

Dokumenten-<br />

Management<br />

Knowledge-<br />

Management<br />

Lernziele>>Lerneffekt>>Lernerfolg<br />

Nachdem Sie nun die grundlegenden Begriffe zum Thema Datenbanken kennen und<br />

deren Bedeutung und Funktion verstehen, gehen wir zur konzeptionellen Ebene über.<br />

Ein Lernziel dieses Kapitels besteht darin, eine relationale Datenbank zu modellieren.<br />

Sie sollen darüber hinaus die Fähigkeit erlangen, bestimmte Anforderungen bzw. bestehende<br />

Datentabellen entsprechend ihren Beziehungen untereinander zu definieren.<br />

Zusätzlich lernen Sie, eine Datenbank so aufzubauen, dass Informationen historisiert<br />

werden können.<br />

Wir können keine konkreten Angaben über die Zeit, die Sie für die erfolgreiche Bearbeitung<br />

der einzelnen Kapitel benötigen, machen. Allerdings werden Sie zu Beginn<br />

jedes Kapitelkomplexes darüber informiert, wie viel Zeit im Lehrgang dafür eingeplant<br />

wird. Es versteht sich von selbst, dass Sie ohne Unterstützung von Dozenten erheblich<br />

mehr Zeit einplanen sollten, falls Sie das Buch gekauft haben, jedoch keinen<br />

Kurs dazu besuchen. Hinzu kommt, dass beinahe jeder Lerner ein anderes Lerntempo<br />

aufweist. Lernende, die keinen Kurs zu dem Buch besuchen, sollten ein noch grösseres<br />

Zeitfenster einplanen.<br />

Kapitel im Kapitelkomplex<br />

Datenmodellierung<br />

4 Einführung in die<br />

Datenmodellierung<br />

5 Erstellen einfacher Datenmodelle<br />

6 Komplexe<br />

Datenmodelle<br />

7 Normalisieren von<br />

Daten<br />

Veranschlagte Zeit im Kurs in<br />

Minuten<br />

(ohne Aufgaben)<br />

mind. 60<br />

mind. 90<br />

mind. 120<br />

mind. 60<br />

Empfohlene Zeit für die<br />

Arbeit mit dem Buch in<br />

Minuten (ohne Aufgaben)<br />

60 + x<br />

90 + x<br />

120 + x<br />

60 + x<br />

8 Historisieren mind. 120 120 + x<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

27


B 13 Informations- und Datenbankmanagement<br />

Datenmodellierung<br />

4 Einführung in die Datenmodellierung<br />

Die Kunden der GOURMEX AG wurden bisher noch elektronisch in MS Access verwaltet.<br />

Herr Müller bittet Sie um eine aktuelle Aufstellung aller Kunden, die eine Unterteilung<br />

nach Anrede in «Frau» und «Herr» beinhaltet. Mit wenigen Klicks führen<br />

Sie die Abfrage aus. Sie erwarten lediglich zwei Zeilen mit der Anrede «Herr» oder<br />

«Frau» sowie deren Anzahl. Doch was ist das?<br />

Abb. 11: Abfrageergebnis<br />

Wie kommt ein derartiges Ergebnis zustande? Die von Ihnen getätigte Abfrage war<br />

korrekt. Das Problem in dieser Datenbank besteht darin, dass im Lauf der Zeit viele<br />

verschiedene Anredeformen manuell eingegeben wurden. Die Abfrage im Programm<br />

erkennt zwischen Herr, Hr. oder Herrn keine Beziehung und fasst diese Werte daher<br />

nicht zusammen.<br />

Auch das noch! Wie sollen Sie aussagekräftige Auswertungen erstellen, wenn die Inhalte<br />

der Tabelle nicht korrekt sind?<br />

Auch wenn die Bereinigung dieser wenigen Inhalte schnell durchgeführt ist, dürften<br />

Sie nicht sonderlich motiviert sein, falsche Dateninhalte auch zukünftig immer wieder<br />

berichtigen zu müssen.<br />

Sie schlagen deshalb eine Eingabemaske vor, bei der Ihre Arbeitskollegen lediglich in<br />

einem Pulldownmenü die entsprechende Anrede auswählen können. Dadurch kann<br />

ein Wert nur noch mittels Auswahl und nicht mehr manuell eingegeben werden.<br />

Abb. 12: Pulldownmenü<br />

Da diese Umstellung arbeitsintensiv ist, sollte diese Gelegenheit genutzt werden, um<br />

auch die komplette Adressentabelle neu zu entwickeln sowie relational aufzubauen.<br />

28<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

4.1 Relationale Datenbanken<br />

Unter einer relationalen Datenbank wird die Organisation einer Datenbank nach dem<br />

relationalen Modell verstanden. Die Informationen sind in verschiedenen Tabellen<br />

gespeichert und können flexibel den aktuellen Bedürfnissen entsprechend verknüpft<br />

werden.<br />

Dies hat zwei Vorteile:<br />

1. Falscheingaben kommen seltener vor, da nur Werte ausgewählt werden können,<br />

die in der verknüpften Tabelle enthalten sind (referentielle Integrität).<br />

2. Da lediglich die Primärschlüssel in der verknüpften Tabelle gespeichert sind, können<br />

redundante Daten vermindert werden. Das verringert wiederum den benötigten<br />

Speicherplatz.<br />

In relationalen Datenbanken werden die Daten in verschiedene Tabellen aufgeteilt<br />

und über Beziehungen miteinander verknüpft. Der Benutzer nimmt diese Aufteilung<br />

nicht wahr.<br />

Im GUI (Externe Ebene) der GOURMEX AG verfügt der Benutzer über die Möglichkeit,<br />

einen Kunden auf einer Maske zu verwalten. Sobald Sie als Benutzer eine Anrede auswählen,<br />

treten diese Informationen aus der Entitätsmenge «Anrede» und die übrigen<br />

Felder aus der Entitätsmenge «Kunde» hervor.<br />

Relationale<br />

Datenbanken<br />

Entitätsmenge<br />

Anrede<br />

Abb. 13: GUI und Datenherkunft<br />

Entitätsmenge<br />

Kunde<br />

4.2 Beziehungen zwischen Entitätsmengen<br />

Damit die oben stehende Maske funktioniert, müssen die aufgeteilten Entitätsmengen<br />

in einer Beziehung zueinander stehen. Die Beziehung ist wechselseitig. Das bedeutet,<br />

dass beide Entitätsmengen eine wechselseitige Beziehung aufbauen. In unserem<br />

Beispiel hat die Entitätsmenge «Kunde» eine Anrede. Diese Anrede gehört dann<br />

wiederum zu einem bestimmten Kunden. Zur Darstellung von relationalen Datenbanken<br />

eignet sich das Entity-Relationship-Diagramm.<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

29


B 13 Informations- und Datenbankmanagement<br />

Abb. 14: Darstellung einer relationalen Datenbank<br />

Aufgaben<br />

4 a – 4 d<br />

4.2.1 Notationen<br />

Es stehen unterschiedliche Kennzeichnungen für die Darstellung der Beziehungslinien<br />

zur Verfügung. Innerhalb dieses <strong>Lehrbuch</strong>s wird mit der Notation nach IEM (Information-Engineering-Method)<br />

sowie nach C.A. Zehnder gearbeitet.<br />

IEM Zehnder Bedeutung Minimal Maximal Beispiel<br />

c<br />

keines oder<br />

eines<br />

kein 1<br />

Ein Kunde hat keine<br />

oder genau eine Anrede.<br />

1 genau eines 1 1<br />

Der Kunde besitzt<br />

immer genau eine<br />

Anrede.<br />

mc<br />

keines bis<br />

mehrere<br />

kein<br />

mehrere<br />

Der Kunde hat keine<br />

Anrede. Er kann<br />

aber auch eine Anrede<br />

oder sogar mehrere<br />

Anreden haben.<br />

m<br />

eines bis<br />

mehrere<br />

1 mehrere<br />

Der Kunde weist<br />

mindestens eine Anrede<br />

auf, kann aber<br />

auch mehrere Anreden<br />

haben.<br />

Tabelle 12: Notation<br />

In der Praxis wird die 1-Beziehung oftmals mit einem Strich dargestellt. Möglich ist<br />

auch die Darstellung mit 2 Strichen. Achten Sie daher während der Prüfung auf die<br />

Notationsvorgaben!!!<br />

Die Wahl der richtigen Beziehungsart hat einen grossen Einfluss auf die korrekte<br />

Funktionsweise der Datenbank. Das nachfolgende Beispiel verdeutlicht diesen Umstand.<br />

Sie beabsichtigen, von einem Kunden mehrere Adressarten wie Privat- und Rechnungsadresse<br />

zu speichern. Als Beziehungstyp haben Sie das Symbol gewählt.<br />

Dieses Symbol sagt aus, dass pro Kunde genau eine Adresse gespeichert werden kann.<br />

Folglich wird mit dieser Beziehungsart Ihrem Wunsch nicht entsprochen.<br />

30<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

4.3 Realisierung<br />

Ein Datenbankmodell kann entsprechend den vorhandenen Informationen auf zwei<br />

unterschiedliche Arten erstellt werden.<br />

Datenmodellierung<br />

Datennormalisierung<br />

Wenn keine Daten vorhanden sind, entwickelt<br />

man das Datenmodell anhand der Bedürfnisse<br />

und Anforderungen der zukünftigen<br />

Benutzer.<br />

In den nachfolgenden Kapiteln 5 und 6 wird<br />

dieses Vorgehen näher erläutert.<br />

Sind bereits Daten in einer anderen Form<br />

vorhanden, kann mit Hilfe der Normalisierung<br />

das Datenbankschema erarbeitet werden.<br />

Im Kapitel 7 erfahren Sie nähere Details<br />

über dieses Vorgehen.<br />

Tabelle 13: Datenmodellierung/Datennormalisierung<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

31


B 13 Informations- und Datenbankmanagement<br />

5 Erstellung einfacher Datenmodelle<br />

Sie werden als Informatiker der GOURMEX AG mit dem Auftrag betraut, eine Datenbank<br />

herzustellen, die bestimmte Funktionen einschliesst. Geplant ist eine Verkaufsdatenbank.<br />

Bevor Sie mit der Umsetzung beginnen, erstellen Sie das Konzept auf<br />

Papier. Die Planung bzw. der Entwurf einer Datenbank sollte mit Hilfe spezieller Darstellungstechniken<br />

erfolgen. Im Anschluss werden diese Techniken näher erläutert.<br />

ERM<br />

5.1 ERM (Entity-Relationship-Modell)<br />

Mittels ERM erhält man eine vollständige Übersicht über eine Datenbank. Ein ERM<br />

besteht aus einem ERD (Entity-Relationship-Diagramm) und dem Relationenmodell.<br />

ERM<br />

ERD<br />

Relationenmodell<br />

Abb. 15: ERM, ERD und Relationenmodell<br />

ERD<br />

5.2 ERD (Entity-Relationship-Diagramm)<br />

Das ERD bildet die Entitätsmengen und deren Beziehungen zueinander ab. Die Beziehungen<br />

können mit unterschiedlichen Notationen dargestellt werden. Dabei werden<br />

die Entitätsmengen als Rechtecke und die Beziehungen mit Verbindungslinien abgebildet.<br />

Die Endpunkte der Verbindungslinien sind mit speziellen Symbolen gekennzeichnet.<br />

Die im ERD enthaltenen Informationen über die Entitätsmengen und deren Beziehungen<br />

geben relativ schnell einen Überblick über die Datenbank. Auch sehr grosse<br />

und komplexe Datenbanksysteme können übersichtlich auf wenigen Seiten dargestellt<br />

werden.<br />

Anrede<br />

Kunde<br />

Abb. 16: Beispiel eines ERDs<br />

32<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

5.3 Das Relationenmodell<br />

Das ERD stellt die vorhanden Entitätsmengen und deren Beziehungen grafisch dar.<br />

Weitere Details zur Datenbank sind allerdings nicht vorhanden. Zusätzliche Informationen<br />

ergeben sich aus dem Relationenmodell, das zusätzlich Attribute, Primär- und<br />

Fremdschlüssel aufdeckt. Ein Relationenmodell lässt sich üblicherweise wie folgt darstellen.<br />

Zuerst wird die Entitätsmenge definiert. In Klammern sind die Attribute ergänzt.<br />

Primär- und Fremdschlüssel werden verschiedenartig hervorgehoben.<br />

Relationenmodell<br />

Kunde (Kunde_Id, Nachname, Vorname, Strasse, PLZ, Ort, Kundenrating, Anrede)<br />

Anrede (Anrede_Id, Anrede)<br />

Primärschlüssel/Fremdschlüssel<br />

Abb. 17: Relationenmodell<br />

Der Primärschlüssel wird beispielsweise fett oder rot markiert oder doppelt unterstrichen.<br />

Der Fremdschlüssel kann hingegen einfach unterstrichen sein oder kursiv dargestellt<br />

werden. Es empfiehlt sich, das Relationenmodell mit einer entsprechenden<br />

Legende zu ergänzen.<br />

Ersichtlich<br />

ERD<br />

Relationenmodell<br />

Was<br />

Entitätsmenge X X<br />

Beziehung<br />

X<br />

Primärschlüssel<br />

Fremdschlüssel<br />

Attribute<br />

X<br />

X<br />

X<br />

Tabelle 14: Unterschiede zwischen ERD und Relationenmodell<br />

Oft werden in der Praxis auch Kombinationen zwischen ERD und Relationenmodell<br />

durchgeführt. Bspw. können im ERD die Primärschlüssel ergänzt werden.<br />

5.4 Festlegung der Schlüssel<br />

Damit die Datensätze in Tabellen wieder gefunden werden, müssen diese über Primärschlüssel<br />

verfügen. Bei relationalen Datenbanken werden Beziehungen über Primär-<br />

und Fremdschlüssel erstellt. Nachfolgend erfahren Sie mehr über Primär- und<br />

Fremdschlüssel. Ausserdem erfahren Sie, wie eine bessere Datenqualität mit Hilfe der<br />

referentiellen Integrität erreicht werden kann.<br />

Schlüssel<br />

5.4.1 Primärschlüssel<br />

Jede Entität in einer Tabelle verfügt über einen Primärschlüssel. Der Primärschlüssel<br />

sollte folgende Eigenschaften besitzen:<br />

--<br />

Er muss eindeutig sein. Es darf keine zwei Datensätze mit demselben Primärschlüssel<br />

in der gleichen Tabelle geben.<br />

--<br />

Da Primärschlüssel an vielen Stellen in der Datenbank vorkommen und vom DBMS<br />

verwendet werden, sollten sie möglichst kurz sein, um die Performance des Systems<br />

und den Speicherbedarf zu optimieren.<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

33


B 13 Informations- und Datenbankmanagement<br />

--<br />

Er muss unveränderlich sein. Fremdschlüssel zeigen oftmals an vielen Stellen in der<br />

Datenbank auf den referenzierenden Primärschlüssel. Wird dieser Primärschlüssel<br />

geändert, müssen sämtliche Referenzen ebenfalls geändert werden. Dies ist eine<br />

sehr aufwendige und vor allem extrem fehleranfällige Arbeit.<br />

--<br />

Beim Einfügen eines neuen Datensatzes muss es möglich sein, einen neuen Wert<br />

für den Primärschlüssel zu finden, so dass es zu keiner Kollision mit einem bereits<br />

bestehenden Wert kommt.<br />

Künstliche Primarschlüssel<br />

Um alle vier Forderungen zu erfüllen, sollten Sie einen Wert mit ganzen Zahlen als<br />

Primärschlüssel wählen, der keine weitere Bedeutung hat.<br />

Dabei handelt es sich in den meisten Fällen um eine fortlaufende Nummerierung der<br />

bestehenden Datensätze. Man spricht in einem solchen Fall auch von einem «künstlichen»<br />

oder «technischen» Schlüssel.<br />

Natürliche Primarschlüssel<br />

Sie können auch natürliche Schlüssel verwenden. Gemeint sind ein oder mehrere Attribute<br />

in einer Tabelle, die die Fähigkeit besitzen, einen Datensatz eindeutig zu identifizieren.<br />

Dies können natürliche Schlüssel wie zum Beispiel AHV-Nummern, Kontonummern,<br />

Postleitzahlen etc. sein.<br />

In unserem Beispiel könnte der Primärschlüssel der Tabelle «Kunde» eine künstliche<br />

Kundennummer sein. In der Tabelle Ort wird ein natürlicher Schlüssel in Form der<br />

«PLZ» mit 6 Stellen eingegeben. Die vierstelligen Postleitzahlen in der Schweiz sind<br />

nicht eindeutig.<br />

Fremdschlüssel<br />

5.4.2 Fremdschlüssel<br />

Der Fremdschlüssel ist ein Attribut oder eine Kombination von Attributen in einer<br />

Tabelle, die in einer anderen Tabelle als Primärschlüssel in Erscheinung treten kann.<br />

In der Tabelle «Kunde» muss ein Fremdschlüssel «Anrede» erstellt werden, der auf<br />

den Primärschlüssel «Anrede_Id» in der Tabelle «Anrede» verweist. Mit Hilfe dieser<br />

Beziehung lassen sich beide Tabellen miteinander verbinden.<br />

Kunde<br />

Anrede<br />

Kunde_Id Nachname Vorname Anrede Anrede_Id Anrede<br />

100 Muster Hans 1 1 Herr<br />

200 Muster Isabelle 2 2 Frau<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 15: Fremdschlüssel<br />

5.4.3 Referentielle Integrität<br />

Die referentielle Integrität in einem Datenbanksystem gewährleistet, dass nur Fremdschlüssel<br />

eingegeben werden können, welche in der verknüpften Tabelle als Primärschlüssel<br />

definiert sind.<br />

So kann zum Beispiel ein Kunde mit der Anrede «Herr Dr.» erst in die Tabelle «Kunde»<br />

eingetragen werden, wenn die Tabelle «Anrede» diese spezielle Anrede enthält.<br />

34<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

Kunde<br />

Anrede<br />

Kunde_Id Nachname Vorname Anrede Anrede_Id Anrede<br />

100 Muster Hans 1 1 Herr<br />

200 Muster Isabelle 2 2 Frau<br />

300 Meier Kurt 3 3 Herr Dr.<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 16: Referentielle Integrität<br />

Die referentielle Integrität vermindert auf diese Weise Fehleingaben und liefert korrekte<br />

Daten. Ungeachtet dessen muss dem Datenbankmanagementsystem das Verhalten<br />

bei Verletzung der referentiellen Integrität mitgeteilt werden.<br />

Was soll zum Beispiel mit den Kunden der Tabelle «Kunde» geschehen, wenn Sie in<br />

der Tabelle «Anrede» die Entität «3; Herr Dr.» löschen?<br />

In einem DBMS können Sie unter anderem bestimmen, ob eine Fehlermeldung die<br />

Durchführung des Löschvorgangs unterbrechen soll oder ob die Datensätze in der<br />

Fremdschlüsseltabelle ebenfalls gelöscht werden sollen.<br />

5.5 Korrekte Umsetzung der Anforderungen<br />

Um ein Datenmodell mit den benötigten Entitätsmengen und den korrekten Beziehungen<br />

zu erstellen, benötigen Sie viele Angaben. An diese Informationen können<br />

Sie mit Hilfe von Erhebungstechniken, wie z.B. Interview, Dokumentenstudium etc.<br />

gelangen. Im nachfolgenden Beispiel erheben wir die Bedürfnisse einer Kundendatenbank<br />

mittels der Interview-Technik.<br />

Ein Kunde kann mehrere Aufträge erteilen. Ein Auftrag kann einen oder mehrere<br />

Artikel umfassen. Artikel können nicht, einmal oder mehrmals bestellt werden. Ein<br />

Kunde verfügt über eine Anrede und einen Ort. Die Aufträge werden von Verkäufern<br />

eingegeben, welche keinen, einen oder mehrere Aufträge erfassen.<br />

Der Begriff Artikel wird innerhalb dieses <strong>Lehrbuch</strong>s mit der Bezeichnung Produkt<br />

gleichgesetzt.<br />

5.5.1 Erstellen eines ERDs<br />

Aufgrund der Informationen, die sich mittels Interview-Technik ergeben haben, besteht<br />

nun die Möglichkeit, ein ERD zu erstellen. Dabei weichen die Vorgehensweisen<br />

unter Umständen voneinander ab.<br />

Suche nach Entitätsmengen<br />

Sehr geübte Datenbankdesigner erstellen das ERD während des Textlesens und zeichnen<br />

fortlaufend die Entitätsmengen und deren Beziehungen auf. Fehlt diese Routine,<br />

können in einem ersten Schritt alle Entitätsmengen aus dem Text herausgefiltert werden.<br />

In der Regel handelt es sich um Substantive.<br />

In unserem Beispiel sind dies im Einzelnen die Entitätsmengen Auftrag, Kunde, Artikel,<br />

Anrede, Ort sowie Sachbearbeiter.<br />

Tabellen werden übrigens niemals mit der Mehrzahlform betitelt.<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

35


B 13 Informations- und Datenbankmanagement<br />

Bildung von Beziehungen<br />

Nachdem die Entitätsmengen ermittelt worden sind, geht es darum, die Beziehungen<br />

herzustellen. Die Art der Beziehungserstellung basiert auf der an das Datenmodell<br />

gestellten Anforderung.<br />

In unserem Beispiel soll ein Auftrag einen bzw. mehrere Artikel umfassen. Somit haben<br />

wir eine m-Beziehung «Auftrag» zu «Artikel». Im Gegenzug kann ein Artikel<br />

keinmal, einmal oder mehrmals in der Tabelle «Auftrag» vorkommen. Es besteht eine<br />

mc-Beziehung «Artikel» zu «Auftrag». Ein ERD der GOURMEX AG könnte wie folgt<br />

aussehen:<br />

Anrede<br />

Ort<br />

Kunde Auftrag Artikel<br />

Verkäufer<br />

Abb. 18: ERD der GOURMEX AG<br />

5.5.2 Aufbau eines Relationenmodells<br />

Das ERD gewährt bereits einen ersten Überblick über Entitätsmengen und deren Beziehungen.<br />

Um mit der Datenbank effizient arbeiten zu können, fehlen Informationen<br />

wie Attribute sowie Primär- und Fremdschlüssel. Diese Informationen sind im<br />

Relationenmodell festgehalten.<br />

Beim Relationenmodell werden alle Entitätsmengen aus dem ERD übernommen. Anschliessend<br />

können die benötigten Attribute definiert werden. Diese Felder werden<br />

auf der Grundlage der Benutzerbedürfnisse festgelegt.<br />

Jetzt fehlen nur noch die Primär- und Fremdschlüssel. Als Faustregel gilt, dass jede m-<br />

bzw. mc-Beziehung einen Fremdschlüssel beinhalten muss.<br />

Das Relationenmodell einer Verkaufsdatenbank könnte auszugsweise wie folgt aussehen.<br />

36<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

Anrede<br />

Ort<br />

Kunde<br />

Verkäufer<br />

(Anrede_Id, Anrede)<br />

(PLZ, Ort)<br />

(Kunde_Id, Anrede_Id, Nachname, Vorname, Strasse, PLZ, Kundenrating)<br />

(Verkäufer_Id, Nachname, Vorname)<br />

.....<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 17: Auszug Relationenmodell<br />

In der Schweiz sind die vierstelligen PLZ nicht eindeutig. In diesem <strong>Lehrbuch</strong> wird zur<br />

Vereinfachung mit der vierstelligen PLZ gearbeitet.<br />

Aufgaben<br />

5 a – 5 f<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

37


B 13 Informations- und Datenbankmanagement<br />

Komplexe<br />

Datenmodelle<br />

6 Komplexe Datenmodelle<br />

Beim Erstellen eines ERDs gibt es einige Spezialfälle, mit welchen Sie innerhalb dieses<br />

Kapitels bekannt gemacht werden.<br />

Komplexe<br />

Datenmodelle<br />

1:m-<br />

Beziehung<br />

Auflösung<br />

komplexer<br />

Beziehungen<br />

Generalisierung<br />

und<br />

Spezialisierung<br />

Doppelte<br />

Beziehung<br />

Rekursive<br />

Beziehung<br />

Abb. 19: Komplexe Datenmodelle<br />

1:m-Beziehung<br />

6.1 1:m-Beziehung<br />

Die 1:m-Beziehung kann in konzeptionellen Datenmodellen vorkommen. Diese Beziehung<br />

hat allerdings den Nachteil, dass sie technisch in einigen Datenbanken (zum<br />

Beispiel MS Access) nicht umgesetzt werden kann. Im nachfolgenden Beispiel liegt<br />

ein Ort in genau einem Land. Ein Land hat mindestens einen oder aber mehrere Orte.<br />

Land<br />

Ort<br />

Abb. 20: Beispiel einer 1:m-Beziehung<br />

Die Problematik dieses Beispiels gründet sich darauf, dass ein neues Land erst erfasst<br />

werden kann, sofern für dieses Land ein Ort vorliegt. Der Ort ist jedoch erst erfassbar,<br />

wenn das entsprechende Land existiert. Es wird daher empfohlen, die 1:m-Beziehung<br />

nur in absolut eindeutigen Fällen zu verwenden. In Fällen, wie dem eben geschilderten<br />

ist die 1:mc-Beziehung zu benutzen. In der 1:mc-Beziehung ist die 1:m-Beziehung<br />

enthalten.<br />

Auflösung<br />

6.2 Auflösung komplexer Beziehungen<br />

Häufig kommt es bei der Erstellung einer Beziehung zwischen zwei Tabellen zu komplexen<br />

Beziehungen. Das heisst, dass an beiden Enden der Beziehung mehrere Einträge<br />

(m oder mc) möglich sind.<br />

Die Tabelle «Artikel» weist die Artikel «Gipfel» und «Brötchen» auf. In der Tabelle<br />

«Auftrag» sind die Bestellungen Nr. 4 und 9 eingetragen worden. Nun ist es möglich,<br />

dass Herr Müller mit der Bestellung Nr. 4 Brötchen und Gipfel zusammen aus der Tabelle<br />

«Artikel» bestellt. Das Brötchen hingegen kann in mehreren Bestellungen vorkommen.<br />

Eine genaue Zuteilung ist nicht möglich, da der Artikel Brötchen auf zwei<br />

Bestellungen hinzeigt.<br />

38<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

Auftrag<br />

Artikel<br />

Bestellung 4<br />

von<br />

Herrn Müller<br />

Bestellung 9<br />

von<br />

Herrn Meier<br />

Abb. 21: Komplexe Beziehung (Beispiel)<br />

Mit der Notation nach IEM wird diese Bezeichnung wie folgt abgebildet.<br />

Auftrag<br />

Artikel<br />

Abb. 22: Komplexe Beziehung gemäss IEM<br />

In einem ersten konzeptionellen Entwurf können solche m(c):m(c)-Beziehungen bestehen<br />

bleiben. Komplexe Beziehungen sind allerdings in Datenbanken technisch<br />

nicht realisierbar.<br />

Aus diesem Grund muss diese Beziehungsart aufgelöst werden.<br />

Die Auflösung einer komplexen Beziehung erfolgt immer nach dem gleichen Muster.<br />

Zwischen den beiden existierenden Tabellen wird eine neue Tabelle eingeschoben.<br />

Diese Zwischentabelle kann mit einem entsprechenden Namen, wie bspw. «Position»,<br />

oder noch einfacher mit «Auftrag/Artikel» beschriftet werden. Anschliessend ist es<br />

möglich, die Beziehung erneut zu erzeugen.<br />

Ein Auftrag schliesst mindestens eine bis mehrere Positionen ein. Eine Position bezieht<br />

sich dabei lediglich auf einen Artikel. Ein Artikel hingegen kann innerhalb mehrerer<br />

Positionen vorkommen. Die neue Tabelle «Position» ist somit Bindeglied und<br />

ermöglicht eine genaue Zuteilung bzw. Vermittlung der beiden Tabellen «Auftrag»<br />

und «Artikel».<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

39


B 13 Informations- und Datenbankmanagement<br />

Auftrag Position Artikel<br />

Bestellung 4<br />

Brötchen<br />

Bestellung 4<br />

von<br />

Herrn Müller<br />

Bestellung 4<br />

Gipfel<br />

Bestellung 9<br />

von<br />

Herrn Meier<br />

Bestellung 9<br />

Brötchen<br />

Bestellung 9<br />

Gipfel<br />

Abb. 23: Auflösung einer komplexen Beziehung (Beispiel)<br />

Mit der Notation IEM bildet man die oben stehenden Tabellen und deren Beziehungen<br />

untereinander wie folgt ab:<br />

Aufgabe<br />

6 a<br />

Auftrag<br />

Position<br />

Artikel<br />

Abb. 24: Aufgelöste Beziehung nach IEM<br />

Generalisierung/<br />

Spezialisierung<br />

6.3 Generalisierung und Spezialisierung<br />

Als vorbildlicher Mitarbeiter kaufen Sie selbstverständlich auch ihre Lebensmittel<br />

bei der GOURMEX AG ein. Folglich sind Sie sowohl Mitarbeiter als auch Kunde der<br />

GOURMEX AG und werden dementsprechend in den Tabellen «Kunde» und «Mitarbeiter»<br />

geführt. Beide Tabellen weisen dabei die gleichen Attribute wie Nachname,<br />

Vorname, Strasse, PLZ etc. auf. Dies hat den grossen Nachteil, dass die gleichen Informationen<br />

in zwei verschiedenen Tabellen verwaltet werden müssen. Bei einer Änderung<br />

der Adresse ist man folglich dazu gezwungen, beide Tabellen nachzubearbeiten.<br />

Dies wird allerdings häufig vergessen und führt zu Diskrepanzen bzw. schlechter Datenqualität.<br />

Um den Verwaltungsaufwand beider Tabellen zu reduzieren, besteht die<br />

Möglichkeit, gemeinsame Werte in einer zentralen Tabelle zu verwalten.<br />

Im nachfolgenden Beispiel werden alle Informationen in der Tabelle «Partner» verwaltet.<br />

Ein Partner kann somit ein oder kein Kunde sein. Darüber hinaus gibt es aber<br />

auch Attribute, die nur zu Kunden (z.B. Bonität), Mitarbeitern (z.B. Gehalt) oder Lieferanten<br />

(z.B. Lieferkonditionen) gehören können. Diese werden den entsprechenden<br />

Subentitäten zugeordnet.<br />

40<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

Abb. 25: Beispiel einer 1:c-Beziehung<br />

Die Superentität ist im konkreten Fall der Partner. Kunde, Mitarbeiter und Lieferant<br />

werden als Subentitäten der Superentität Partner dargestellt. Wenn sich zwei Entitätsmengen<br />

überlappen, können folgende Mengen definiert werden:<br />

Sie sind Kunde und Mitarbeiter der GOURMEX AG. Somit kommen sie in beiden Entitätsmengen<br />

vor. Der Kunde «Meier» ist kein Mitarbeiter der GOURMEX AG. Somit<br />

ist er nur in der Entitätsmenge «Kunde» erfasst (Vgl. hierzu Sub- bzw. Superentitätsmenge).<br />

6.4 Doppelte Beziehungen<br />

Die Verwendung einer doppelten Beziehung stellt einen Spezialfall dar, der aber<br />

durchaus vorkommen kann.<br />

Bei der GOURMEX AG sind alle Mitarbeiter des Unternehmens in der Tabelle «Partner»<br />

erfasst. Ebenfalls verfügt das Unternehmen über ein Auftragssystem, das Kundenbestellungen<br />

aufzeichnet und verwaltet. In der Regel bestellt der Kunde die Waren<br />

im Verkauf. Ein Lagermitarbeiter gibt die bestellten Artikel auf und schliesst die<br />

Bestellung damit ab. Im Auftragssystem werden nun der Name des Auftragserfassers<br />

(Erfasser) sowie der Name des Lagermitarbeiters (Erlediger) festgehalten. Beide Namen<br />

stammen aus der zentralen Partnertabelle.<br />

Doppelte<br />

Beziehungen<br />

Erfasser<br />

Partner<br />

Erlediger<br />

Auftrag<br />

Abb. 26: Doppelte Beziehung<br />

Partner<br />

Auftrag<br />

(Partner_Id, Nachname, Vorname, ….)<br />

(Auftrag_Id, Erfasser, Erlediger, Datum…..<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 18: Relationenmodell doppelte Beziehungen<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

41


B 13 Informations- und Datenbankmanagement<br />

Rekursive<br />

Beziehungen<br />

6.5 Rekursive Beziehungen<br />

Eine Beziehung ist rekursiv, wenn in einer Tabelle eine oder mehrere Beziehungen zur<br />

gleichen Tabelle bestehen. Die rekursive Beziehung einer Entität wird oft auch als pig<br />

ear (dt. Schweineohr) bezeichnet, da diese aufgrund ihrer Form eine gewisse Ähnlichkeit<br />

zu einem Schweineohr aufweist.<br />

Abb. 27: Grafische Darstellung einer rekursiven Beziehung (pig ear)<br />

Anhand der folgenden Beispiele soll deutlich gemacht werden, wie eine rekursive<br />

Beziehung als Datenmodell dargestellt und physisch in einer Tabelle umgesetzt wird.<br />

Hierbei ist zwischen einer c-mc- und einer mc-mc-Rekursion zu unterscheiden.<br />

c-mc-Rekursion<br />

6.5.1 Die c-mc-Rekursion<br />

Die GOURMEX AG besteht aus mehreren Abteilungen, denen Abteilungsleiter vorstehen.<br />

Es ist möglich, dass ein Abteilungsleiter keinen, einen oder mehrere Mitarbeiter<br />

leitet. Darüber hinaus ist ein Mitarbeiter kein bzw. ein Abteilungsleiter. Dieser Sachverhalt<br />

kann wie folgt in der Entitätsmenge «Mitarbeiter» festgehalten werden.<br />

Mitarbeiter<br />

Abb. 28: Rekursive c-mc-Beziehung<br />

Mitarbeiter 1 «Mike Chef» ist Abteilungsleiter und führt in seiner Funktion die Mitarbeiter<br />

2 und 3.<br />

Ma_Id Name Abteilungsleiter<br />

1 Mike Chef Null<br />

2 Karl Bürgin 1<br />

3 Georg Keller 1<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 19: Auflistung der Mitarbeiter<br />

42<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

6.5.2 Die mc-mc-Rekursion<br />

Die GOURMEX AG verkauft Geschenkkörbe. Die Käufer können zwischen verschiedenen<br />

Korbgrössen wählen und den Inhalt der Körbe selbst bestimmen. Dieser Inhalt<br />

stammt aus der Tabelle «Artikel».<br />

Komplexe rekursive Beziehungsmengen müssen durch gezieltes Einfügen von zusätzlichen<br />

Entitätsmengen eliminiert werden. Der obige Sachverhalt kann ebenfalls als<br />

komplexe Beziehung zwischen Artikel Korb und Artikel Champagner bezeichnet werden.<br />

mc-mc-<br />

Rekursion<br />

Artikel_Id<br />

Artikel<br />

1 Korb 1<br />

2 Korb 2<br />

3 Champagner<br />

4 Trauben<br />

....<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 20: Artikelauflistung<br />

Ein Korb kann keinen, einen oder mehrere Artikel fassen. Ein Inhalt, wie zum Beispiel<br />

eine Flasche Champagner, kann hingegen in keinem, einem oder mehreren Körben<br />

enthalten sein.<br />

Auf diese Weise entstehen komplexe Beziehungen einer Entität zu einer oder mehreren<br />

Entitäten in derselben Entitätsmenge.<br />

Artikel<br />

Abb. 29: Rekursive mc-mc-Beziehung<br />

Artikel<br />

enthält<br />

wird aufbewahrt in<br />

Artikel<br />

Abb. 30: Darstellung einer komplexen Beziehung<br />

Diese komplexe Beziehung muss aufgelöst werden, damit die Normalformen nicht<br />

verletzt werden.<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

43


B 13 Informations- und Datenbankmanagement<br />

Artikel<br />

Artikel<br />

Geschenkkorb<br />

Abb. 31: Aufgelöste komplexe Beziehung<br />

Da die Entitätsmengen «Artikel» identisch sind, können diese wie folgt zusammengefasst<br />

werden. Das Problem mc-mc-Rekursion wäre damit gelöst.<br />

Artikel<br />

Geschenkkorb<br />

Abb. 32: Zusammengefasste komplexe Beziehung<br />

Das Relationenmodell der Tabelle «Geschenkkorb» könnte wie folgt aufgebaut sein.<br />

Korb<br />

Inhalt<br />

1 3<br />

1 4<br />

1 5<br />

2 3<br />

2 4<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 21: Relationenmodell Geschenkkorb<br />

Daraus ist ersichtlich, dass der Korb 2 eine Flasche Champagner und Trauben enthält.<br />

Aufgaben<br />

6 b – h<br />

44<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

7 Das Normalisieren von Daten<br />

Häufig existieren bereits Daten. Diese werden zum Beispiel in einem bestehenden Excel-File<br />

verwaltet. Sie verfügen damit bereits über die Attribute und deren Datentyp.<br />

Es fehlt jedoch allein das Wissen über die Tabellen und deren Beziehungen.<br />

Mit der Normalisierungstechnik kann man ein Datenbankschema erstellen. Dabei<br />

kommt ein so genanntes Bottom-up-Verfahren zum Einsatz. Ausgehend von Detailinformationen,<br />

die man vorab studiert hat, ist man darauf aufbauend in der Lage, ein<br />

Datenbankmodell zu erstellen. Im Zuge des Normalisierens werden Daten systematisch<br />

Schritt für Schritt umgeformt, bis letztlich das angestrebte Datenmodell besteht.<br />

Die einschlägige Literatur kennt mehrere Normalformen. Für die Praxis sind die Formen<br />

1 bis 3 relevant. Die Daten werden aus der unnormalisierten Form schrittweise in<br />

die 3. Normalform gebracht.<br />

7.1 Unnormalisierte Form<br />

Die GOURMEX AG verwaltet ihre Projekte in einem Excel-File, das wie folgt aufgebaut<br />

ist:<br />

Normalisieren<br />

MA_<br />

Id<br />

Nachname<br />

Vorname<br />

Abt_<br />

Id<br />

Abteilung Proj_Id Projektname<br />

Projektleitung<br />

Stunden<br />

1<br />

2<br />

3<br />

2<br />

3<br />

4<br />

Aalström<br />

Benz<br />

Cluster<br />

Benz<br />

Cluster<br />

Deisler<br />

Anton<br />

Bernhard<br />

Carlo<br />

Bernhard<br />

Carlo<br />

Daniel<br />

A<br />

B<br />

C<br />

B<br />

C<br />

A<br />

Einkauf<br />

Lager<br />

Verkauf<br />

Lager<br />

Verkauf<br />

Einkauf<br />

1<br />

Verkaufsdatenbank<br />

2 Webauftritt<br />

Benz<br />

Cluster<br />

40<br />

50<br />

60<br />

40<br />

50<br />

60<br />

Tabelle 22: Unnormalisierte Form<br />

Diese Tabelle ist problematisch, denn sie weist Redundanzen auf, die beim Hinzufügen<br />

oder Mutieren von Datensätzen zu Fehlern führen können. Daher soll diese Tabelle<br />

Schritt für Schritt zu einem relationalen Datenbankschema umgeformt werden<br />

.<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

45


B 13 Informations- und Datenbankmanagement<br />

1. Normalform<br />

7.2 Erzeugung einer Normalform (1. Schritt)<br />

In der ersten Normalform ist pro Attribut nur ein Wert erlaubt. Im angeführten Beispiel<br />

kann dies bei fast allen Attributen nicht gewährleistet werden. Deshalb werden<br />

die Informationen der unnormalisierten Tabelle in eine Tabelle der 1. Normalform<br />

übertragen.<br />

Für jede Information wird ein separater Record verwendet.<br />

MA_<br />

Id<br />

Nachname<br />

Proj_<br />

Id<br />

Projektname<br />

Vorname Abt_Id Abteilung<br />

Projektleitung<br />

Stunden<br />

1 Aalström Anton A Einkauf 1<br />

Verkaufsdatenbank<br />

Benz<br />

40<br />

2 Benz Bernhard B Lager 1<br />

3 Cluster Carlo C Verkauf 1<br />

Verkaufsdatenbank<br />

Verkaufsdatenbank<br />

Benz 50<br />

Cluster 60<br />

4 Benz Bernhard B Lager 2 Webauftritt Cluster 40<br />

3 Cluster Carlo C Verkauf 2 Webauftritt Cluster 50<br />

4 Deisler Daniel A Einkauf 2 Webauftritt Cluster 60<br />

Tabelle 23: 1. Normalform<br />

In der 1. Normalform sind noch viele Redundanzen vorhanden, die es gilt, innerhalb<br />

der nächsten Schritte zu eliminieren.<br />

2. Normalform<br />

7.3 Erzeugung einer Normalform (2. Schritt)<br />

Eine weitere Aufgabe besteht nun darin, den Primärschlüssel zu finden. Mit welchem<br />

Schlüssel lässt sich ein Record in der obigen Tabelle eindeutig identifizieren?<br />

Ein Schlüssel kann auch aus mehreren Attributen, den so genannten Schlüsselattributen,<br />

bestehen. In unserem Beispiel setzt sich der Primärschlüssel aus den Attributen<br />

«MA_Id» sowie «Proj_Id» zusammen.<br />

Jedes dieser Attribute ist dabei ein Teilschlüssel vom gesamten Primärschlüssel.<br />

MA_Id<br />

Abt_Id Abteilung Proj_Id<br />

Nachname<br />

Vorname<br />

Projektname<br />

Projektleitung<br />

Stunden<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 24: Definition Primärschlüssel<br />

Nachdem für jedes Attribut nur ein Wert vorhanden und der Primärschlüssel bekannt<br />

ist, sollten die Abhängigkeiten der übrigen Attribute zum Primärschlüssel untersucht<br />

werden. Das Attribut «Nachname» ist abhängig vom Teilschlüssel «MA_Id».<br />

Das heisst, dass bei der MA_Id «1» immer der Nachname «Aalström» folgt. Das Attribut<br />

«Vorname» ist ebenfalls abhängig vom Attribut «MA_Id», da nach «1» immer der<br />

Eintrag «Anton» folgt. Für die nachfolgenden Attribute gilt exakt das gleiche Prozedere.<br />

Von speziellem Interesse sind die Stunden, die sich auf das Projekt und den jeweiligen<br />

Mitarbeiter beziehen.<br />

46<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

MA_Id<br />

Abt_Id<br />

Proj_Id<br />

Nachname<br />

Vorname<br />

Abteilung<br />

Projektname<br />

Projektleitung<br />

Stunden<br />

Primärschlüssel/Fremdschlüssel<br />

Abb. 33: Abhängigkeiten ermitteln<br />

Nur die vom einfachen Schlüssel abhängigen Attribute werden zusammen in eine<br />

neue Tabelle übertragen. Innerhalb dieses Schrittes sucht man die Felder, die nicht<br />

von einer Schlüsselkombination, sondern von Teilschlüsseln abhängig sind. In unserem<br />

Beispiel ergeben sich daraus die Tabellen «Mitarbeiter», «Projekt» sowie «Projektmitarbeit».<br />

Die Tabelle «Projektmitarbeit» beinhaltet die Attribute der Ursprungs tabelle,<br />

die sich auf den verknüpften Primärschlüssel beziehen.<br />

Mitarbeiter<br />

Projektmitarbeit<br />

MA_Id Nachname Vorname Abt_Id Abteilung MA_Id Proj_Id<br />

Stunden<br />

1 Aalström Anton A Einkauf 1 1 40<br />

2 Benz Bernhard B Lager 2 1 50<br />

3 Cluster Carlo C Verkauf 3 1 60<br />

4 Deisler Daniel A Einkauf 2 2 40<br />

3 2 50<br />

4 2 60<br />

Projekt<br />

Proj_Id Projektname Projektleitung<br />

1 Verkaufsdatenbank 2<br />

2 Webauftritt 3<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 25: 2. Normalform<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

47


B 13 Informations- und Datenbankmanagement<br />

3. Normalform<br />

7.4 Erzeugung einer Normalform (3. Schritt)<br />

Die Tabellen «Projekt» und «Projektmitarbeit» liegen bereits in der 3. Normalform<br />

vor, da die Attribute direkt abhängig vom Primärschlüssel der Tabelle sind.<br />

Die Tabelle «Mitarbeiter» hingegen enthält unter dem Attribut «Abteilung» immer<br />

noch Redundanzen, die zu Fehleingaben führen können.<br />

Beispielsweise könnte ein neuer Eintrag mit der Abt_Id «A» und der Abteilung «Buchhaltung»<br />

erfasst werden. Aus diesem Grund werden in der 3. Normalform auch diejenigen<br />

Attribute in eigene Tabellen ausgegliedert, die nicht direkt von den Teilschlüsseln<br />

abhängig sind.<br />

Mitarbeiter<br />

Projektmitarbeit<br />

MA_Id Nachname Vorname Abt_Id MA_Id Proj_Id Stunden<br />

1 Aalström Anton A 1 1 40<br />

2 Benz Bernhard B 2 1 50<br />

3 Cluster Carlo C 3 1 60<br />

4 Deisler Daniel A 2 2 40<br />

3 2 50<br />

4 2 60<br />

Projekt<br />

Abteilung<br />

Proj_Id Projektname Projektleitung Abt_Id Abteilung<br />

1<br />

Verkaufsdatenbank<br />

2 A Einkauf<br />

2 Webauftritt 3 B Lager<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 26: 3. Normalform<br />

C<br />

Verkauf<br />

Aufgaben<br />

7 a – c<br />

48<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

8 Das Historisieren von Daten<br />

In den vorherigen Kapiteln haben wir für die GOURMEX AG nachfolgendes Datenmodell<br />

für die neue Verkaufsdatenbank erstellt.<br />

Historisieren<br />

Anrede<br />

Ort<br />

Kunde<br />

Auftrag<br />

Position<br />

Artikel<br />

Verkäufer<br />

Anrede<br />

(Anrede_Id, Anrede)<br />

Ort<br />

(PLZ, Ort)<br />

Kunde<br />

(Kunde_Id, Anrede_Id, Nachname, Vorname, Strasse, PLZ, Kundenrating)<br />

Verkäufer (Verkäufer_Id, Nachname, Vorname)<br />

Auftrag<br />

Position<br />

Artikel<br />

(Auftrag_Id, Kunde_Id, Verkäufer_Id, Auftrag_vom)<br />

(Auftrag_Id, Artikel_Id, Menge)<br />

(Artikel_Id, Artikel, Preis)<br />

Primärschlüssel/Fremdschlüssel<br />

Abb. 34: Verkaufsdatenbank ohne Historisierung<br />

Mittels dieser Datenbank können Bestellungen von Kunden direkt in eine Verkaufsmaske<br />

eingetragen werden. Die Erstellung der entsprechenden Rechnungen erfolgt<br />

automatisch.<br />

Herr<br />

Hans Muster<br />

Auftragsnummer: 2334534<br />

Gemäss Ihrer Bestellung vom 02.07.2010 stellen wir Ihnen folgenden<br />

Betrag in Rechnung.<br />

Menge Artikel Preis Total<br />

10 Brot 2.00 20.00<br />

< Tabelle Anrede<br />

< Tabelle Kunde<br />

< Tabelle Auftrag<br />

< Tabelle Position und<br />

Artikel<br />

…<br />

Total 20.00<br />

Tabelle 27: Rechnungsbeispiel (Auszug)<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

49


B 13 Informations- und Datenbankmanagement<br />

Es kann immer wieder etwas Unerwartetes geschehen. Das muss bei der Erstellung<br />

des Datenmodells berücksichtigt werden. Unerwartet könnte es bspw. zu einer Preisänderung<br />

bei den Produkten kommen.<br />

Der Preis für Brot wird von CHF 2.00 auf CHF 3.00 erhöht. Hierfür wird lediglich in der<br />

Tabelle «Artikel» der Inhalt vom Attribut «Preis» angepasst. Sie gehen davon aus, dass<br />

kommende Rechnungen mit dem korrekten Preis ausgedruckt werden.<br />

Artikel_Id Artikel Preis<br />

1 Brot 2.00 3.00<br />

Tabelle 28: Tabelle Preisänderung<br />

Leider kommt es immer wieder vor, dass Kunden Ihre Rechnungen «nicht erhalten»<br />

haben. Folglich müssen Sie diese erneut ausdrucken. Aus dieser Verkettung ungünstiger<br />

Umstände ergibt sich folgendes Problem: Der Preis wird aus dem Attribut «Preis»<br />

bezogen, welcher stets aktuell ist. Die Preise vergangener Rechnungen sind demzufolge<br />

nicht mehr vorhanden. Alte Rechnungen werden nicht mit CHF 2.00, sondern<br />

mit dem neuen Preis von CHF 3.00 ausgewiesen und gedruckt. Daher ist jedes Unternehmen<br />

gezwungen, eine Historisierung der Datenbank vorab zu planen.<br />

Historisieren<br />

von Entitäten<br />

8.1 Historisieren von Entitäten<br />

Jeder Datensatz hat eine bestimmte Laufzeit bzw. Gültigkeit. Nach seiner Erstellung<br />

(create) können Mutationen (update) vorgenommen werden. Verliert der Datensatz<br />

innerhalb einer gewissen Zeit an Informationswert, kann er gelöscht (delete) werden.<br />

Die Preise der Artikel müssen historisiert werden, um solche Szenarien wie das oben<br />

stehende zu vermeiden.<br />

Ein Artikel verfügt in seiner Laufzeit über einen bis mehrere Preise. Die Beziehung<br />

Artikel zu Preis gleich 1:mc wird dabei sofort ersichtlich.<br />

Das Historisieren von Attributen findet immer nach dem gleichen Schema statt, das in<br />

3 Schritten erfolgt.<br />

1. Das Attribut, welches historisiert werden soll, wird einer neuen Tabelle zugeteilt.<br />

Die neue Tabelle wird in diesem Beispiel mit «Preis» definiert. Wichtiger Bestandteil<br />

dieser Tabelle sind Zeitattribute wie bspw. «Gültig_von» und «Gültig_bis».<br />

2. Die Beziehung zu dieser neuen Tabelle ist immer 1:mc. Ein Artikel kann demnach<br />

mehrere Preise haben, obgleich ein Preis zu genau einem Artikel gehört.<br />

3. Das historisierte Attribut muss in der «alten» Tabelle gelöscht werden. Somit wird<br />

das Attribut «Preis» aus der Tabelle «Artikel» entfernt.<br />

Im nachfolgenden ERD wurde die Historisierung unserer Datenbank bereits vorgenommen.<br />

50<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

Anrede<br />

Ort<br />

Kunde<br />

Auftrag<br />

Position<br />

Artikel<br />

Verkäufer<br />

Preis<br />

Anrede<br />

(Anrede_Id, Anrede)<br />

Ort<br />

Kunde<br />

Verkäufer<br />

Auftrag<br />

Position<br />

Artikel<br />

Preis<br />

(PLZ, Ort)<br />

(Kunde_Id, Anrede_Id, Nachname, Vorname, Strasse, PLZ, Kundenrating)<br />

(Verkäufer_Id, Nachname, Vorname)<br />

(Auftrag_Id, Kunde_Id, Verkäufer_Id, Auftrag_vom)<br />

(Auftrag_Id, Artikel_Id, Menge)<br />

(Artikel_Id, Artikel, Preis)<br />

(Preis_Id, Preis, Gültig_von, Gültig_bis, Artikel_Id)<br />

Primärschlüssel/Fremdschlüssel<br />

Abb. 35: Verkaufssystem mit Historisierung<br />

Mögliche Inhalte der Tabelle «Preis» und «Artikel» ergeben sich wie folgt.<br />

Artikel<br />

Preis<br />

Artikel_Id Artikel Preis_Id Preis Gültig_von Gültig_bis Artikel_Id<br />

1 Brot 1 2.00 01.01.2010 31.03.2010 1<br />

2 Gipfel 2 3.00 01.04.2010 1<br />

3 Schokolade …<br />

…<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 29: Tabellen: Artikel und Preis<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

51


B 13 Informations- und Datenbankmanagement<br />

8.2 Historisieren von Beziehungen<br />

Bei der GOURMEX AG wird Ihr Projekt «Erstellung einer neuen Verkaufsdatenbank»<br />

im Projektverwaltungssystem gespeichert. Sie selbst haben hierfür das Datenmodell<br />

im Kapitel «Normalisieren» erstellt. Der Ausschnitt des Datenmodells weist auf die<br />

Abhängigkeit zwischen den Tabellen Mitarbeiter und Projekte hin und deckt die folgenden<br />

Sachverhalte ab:<br />

- Mitarbeiter können in mehreren Projekten mitarbeiten.<br />

- Ein Projekt sollte von mehreren Mitarbeitern gleichzeitig bearbeitet werden können.<br />

- Jedes Projekt hat genau einen Projektleiter.<br />

- Ein Mitarbeiter kann innerhalb mehrerer Projekte die Funktion des Projektleiters<br />

übernehmen.<br />

Projektmitarbeit<br />

Mitarbeiter<br />

Projektleitung<br />

Projekt<br />

Abb. 36: Datenmodell Projektverwaltung<br />

Diese Datenbank hat sich bewährt. Eine Historisierung der Daten konnte jedoch bisher<br />

nicht vorgenommen werden.<br />

Sie, in Ihrer Funktion als Historisierungsexperte, erhalten deshalb den Auftrag, die<br />

Datenbank so umzugestalten, dass die nachfolgenden Anforderungen erfüllt werden<br />

können.<br />

1. Es ist ersichtlich, welche Mitarbeiter im Laufe der Zeit in welchen Projekten eingeteilt<br />

waren (Beispiel: Mitarbeiter Benz war von/bis im Projekt Verkaufsdatenbank<br />

und von/bis im Projekt Webauftritt)<br />

2. Es kann jederzeit eingesehen werden, welche Projektleiter in welcher Periode<br />

ein Projekt geleitet haben.<br />

Nachfolgend erfahren Sie, wie Sie Beziehungen sowohl mit bestehenden als auch<br />

ohne Zwischentabellen historisieren.<br />

52<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.


B 13 Informations- und Datenbankmanagement<br />

8.2.1 Historisierung einer Beziehung mittels Zwischentabelle<br />

Die erste Anforderung ist rasch erfüllt. In der Zwischentabelle «Projektmitarbeit»<br />

müssen lediglich die Attribute «Datum_von» und «Datum_bis» hinzugefügt werden.<br />

Ist das «Datum_bis» leer, nimmt der Mitarbeiter noch aktiv am Projekt teil. Besteht<br />

also bereits eine Zwischentabelle zwischen zwei Tabellen, kann die Beziehung durch<br />

das Hinzufügen von Datumswerten (z.B. Datum_von/Datum_bis) historisiert werden.<br />

Ma_Id Projekt_Id Datum_von Datum_bis<br />

100 1000 01.01.2010 31.03.2010<br />

200 1000 01.01.2010 31.12.2010<br />

300 1000 01.04.2010 31.12.2010<br />

100 2000 01.03.2010 31.10.2010<br />

200 2000 01.03.2010 31.10.2010<br />

200 3000 01.07.2010 31.12.2010<br />

300 3000 01.09.2010 31.12.2010<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 30: Ergänzte Tabelle Projektmitarbeit mit Musterinhalt<br />

8.2.2 Historisierung einer Beziehung ohne Zwischentabelle<br />

Die zweite Anforderung lässt sich nicht so schnell erfüllen. Es soll möglich sein, dass<br />

ein Projekt in seiner Lebenszeit von mehreren Projektleitern geleitet wird. Darüber<br />

hinaus kann ein Projektleiter für mehrere Projekte verantwortlich sein. Infolgedessen<br />

entsteht zwischen «Mitarbeiter» und «Projekt» eine komplexe Beziehung, die mit der<br />

Zwischentabelle «Projektleitung» aufgelöst werden kann. Beim Historisieren einer<br />

Beziehung ohne eine bestehende Zwischentabelle muss deshalb eine Zwischentabelle<br />

neu erstellt werden. Anschliessend werden ebenfalls die Attribute «Datum_von»<br />

und «Datum_bis» benötigt. Daraus ergibt sich folgendes ERD.<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.<br />

53


B 13 Informations- und Datenbankmanagement<br />

Projektmitarbeit<br />

Mitarbeiter<br />

Projekt<br />

Projektleitung<br />

Abb. 37: Datenmodell Projektverwaltung (historisiert)<br />

Das Relationenmodell dieser neuen Tabelle «Projektleitung» könnte wir folgt aufgebaut<br />

sein.<br />

Projektleitung_Id Ma_Id Projekt_Id Datum_von Datum_bis<br />

1 100 1000 01.01.2010<br />

Primärschlüssel/Fremdschlüssel<br />

Tabelle 31: Relationenmodell Projektleitung (historisiert)<br />

Aufgaben<br />

8 a – b<br />

8.3 Auswirkung der Historisierungsvorgänge auf eine<br />

Datenbank<br />

Wie Sie selber festgestellt haben, ist das Historisieren von Daten mit erheblichem Aufwand<br />

verbunden. Die Modellierung temporaler Aspekte hat grosse Auswirkungen<br />

auf ein Informationssystem.<br />

••<br />

Komplexere Strukturen im Datenmodell aufgrund zusätzlich benötigter Tabellen<br />

••<br />

Grösseres Datenvolumen<br />

••<br />

Aufwändige Applikationsentwicklung<br />

••<br />

Performanceverlust bedingt durch Verteilung der Informationen auf mehrere Entitäten<br />

Daher werden typischerweise ausschliesslich diejenigen Daten historisiert, die für den<br />

Betrieb des Informationssystems notwendig sind, wie bspw. Preise, Salär eines Mitarbeiters,<br />

Zugehörigkeit zu einer Abteilung, Projektleitung usw.<br />

54<br />

2010 Copyright <strong>Verlag</strong> <strong>DieBirne</strong>.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!