Datenbankentwicklung IV-LK

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
3. Ableitung von Tabellenstrukturen
IV-LK
1.
2.
3.
4.
Einführung des Tabellenbegriffs
Übersetzung des ERM in Tabellen
Besondere Askpekte der Übersetzung
Aufgaben
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
1. Einführung des Tabellenbegriffs
IV-LK
Beispiel für eine Tabelle zur Verwaltung von Bestellungen:
Bestellung
Kunde
Bestellnr. Bestelldatum
Status
bezahlt
42
1
27.02.09
abgeschlossen
wahr
66
2
28.02.09
abgeschlossen
falsch
89
3
28.02.09
Bearbeitung
falsch
42
4
28.02.09
Bearbeitung
falsch
Typische Tabelleneigenschaften:
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
1. Einführung des Tabellenbegriffs
IV-LK
Definition Datentyp: Ein Datentyp ist eine Menge von Werten.
Text: Ein Element des Datentyps Text ist eine beliebige Folge von Zeichen, die
in einfachen Hochkommata eingeschlossen sind.
Zahl: Ein Element des Datentyps Zahl ist eine beliebige Zahl, dabei wird nicht
zwischen ganzen und Fließkommazahlen unterschieden.
Datum: Ein Element des Datentyps Datum ist ein beliebiges gültiges Datum.
Boolean: In der Menge Boolean sind die Wahrheitswerte „wahr“ und „falsch“
zusammengefasst.
Definition Datentypen für Tabellen: In Tabellen können die Datentypen Text,
Zahl, Datum und Boolean genutzt werden, dabei ist jeder ursprüngliche
Datentyp um einen Wert NULL ergänzt worden.
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
1. Einführung des Tabellenbegriffs
IV-LK
Definition Tabelle: Eine Tabelle hat einen Namen, eine Menge von Attributen
{Att1,…,Attn}, wobei jedes Attribut Atti Teilmenge eines Datentyps für Tabellen
ist, und einen Inhalt der Teilmenge des Kreuzproduktes der Attribute Att1x...xAttn.
Durch das Kreuzprodukt wird die Menge aller möglichen Einträge beschrieben, die
theoretisch in der Tabelle stehen können. Elemente dieses Kreuzproduktes
werden auch n-Tupel genannt. Jedes dieser n-Tupel entspricht einer Zeile der
Tabelle.
Zahlungsmoral
Kunde
Zahlungsfähig
42
wahr
69
wahr
88
wahr
42
falsch
69
falsch
88
falsch
Kunde
Zahlungsfähig
42
wahr
69
falsch
88
falsch
Tabelle als Teilmenge des Kreuzproduktes
Tabellenartige Darstellung des Kreuzproduktes
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
2. Übersetzung des ERM in Tabellen
IV-LK
Bei der Übersetzung von ERM in Tabellen gibt es drei zentrale Ziele:
1.
Bei der Füllung der Tabellen mit Daten sollen redundante Daten
vermieden werden.
2.
Wenn es nicht aus praktischer Sicht notwendig ist, sollen keine NULLWerte zur Füllung der Tabellen notwendig werden.
3.
Es soll unter Berücksichtigung von 1. und 2. eine möglichst minimale
Anzahl von Tabellen entstehen.
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
2. Übersetzung des ERM in Tabellen
IV-LK
Beispielmodell für Übersetzung:
MiNr
Name
Mitarbeiter
1
TelNr
telefoniert
1
Typ
Firmenhandy
M
bearbeitet
N
Projekt N
AbtNr
Titel
Rolle
beauftragt
Auftragsdatum
Nicole Rottmann
1
Kunde
KNr
2011/12
Name
3. Ableitung von Tabellenstrukturen
2. Übersetzung des ERM in Tabellen
IV-LK
1. Schritt: Übersetzung der Entitätstypen
Mitarbeiter
Firmenhandy
MiNr
Name
TelNr
Typ
42
Egon
01777
Nokia
43
Erwin
01700
Siemens
44
Erna
01622
Erikson
Projekt
AbtNr
Titel
1
DBX
1
Jovo
2
DBX
Kunde
Nicole Rottmann
KNr
Name
54
Bonzo
55
Collecto
2011/12
3. Ableitung von Tabellenstrukturen
2. Übersetzung des ERM in Tabellen
IV-LK
2. Schritt: Übersetzung von 1:1-Beziehungen
Mitarbeiter
MiNr Name
42 Egon
43 Erwin
44 Erna
TelNr
01777
01700
01622
Typ
Nokia
Siemens
Erikson
In der neuen Tabelle Mitarbeiter wurden die Tabellen Mitarbeiter und
Firmenhandy zusammen gefasst. Hätte die Beziehung Attribute, würden
diese mit in die Tabelle aufgenommen.
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
2. Übersetzung des ERM in Tabellen
IV-LK
3. Schritt: Übersetzung von 1:N Beziehungen
Projekt
Kunde
AbtNr
Titel
KNr
Auftragsdatum
Knr
Name
1
DBX
54
26.02.06
54
Bonzo
1
Jovo
54
06.05.06
55
Collecto
2
DBX
55
27.02.06
Die Attribute der Beziehung werden mit in die Tabelle aufgenommen.
Die Spalte KNr wird Fremdschlüssel genannt, da über ihre Werte auf jeweils
genau einen Kunden geschlossen werden kann.
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
2. Übersetzung des ERM in Tabellen
IV-LK
4.Schritt: Übersetzung von M:N-Beziehungen
Mitarbeiter
Bearbeitung
MiNr
AbtNr
Titel
Rolle
MiNr
Name
TelNr
Typ
42
1
DBX
Design
42
Egon
01777
Nokia
42
1
Jovo
Review
43
Erwin
01700
Siemens
43
2
DBX
Analyse
44
Erna
01622
Erikson
44
1
Jovo
Design
44
2
DBX
Review
Projekt
AbtNr
Titel
Knr
Auftragsdatum
Kunde
1
DBX
54
26.02.06
KNr
Name
1
Jovo
54
06.05.06
54
Bonzo
2
DBX
55
27.02.06
55
Collecto
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
2. Übersetzung des ERM in Tabellen
IV-LK
Umgang mit C und NC:
1.
Jeder Mitarbeiter kann ein Firmenhandy haben, muss aber nicht.
2.
Es gibt Handys, die keinem Mitarbeiter zugeordnet sind.
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
2. Übersetzung des ERM in Tabellen
IV-LK
Übersetzung einer komplexen Beziehung:
Name
Gehalt
Fachbereich
Professor
Name
NC
NC
trinkt
Bier
Name
Kneipe
Hersteller
NC
Plätze
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
4. Wiederholungsfragen
IV-LK
1.
2.
3.
4.
5.
6.
7.
8.
9.
Wie kann man den Begriff Tabelle genau beschreiben?
Was versteht man unter Datentypen?
Erkläre anschaulich den Begriff Kreuzprodukt.
Wozu gibt es NULL-Werte? Wie viele verschiedene gibt es davon?
Nenne drei zentrale Ziele der Übersetzung von Enitiy-RelationshipModellen.
Beschreibe die Übersetzung der verschiedenen Beziehungstypen aus
ERM in Tabellen.
Wie werden Beziehungen mit C-bzw. NC-Kardinalitäten übersetzt?
Warum wird dieser Weg gewählt?
Wie werden Beziehungen zwischen mehr als zwei Entitätstypen
übersetzt?
Beschreibe unterschiedliche Modellierungen für den gleichen
Sachverhalt und deren Auswirkungen auf die aus der Übersetzung
resultierenden Tabellen.
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
4. Übungsaufgaben
IV-LK
1.
Übersetze mit dem vorgestellten Verfahren das folgende ERM in
Tabellen.
Einwohner
Länge
Name
Name
Hauptstadt
von
1
Breite
Stadt
C
Länge
NC
1
N
C
Land
M
liegt in
MC
Mitglied
von
beheimatet
grenzt
an
Status
NC
C Organisation
Name
Gründungsdatum
Gib zwei Änderungen an, die du für praxisnäher hältst.
Nicole Rottmann
2011/12
3. Ableitung von Tabellenstrukturen
2. Übersetzung des ERM in Tabellen
IV-LK
2.
Gegeben sei folgendes allgemeine ERM.
A2
R1
A1
A
y
R2
B1
B2
x
rel
B3
B
Gib für alle Kombinationen von Kardinalitäten für x und y, also insgesamt
16 Möglichkeiten, die Tabellen an, die Ergebnis der Übersetzung sind.
Nicole Rottmann
2011/12
Herunterladen