DatenbankentwicklungTeil 1 und 2 Schüler

Werbung
Datenbankentwicklung
IV-LK
1.
2.
3.
4.
5.
6.
7.
Warum Datenbanken?
Anforderungsanalyse für Datenbanken
Ableitung von Tabellenstrukturen
Normalisierung
Relationenalgebra
Formalisierung von Tabellen in SQL
SQL- Anfragen
Nicole Rottmann
2011/12
1
1. Warum Datenbanken ?
IV-LK
1. Datenchaos
2. Anforderungen an eine Datenbank
3. Anforderungen an ein DatenbankManagementsystem
4. Ebenen eines DatenbankManagementsystems
Nicole Rottmann
2011/12
2
1. Warum Datenbanken? – 1. Datenchaos
IV-LK
Zeitlich und räumlich verteilte Daten:
Versandhandel erhält Bestellungen von Kunden, die nicht
vollständig erledigt werden können. -> Nachlieferungen müssen
geregelt werden.
Verwaltung durch Laufzettel:
Möglich wäre ein Stapel mit Zetteln, auf denen nicht erledigte
Aufträge notiert sind.
Wie können die Aufträge dann erfüllt werden ?
Was passiert, wenn mehrere Aufträge nicht lieferbar sind ?
Datensortierung:
Nach welchen Kriterien wird sortiert ?
Nicole Rottmann
2011/12
3
1. Warum Datenbanken? – 2. Anforderungen an eine Datenbank
IV-LK
Forderung 1: Persistenz (lat. persistere – verharren)
Werden Daten in die Datenbank eingetragen, sollen sie gespeichert bleiben, auch
wenn die Software, die die Daten eingetragen hat, beendet wurde.
Forderung 2: Anlegen von Datenschemata
Grundsätzlich können identische Daten verschiedene Bedeutungen haben. Ein
Datum 42 kann für eine Artikelnummer oder eine Hausnummer stehen. Als
Schema werden Tabellen genutzt. Die Daten werden in die einzelnen Zellen der
Tabellen eingetragen.
Forderung 3: Einfügen, Ändern und Löschen von Daten
Der Nutzer muss die Möglichkeit haben, Daten in die Tabellen einzutragen, diese
später zu ändern und wenn notwendig, auch wieder zu löschen.
Datensatz
Artikel
Artikelnummer
Bezeichnung
Anzahl
12345
IPod
78
12346
IPad
99
Nicole Rottmann
2011/12
4
1. Warum Datenbanken? – 2. Anforderungen an eine Datenbank
IV-LK
Forderung 4: Lesen von Daten
Wichtigste Aufgabe bei der Nutzung einer Datenbank sit die Schaffung
einer Möglichkeit, Daten aus der Datenbank wieder abzurufen. Es muss
festgestellt werden, ob es einen einen Eintrag zur Arktikelnummer 12346
gibt und welche zusätzlichen Daten zu diesem Artikel existieren.
Ein Softwaresystem, das alle genannten Grundanforderung erfüllt wird
Datenbank, abgekürzt DB genannt.
Nicole Rottmann
2011/12
5
1. Warum Datenbanken? – 3. Anforderungen an ein DatenbankManagementsystem
IV-LK
Bisherige Forderungen reichen für die sinnvolle Nutzung der DB nicht
aus.
Aus diesem Grund wird die DB in ein Datenbank-Management
System (DBMS) eingebettet.
Datenbank-Managementsystem
erweiterte
Funktionalität
Schema anlegen
Daten bearbeiten
Daten auslesen
Nicole Rottmann
Datenbank
2011/12
6
1. Warum Datenbanken? – 3. Anforderungen an ein DatenbankManagementsystem
IV-LK
Eine Datenbank besteht typischerweise aus vielen Datenbankschemata.
Artikel
Artikelnummer
Bezeichnung
Anzahl
12345
iPod
78
12346
iPad
99
12347
iPhone
129
Artikeleinkauf
Artikelnummer
Firma
12345
AppleStore
12346
MediaMarkt
12347
AppleStore
Nicole Rottmann
2011/12
7
1. Warum Datenbanken? – 3. Anforderungen an ein DatenbankManagementsystem
IV-LK
Verbesserte Datenbankstruktur.
Artikel
Artikelnummer
Bezeichnung
Anzahl
12345
iPod
78
12346
iPad
99
12347
iPhone
129
Artikeleinkauf
Firma
Artikelnummer
FirmaNr
FirmaNr
Firma
12345
1
1
AppleStore
12346
2
2
MediaMarkt
12347
1
Nicole Rottmann
2011/12
8
1. Warum Datenbanken? – 3. Anforderungen an ein DatenbankManagementsystem
IV-LK
Forderung 5: Integrität und redundanzfreie Datenhaltung
Das DBMS unterstützt die Möglichkeit, dass ein Datum, das an
verschiedenen Stellen benutzt wird, nur an einer Stelle definiert ist.
Es wird sichergestellt, dass Änderungen dieses Datums dann alle
Nutzungsstellen im System betreffen.
Nicole Rottmann
2011/12
9
1. Warum Datenbanken? – 3. Anforderungen an ein DatenbankManagementsystem
IV-LK
Datenbanken werden häufig von verschiedenen Nutzern zur gleichen
Zeit genutzt. Eine besondere Problematik entsteht, wenn der Zugriff
auf dieselbe Information fas gleichzeitig stattfindet.
Bestellung 1
Bestellung 2
Ausgangssituation: Artikelanzahl für Artikel
12347 ist 1
Ist Artikelanzahl für
Artikel 12347 größer 0?
Ist Artikelanzahl für
Artikel 12347 größer 0?
Antwort: ja
Antwort: ja
Verringere Artikelanzahl
für Artikel 12347 um 1
Verringere Artikelanzahl
für Artikel 12347 um 1
Endsituation: Artikelanzahl für Artikel
12347 ist -1
Nicole Rottmann
2011/12
10
1. Warum Datenbanken? – 3. Anforderungen an ein DatenbankManagementsystem
IV-LK
Forderung 6: Koordination der parallelen Nutzung
Das DBMS muss dafür Sorge tragen, dass die Integrität der
Datenbank durch die parallele Nutzung nicht verloren gehen kann.
Jeder Nutzer muss bei der Durchführung seiner Aktionen den
Eindruck haben, alleine die Datenbank zu nutzen.
Nach den bisherigen Forderungen kann jeder Nutzer jede
Datenbankfunktionalität nutzen und auf jedes Datum zugreifen. Dies
ist nicht bei jedem System sinnvoll.
Nicole Rottmann
2011/12
11
1. Warum Datenbanken? – 3. Anforderungen an ein DatenbankManagementsystem
IV-LK
Forderung 7: Rechteverwaltung
Das DBMS ermöglicht es, die Rechte an der Erstellung und
Löschung von Datenschemata sowie die Erstellung, Löschung und
Veränderung von Daten für einzelne Nutzer individuell zu definieren.
Das System stellt die Einhaltung der mit den Rechten verbundenen
Einschränkungen sicher.
Weder Computer noch Software können so erstellt werden, dass sie
absolut ausfallsicher sind. Gerade bei Datenbanken kann ein
Systemabsturz zu extrem problematischen Situationen führen.
Nicole Rottmann
2011/12
12
1. Warum Datenbanken? – 3. Anforderungen an ein DatenbankManagementsystem
IV-LK
Forderung 8: Datensicherung
Das DBMS ermöglicht es, Sicherungen des aktuellen
Datenbestandes herzustellen und diese wieder in das System
einzuspielen.
Nicole Rottmann
2011/12
13
1. Warum Datenbanken? – 3. Anforderungen an ein DatenbankManagementsystem
IV-LK
Forderung 9: Katalog
Das DBMS ermöglicht es bestimmten Nutzern, Informationen über
die gesamte Struktur des Systems zu erhalten. Dazu gehören die
vorhandenen Datenbankschemata, Integritätsbedingungen und
Nutzerrechte.
Nicole Rottmann
2011/12
14
1. Warum Datenbanken? – 4. Ebenen eines DatenbankManagementsystems
IV-LK
Unterschiedliche Personenkreise sind an verschiedenen Aspekten
einer Datenbank interessiert. Diese Interessen kann man bei der
Betrachtung von Datenbanken eindeutig trennen, man spricht dann
von Ebenen.
Sichten (Ein- und Ausgabemasken)
externe Ebene



Tabellen und Abhängigkeiten
logische Ebene
Konfiguration / DB-Einrichtung
physische Ebene
<table name="Artikel">
<size> 5G <\size>
<\table>
Nicole Rottmann
2011/12
15
1. Warum Datenbanken? – 4. Ebenen eines DatenbankManagementsystems
IV-LK
Hauptnutzer und Ersteller der einzelnen DBMS Ebenen:
Nutzer
Entwickler
externe Ebene
Endnutzer
Oberflächen-Designer
logische Ebene
Datenbank-Entwickler
physische Ebene
DatenbanksoftwareEntwickler
DatenbankAdministrator
Nicole Rottmann
2011/12
16
1. Warum Datenbanken? – Aufgaben
IV-LK
Wiederholungsfragen:
1.
Nenne typische Probleme, die bei einer Datenverwaltung ohne SoftwareUnterstützung auftreten können.
2.
Nenne vier Forderungen, die eine Software erfüllen muss, damit es sich um
eine Datenbank handelt. Veranschauliche die Forderungen durch Beispiele.
3.
Nenne fünf zusätzliche Forderungen, die eine Software erfüllen muss, damit
es sich um ein DBMS handelt. Veranschauliche die Forderungen durch
Beispiele.
4.
Beschreibe die drei Ebenen, die man bei einer Datenbank unterscheiden
kann. Nenne wer sich mit der Erstellung der Ebenen beschäftigt und wer
diese Ebenen nutzt.
Nicole Rottmann
2011/12
17
1. Warum Datenbanken? – Aufgaben
IV-LK
Übungsaufgaben:
1.
In einem kleinen Unternehmen findet die Datenverwaltung ohne Software statt.
Das Unternehmen wickelt Bestellungen ab, die mehrere Artikel umfassen
können und in schriftlicher Form vorliegen. Um schnell reagieren zu können,
werden auch nicht vollständige Bestellungen versandt und dem Kunden
mitgeteilt, dass die weiteren Artikel nicht lieferbar sind. Der Kunde müsste bei
Bedarf diese Artikel wieder neu bestellen. Zur Analyse der Abläufe möchte
man eine Übersicht haben, wie viele Bestellungen ein Kunde gemacht hat und
wie hoch seine bisherige Bestellsumme war. Weiterhin soll bekannt sein, wie
häufig ein Artikel bestellt wurde und wie häufig dieser Artikel nicht vorrätig war,
obwohl eine Bestellung vorlag. Beschreibe den Arbeitsablauf als
Programmablaufplan mit seinen möglichen Alternativen, so dass alle
Informationen erfasst werden können.
Nicole Rottmann
2011/12
18
1. Warum Datenbanken? – Aufgaben
IV-LK
2.
Die Probleme, die auftreten können, wenn alle Daten ausschließlich in
Textdateien verwaltet werden, sind im Unterricht skizziert worden. Überlege dir
konkrete Probleme, die auftreten könnten, wenn ein Versandhaus alle Daten in
Dateien verwalten würde. Überlege zusätzlich, was für eine Software dabei
hilfreich wäre, wenn keine Datenbank gekauft oder entwickelt werden dürfte.
Nicole Rottmann
2011/12
19
1. Warum Datenbanken? – Aufgaben
IV-LK
3.
Gib für die im folgenden genannten Operationen an, auf welcher Ebene
Änderungen durchzuführen sind, also ob der Oberflächen-Designer, der
Datenbank-Entwickler oder der Datenbank-Administrator aktiv werden müssen.
Es ist möglich zu notieren, dass eine oder mehrere Ebenen hauptsächlich
oder/und etwas betroffen sind. Es ist von einer laufenden Datenbank
auszugehen.
a.
In einer Eingabemaske soll ein Feld mit einer weiteren Auswahlmöglichkeit eingefügt
werden. Die Information über die Auswahlmöglichkeiten ist bereits in den Tabellen
vorhanden.
Das gesamte DBMS soll ausgetauscht werden.
Es sollen zusätzliche Informationen, wie das bisher nicht vorhandene Geburtsdatum
eines Mitarbeiters, in einer neuen Tabelle aufgenommen werden.
Es wird eine neue Abhängigkeit zwischen den Daten entdeckt, die zusätzlich
aufgenommen wird.
Es wird festgestellt, dass neben der Ausgabe einzelner Daten auch immer die Summe
dieser Daten angezeigt werden soll
b.
c.
d.
e.
Nicole Rottmann
2011/12
20
1. Warum Datenbanken? – Aufgaben
IV-LK
f.
g.
h.
i.
j.
Es sollen neue Daten in die Datenbank eingetragen werden.
Zwei existierende Datenbanken mit identischer Tabellenstruktur, aber unterschiedlichen
Inhalten, sollen zu einer Datenbank zusammengefasst werden.
Es sollen Daten in der Datenbank gelöscht werden.
Der Speicherplatz für eine Tabelle soll vergrößert werden.
Es soll eine neue Festplatte eingebaut werden, auf der Teile der Datenbank laufen
sollen.
Nicole Rottmann
2011/12
21
2. Anforderungsanalyse für Datenbanken
IV-LK
1.
2.
3.
4.
5.
Überblick über den Software-Entwicklungsprozess
Anforderungsanalyse für Software
Anforderungsanalyse für Datenbanken
Entity-Relationship Modell
Fallstudie
Nicole Rottmann
2011/12
22
2. Anforderungsanalyse für Datenbanken
IV-LK
Maßgeblich für den Erfolg von Software-Projekten ist, dass das
resultierende Produkt vom Kunden bzw. späteren Nutzern akzeptiert wird.
Dies beinhaltet neben der funktionalen Korrektheit (Software stürzt nicht ab
und hat auch sonst keine Fehler), die Nutzbarkeit der Software.
Zentral für die Nutzbarkeit der Datenbank ist die Beantwortung der Frage,
welche Daten mit welchen Zusammenhängen in der Datenbank verwaltet
werden sollen. Diese Informationen sind ein Teilergebnis der Analyse der
durch die Software zu unterstützenden Prozesse.
Nicole Rottmann
2011/12
23
2. Anforderungsanalyse für Datenbanken – 1. Überblick über den
Software-Entwicklungsprozess
IV-LK
Der Software-Entwicklungsprozess lässt sich in mehrere Phasen einteilen.
Anforderungsanalyse
Design
Implementierung
Test
Abnahme
Wasserfallmodell
Nicole Rottmann
2011/12
24
2. Anforderungsanalyse für Datenbanken – 2. Anforderungsanalyse für
Software
IV-LK
In einem Versandhaus soll eine Software zur Abwicklung von Bestellungen
entwickelt werden. In der ersten Beschreibung steht folgender Satz:“ Das
System soll die Abwicklung von Bestellungen nach dem üblichen Ablauf
unterstützen.“
Worin bestehen die Probleme in dieser Aussage?
Genauer ist der Satz „Schriftlich eingehende Bestellungen werden zunächst
formal überprüft und sollen dann in das zu entwickelnde System per Hand
eingetragen werden.
Was heißt jetzt aber formal überprüft ?
Hilfreich ist die Visualisierung von Abläufen.
Nicole Rottmann
2011/12
25
2. Anforderungsanalyse für Datenbanken – 2. Überblick über den
Software-Entwicklungsprozess
IV-LK
schriftliche Bestellung annehmen
Typischer
Ablauf
Kunde prüfen
[Kunde ok]
Bestellinformation in das System eintragen
Nicole Rottmann
2011/12
26
2. Anforderungsanalyse für Datenbanken – 2. Überblick über den
Software-Entwicklungsprozess
IV-LK
schriftliche Bestellung annehmen
Adressdaten plausibel?
[nein]
[ja]
Bestellung als nicht
bearbeitbar ablegen
Kunde hat Kundennummer?
[ja]
Alternative
Abläufe
Kunde hat Außenstände?
[nein]
neue Kundennummer zuordnen
[nein]
[ja]
Bestellinformationen in das
System eintragen
Bestellung ablehnen,
Kunden auf Außenstände
aufmerksam machen
Nicole Rottmann
2011/12
27
2. Anforderungsanalyse für Datenbanken - 2. Überblick über den
Software-Entwicklungsprozess
IV-LK
Bei der Dokumentation für jeden Prozess sollten folgende Fragen
beantwortet werden:
•
Welche Aufgabe soll der Prozess erfüllen?
•
Welche Voraussetzungen müssen erfüllt sein, damit der Prozess
ablaufen kann?
•
Welche Ergebnisse soll der Prozess produzieren?
•
Wie sieht der typische Ablauf des Prozesses aus?
•
Welche alternativen Abläufe gibt es neben dem typischen Ablauf?
•
Wer ist für die Durchführung des Prozesses verantwortlich und wer
arbeitet wie mit?
•
Welche Mittel (Arbeitsmittel, andere Software) werden zur
Durchführung des Prozesses benötigt
•
Welche anderen Prozesse werden zur erfolgreichen Abarbeitung
benötigt?
Nicole Rottmann
2011/12
28
2. Anforderungsanalyse für Datenbanken – 3. Anforderungsanalyse für
Datenbanken
IV-LK
Für die Datenbank-Entwicklung stellt sich zentral die Frage nach den Daten,
die in den einzelnen Arbeitsschritten benutzt werden. Für eine Bestellung
stellt sich z.B. die Frage, aus welchen Daten diese besteht.
Erste Aufgabe bei der Datenbank-Entwicklung ist es ein Modell einer
Miniwelt zu erstellen, das zur Aufgabenstellung passt.
Für den Modellierer stellt sich die Frage nach den Objekten der realen Welt,
die für die Aufgabenstellung relevant sind, und ihre Beziehungen zueinander.
Genauer stellt sich die Frage nach den Entitäten, die eine Rolle spielen.
Nicole Rottmann
2011/12
29
2. Anforderungsanalyse für Datenbanken – 3. Anforderungsanalyse für
Datenbanken
IV-LK
Definition Entität: Eine Entität ist ein individuelles, eindeutig
identifizierbares Objekt, das durch Eigenschaften charakterisiert
werden kann.
Für jede Eigenschaft kann man einen Namen dieser Eigenschaft, wie
„Datum“ und „Bestellnummer“ festhalten. Zu jedem dieser
Eigenschaften kann man einen Datentyp angeben, der die Werte
charakterisiert, die diese Eigenschaft bei einer Entität annehmen
kann.
Solche Eigenschaften werden bei Datenbanken „Attribute“ genannt.
Nicole Rottmann
2011/12
30
2. Anforderungsanalyse für Datenbanken – 3. Anforderungsanalyse für
Datenbanken
IV-LK
Definition Attribut: Ein Attribut besteht aus einem Namen und einem
Datentyp. Attribute werden zur Modellierung von Eigenschaften
genutzt.
Für den Modellierer sind nicht die individuellen Bestellungen interessant, sondern die
Informationen an sich, dass Bestellungen in die Datenbank aufgenommen werden
sollen. Man spricht hierbei vom Entitätstypen.
Definition Entitätstyp: Ein Entitätstyp ist eine Schablone mit einem
eindeutigen Namen. Sie dient zur Zusammenfassung von
Entitäten. In der Schablone werden alle Attribute
zusammengefasst, von denen die Entitäten konkrete
Ausprägungen haben.
Nicole Rottmann
2011/12
31
2. Anforderungsanalyse für Datenbanken – 3. Anforderungsanalyse für
Datenbanken
IV-LK
Entitätstypen werden in Entity-Relationship-Modellen in einem Rechteck
dargestellt. Die zugehörigen Attribute stehen in Ovalen, die mit dem
Rechteck verbunden sind.
Das Attribut oder die Kombination von Attributen, mit dessen Wert oder deren
Werten man eine zum Entitätstyp gehörende Entität eindeutig identifizieren kann,
wird durch Unterstreichung gekennzeichnet.
Bestellnummer
Datum
Bestellung
Nicole Rottmann
2011/12
32
2. Anforderungsanalyse für Datenbanken – 3. Anforderungsanalyse für
Datenbanken
IV-LK
Eine Bestellung hat als weitere typische Eigenschaft den Kunden, von
dem sie aufgegeben wurde. Dieser Kunde soll auch in die Datenbank
aufgenommen werden.
Jeder Kunde hat einen Namen und eine Adresse und wird durch seine
Kundennummer eindeutig.
Kunden werden als eigenständige Entitätstypen aufgenommen, um
redundante Daten zu vermeiden. Dabei werden die Namen der
Entitätstypen immer in der Einzahl geschrieben.
Wird jetzt der „Kunde“ als Entitätstyp modelliert, muss die Beziehung zur
Bestellung in das Modell aufgenommen werden. Diese Beziehung wird
benannt und im Modell als Raute dargestellt.
Nicole Rottmann
2011/12
33
2. Anforderungsanalyse für Datenbanken – 3. Anforderungsanalyse für
Datenbanken
IV-LK
Ergänztes ERM Modell für die Bestellverwaltung
Kundennummer
Name
Kunde
Adresse
Bestellnummer
bestellt
Datum
Bestellung
Attribute können nur einen Wert annehmen.
Nicole Rottmann
2011/12
34
2. Anforderungsanalyse für Datenbanken – 3. Anforderungsanalyse für
Datenbanken
IV-LK
In einer Bestellung muss nicht jeder Artikel nur einmal bestellt werden.
Was passiert, wenn in einer Bestellung gleich 42 IPads geordert
werden?
Nicole Rottmann
2011/12
35
2. Anforderungsanalyse für Datenbanken – 3. Anforderungsanalyse für
Datenbanken
IV-LK
Die bestellte Artikelmenge wird als Eigenschaft der Beziehung aufgenommen.
Kundennummer
Name
Kunde
Adresse
Bestellnummer
Datum
bestellt
Bestellung
Artikelmenge
beinhaltet
Artikel
Artikelnummer
Nicole Rottmann
2011/12
Name
36
2. Anforderungsanalyse für Datenbanken – 3. Anforderungsanalyse für
Datenbanken
IV-LK
1.
2.
3.
Das Finden der richtigen Entitätstypen, Beziehungen und Attribute ist keine
triviale Aufgabe. Ein guter Ansatz ist es die Anforderungen Schritt für
Schritt durchzuarbeiten und mit allgemeinen Regeln lässt sich zumindest
ein erster Ansatz finden:
Analysiere alle Nomen im Text, sie könnten Entitätstypen oder Attribute
sein.
Analysiere alle Verben im Text, sie können auf Beziehungen zwischen
Entitätstypen hinweisen.
Analysiere alle Adjektive im Text, sie können auf Attribute hinweisen.
Nicole Rottmann
2011/12
37
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
Ergänzungen des bisherigen Modells.
Ein Kunde kann mehrere Bestellungen machen und zu jeder Bestellung
gehört genau ein Kunde. Dieser Zusammenhang wird als Kardinalität
bezeichnet.
Kundennummer
Name
Kunde
Adresse
1
Nicole Rottmann
Bestellnummer
bestellt
2011/12
N
Datum
Bestellung
38
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
Die vier Kardinalitäten sind:
1
C
N
NC
eine Beziehung zu genau einer Entität
eine Beziehung zu einer oder keiner Entität
eine Beziehung zu einer oder mehreren Entitäten
eine Beziehung zu keiner, einer oder mehreren Entitäten
A
Y
rel
X
B
Allgemeines ERM
Jede Entität des Entitätstyps A steht in rel-Beziehung mit X Entitäten des Entitätstyps B.
Jede Entität des Entitätstyps B steht in rel-Beziehung mit Y Entitäten des Entitätstyps A.
Nicole Rottmann
2011/12
39
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
Ergänzung der Kardinalitäten für die Beziehung zwischen Bestellung und Artikel.
Kundennummer
Name
Kunde
Adresse
1
Bestellnummer
bestellt
Artikelmenge
N
Datum
Bestellung
MC
beinhaltet
N
Artikel
Artikelnummer
Name
Aussagen: Jede Bestellung beinhaltet mindestens einen Artikel.
Jeder Artikel kann in beliebig vielen Bestellungen vorkommen
Nicole Rottmann
2011/12
40
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
A
B
Ehemann
Ehefrau
Y
1
X
1
rel
verheiratet
Jeder Ehemann ist mit genau einer Frau verheiratet. Jede Ehefrau ist mit genau einem Mann
verheiratet.
Mann
Ehefrau
1
C
verheiratet
Jeder Mann ist nicht verheiratet oder hat genau eine Ehefrau. Jede Ehefrau ist mit genau einem
Mann verheiratet
Mutter
Kind
1
N
geboren
Jede Mutter hat mindestens ein oder mehrere Kinder geboren. Jedes Kind wurde von genau einer
Mutter geboren.
Frau
Kind
1
NC
geboren
Jede Frau hat ein oder kein Kind oder mehrere Kinder geboren. Jedes Kind wurde von genau
einer Frau geboren.
Mitarbeiter
Firmen-Handy
C
C
besitzen
In einer Firma kann jeder Mitarbeiter ein Firmen-Handy haben, muss es aber nicht. Jedes FirmenHandy ist entweder einem oder keinem Mitarbeiter zugeordnet. Handys ohne Zuordnung können
z.B bei Bedarf verliehen werden.
Nicole Rottmann 2011/12
41
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
A
Mentor
B
Künstler
Y
C
X
N
rel
unterstützt
Jeder Mentor unterstützt einen oder mehrere Künstler. Jeder Künstler kann einen oder keinen
Mentor haben.
See
Fluss
C
NC
münden
In jeden See können kein oder ein Fluss oder mehrere Flüsse münden. Jeder Fluss kann in genau
einen See münden, muss es aber nicht.
Student
Vorlesung
M
N
teilnehmen
Jeder Student nimmt an mindestens einer Vorlesung oder aber mehreren Vorlesungen teil. An jeder
Vorlesung nimmt mindestens ein Student oder nehmen mehrere Studenten teil.
Bestellung
Artikel
M
NC
beinhalten
Jede Bestellung beinhaltet einen oder mehrere Artikel. Jeder Artikel kann in keiner oder einer
Bestellung oder in mehreren Bestellungen vorkommen.
Artikel
Lager
MC
NC
lagern
Ein Artikel kann in keinem oder einem Lager oder mehreren Lagern gelagert sein. In jedem Lager
können kein, ein oder mehrere Artikel lagern. Es wird berücksichtigt, dass Artikel ausverkauft sein
können oder dass Lagergebäude saniert werden müssen (deshalb immer das C).
Nicole Rottmann 2011/12
42
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
Bei der Entwicklung einer Datenbank ist es wichtig, dass jede relevante
Information genau einmal in der Datenbank vorkommt.
Ein Indikator für schlechte Modellierung sind Zyklen im ERM.
Kundennummer
Name
Kunde
Adresse
Bestellnummer
bestellt
1
MC
Artikelmenge
N
Bestellung
MC
beinhaltet
kauft
N
Artikelnummer
Nicole Rottmann
2011/12
Datum
N
Artikel
Name
43
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
In der folgenden Abbildung ist der Zusammenhang zwischen Artikel und
Bestellung um Preisinformationen ergänzt worden.
Bestellnummer
Bestellung
Gesamtpreis
Artikelnummer
Datum
MC
beinhaltet
Artikelmenge
Nicole Rottmann
2011/12
N
Name
Artikel
Einzelpreis
44
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
Rekursive Beziehungen:
Beziehung, die sich nur auf einen Entitätstyp bezieht.
Kürzel
MC
Name
Einwohnerzahl
Land
grenzt
Länge
NC
Nicole Rottmann
2011/12
45
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
Nicht-symmetrische rekursive Beziehung
Personalnummer
C Vorgesetzter
Name
Gehalt
Mitarbeiter
vorgesetzt
NC Untergebener
Jeder Mitarbeiter hat einen oder keinen Mitarbeiter als Vorgesetzten. Jeder
Mitarbeiter hat keinen, einen oder mehrere Mitarbeiter als Untergebenen.
Nicole Rottmann
2011/12
46
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
Mehrere Beziehungen zwischen zwei Entitätstypen.
Ausbildungsabschlussdatum
Kennzeichen
Personalnummer
M
Name
Gehalt
wartet
Typ
NC
Flugzeug
Mitarbeiter
M
fliegt
NC
Fluglizenzdatum
Nicole Rottmann
2011/12
47
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
Drei und mehr Entitätstypen in einer Beziehung.
Name
Gehalt
Fachbereich
Professor
Name
NC
NC
trinkt
Bier
Name
Kneipe
Hersteller
NC
Plätze
Nicole Rottmann
2011/12
48
2. Anforderungsanalyse für Datenbanken – 4. Entity-RelationshipModell
IV-LK
Darstellung abhängiger Attribute
Bestellnummer
Artikelnummer
Datum
Bestellung
Gesamtpreis
MC
N
beinhaltet
Artikelmenge
Name
Artikel
Einzelpreis
Existenzabhängige Entitätstypen
GebNr
RaumNr
Größe
Höhe
Raum
N
liegt_in
Nicole Rottmann
1
Gebäude
2011/12
49
2. Anforderungsanalyse für Datenbanken – Aufgaben
IV-LK
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Wiederholungsfragen
Beschreibe die verschiedenen Phasen der Software-Entwicklung.
Welche typischen Probleme können auftreten, wenn mit einem Kunden die
Anforderungen an die zu erstellende Software aufgenommen wird?
Was versteht man unter der schrittweisen Verfeinerung von Anforderungen
Welche Fragen sind bei der Dokumentation für jeden Prozess zu beantworten?
Erkläre anschaulich die Begriffe Entität, Attribut und Entitätstyp.
Welche Möglichkeiten kennst du, bei der Modellierung Attribute und Entitätstypen
zu unterscheiden?
Was versteht man unter einer Beziehung? Was bedeutet es, wenn Beziehungen
Attribute haben?
Wie würdest du bei der Erstellung eines ERM vorgehen?
Wann ist es sinnvoll, statt eines Attributs Adresse mehrere Attribute wie Straße,
Hausnummer, Postleitzahl und Stadt aufzunehmen?
Wozu werden Kardinalitäten in ERM genutzt, welche werden unterschieden?
Nenne Beispiele für Einsatzmöglichkeiten von Kardinalitäten
Nicole Rottmann
2011/12
50
2. Anforderungsanalyse für Datenbanken – Aufgaben
IV-LK
11.
12.
13.
14.
15.
Wiederholungsfragen
Was bedeutet es, dass man mit einem ERM versucht, eine korrekte Miniwelt zu
modellieren?
Warum können Zyklen in ERM auf Probleme hinweisen?
Wo greift die Grundregel, dass jede Information in einem ERM nur einmal
dargestellt werden soll?
Was sind rekursive Beziehungen? Nenne praktische Einsatzbeispiele.
Wann werden Beziehungen zwischen mehr als zwei Entitätstypen benötigt?
Nicole Rottmann
2011/12
51
2. Anforderungsanalyse für Datenbanken – Aufgaben
IV-LK
Übungsaufgaben
1.
a)
b)
c)
d)
e)
In einer Datenbank soll der Zusammenhang zwischen Mitarbeitern, ihrer Mitarbeit in
Projekten und den Telefonen der Mitarbeiter erfasst werden. Jeder Mitarbeiter sei durch
seine Mitarbeiternummer (MiNr) eindeutig identifiziert, weiterhin hat er einen Namen. Jedes
Telefon sei durch seine Telefonnummer (TelNr) eindeutig identifiziert. Jedes Projekt sei
durch seine Projektnummer (ProNr) eindeutig und hat einen Namen. Jeder Mitarbeiter kann
in beliebig vielen Projekten mitarbeiten, in jedem Projekt arbeitet mindestens ein Mitarbeiter.
Zu jeder der folgenden Teilaufgaben soll ein Entity-Relationship-Modell erstellt werden, bei
dem zusätzlich der genannte Zusammenhang zwischen Telefonen und Mitarbeitern
aufgenommen werden soll.
Jeder Mitarbeiter hat genau ein Telefon, jedes Telefon gehört zu genau einem Mitarbeiter.
Jeder Mitarbeiter kann mehrere Telefone unabhängig vom Projekt haben und hat
mindestens eins, jedes Telefon gehört zu genau einem Mitarbeiter.
Ein oder mehrere Mitarbeiter müssen sich ein Telefon teilen, dabei hat jeder Mitarbeiter
Zugang zu einem Telefon. Jedes Telefon gehört zu mindestens einem Mitarbeiter (Idee: ein
Telefon pro Büro)
Jeder Mitarbeiter kann mehrere Telefone haben, er wechselt für seine jeweilige
Projektaufgabe z.B. das Büro. Dabei nutzt er pro Projekt genau ein Telefon. Jedes Telefon
wird von mehreren Mitarbeitern genutzt.
Zu jedem Projekt gibt es genau ein Telefon, das von den Projektmitarbeitern genutzt wird.
Nicole Rottmann
2011/12
52
2. Anforderungsanalyse für Datenbanken – Aufgaben
IV-LK
Formuliere die folgenden Sachverhalte in den Aufgabenstellungen als ERM. Falls keine
Attribute im Text identifiziert werden können, gib zumindest immer ein
identifizierendes Attribut an.
2.
Durch den Namen eindeutig benannte Mutterkonzerne, die jeweils an genau einem
Ort beheimatet sind, können beliebig viele Tochtergesellschaften haben, die durch
ihren Namen eindeutig sine, eine Beschäftigtenzahl haben und seit einem genauen
Datum zu genau einem Mutterkonzern gehören. Jede Tochtergesellschaft kann auf
maximal einem Fachgebiet mit einer anderen Tochtergesellschaft zusammen
arbeiten.
3.
Eine Firma stellt verschiedene Produkte her, die sich im Namen unterscheiden und
jeweils ein Gewicht und eine Leistung haben. Jedes Produkt besteht aus
mindestens zwei verschienenen Komponenten, die einen eindeutigen Namen, eine
Farbe und ein Gewicht haben. Beliebige Komponenten sind durch ihren
eindeutigen Ort bekannt und haben eine eigene Lagerkapazität. Jedes der
Produkte kann auch in mehreren Lagern aufbewahrt werden, wobei die Lager auch
verschiedenen Produkte aufnehmen können.
Nicole Rottmann
2011/12
53
Herunterladen