Post on 05-Apr-2015
LV: SE 2001/2002 Zilahi
Datenbank 1
Datenbank –Datenbanksystem
Datenbanksystem
Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base)
Datenbank-verwaltungssystem
Zusammenfassung aller Programme und Prozeduren zur Handhabung der gespeicherten Daten (Data Base Management System)
Zielsetzungen- Vermeidung von Redundanz- Sicherung gegen Datenverlust- Schutz vor unberechtigtem Zugriff- Mehrfachnutzung von Datenbeständen - schnelle Antwortzeiten- einfache Handhabung
LV: SE 2001/2002 Zilahi
Datenbank 2
Relationale Datenbank
Speicherung der Daten in relationaler Form
Beispiel:Folgender Zusammenhang soll gespeichert werden:
Mandant Auftrag
Ein Mandant kann mehrere Aufträge erteilen.Jeder Auftrag stammt jedoch von genau einem
Mandanten.
Es soll gespeichert werden, welcher Mandant welche Aufträge aufgegeben hat bzw. von welchem
Mandanten ein bestimmter Auftrag stammt.
LV: SE 2001/2002 Zilahi
Datenbank 3
Relationale DatenbankBeispiel
Annahme: Es gibt 2 Mandanten M1 und M2.Es gibt 3 Aufträge A1, A2 und A3.
M := {M1, M2} Menge der MandantenA := {A1, A2, A3} Menge der Aufträge
Für die Produktmenge MxA gilt:
MxA := {(M1,A1),(M1,A2),(M1,A3),(M2,A1),(M2,A2),(M2,A3)}
Eine Relation R der Mengen M und Aist eine Teilmenge von MxA, d.h. R MxA
'Bestell' - Relation R R = {(M1,A1), (M2,A2), (M2,A3)}
LV: SE 2001/2002 Zilahi
Datenbank 4
Relationale DatenbankTabellenform
'Bestell' - Relation:
R = {(M1, A1), (M2, A2), (M2,A3)}
Mandant Auftrag
M1M2M2
A1A2A3
LV: SE 2001/2002 Zilahi
Datenbank 5
Entity SetsRelation-Darstellung
Nicht nur Beziehungen (s. Beziehung zwischenMandanten und Aufträge), sondern auch Entity Sets lassen sich als Relation darstellen!
Entity Set: Mandant Attribute: - Nummer- Name- Adresse
Es sei: Nr := Menge aller Nummern Na := Menge aller Namen Ad := Menge aller Adressen
Mandant - Relation M mit:M Nr x Na x Ad
Nr Name Adresse
12345
Hans OttoKlaus MeyerAdele SchmitzRainer OchsGisela Simon
35390 Giessen35392 Giessen35396 Giessen35398 Giessen 35390 Giessen
LV: SE 2001/2002 Zilahi
Datenbank 6
Normalform
entwickelt von E.F. Codd in den 70er Jahren
Ausgangsbasis:Entity Relationship ModelEntity Set -, Attribut-, Beziehungsbeschreibungen
Ziel: Aufbereitung der Daten für eine effizienteSpeicherung im Rahmen relationalerDatenbanksysteme
Grundsätze:
Jedes Attribut sollte nur einmal gespeichert werden.
Ein Attribut sollte dem Entity Set zugeordnet werden,
mit dem es die engste Beziehung hat.
Aufdecken von fehlenden Entity Sets und fehlenden
Beziehungen.
LV: SE 2001/2002 Zilahi
Datenbank 7
1. Normalform
Definition: Ein Entity Set befindet sich in der1. Normalform, falls - das Entity Set einen eindeutigen Schlüssel enthält und- kein Attribut bzw. Attributgruppe je Entity mehr als einen Wert enthält
Beispiel: Mandant Attribute:- Mandant-Nr.- Name- Adresse etc.
Falls ein Mandant mehr als eine Adressehat, befindet sich das Entity Set Mandant nicht in der 1. Normalform
LV: SE 2001/2002 Zilahi
Datenbank 8
1. Normalform - Vorgehen
Entferne wiederholt vorkommende Attribute bzw. Attributgruppen (repeating attribut; repeating group)
Definiere ein neues Entity Set für die wiederholt vorkommenden Attribute bzw. Attributgruppen
Übernehme zur Kennzeichnung den Primärschlüssel des 'alten' Entity Sets in das neue Entity Set
Unnormalisierte Form: 1. NF:
Mandant
Mandant-Nr.NameAdresse 1Adresse 2...
Mandant
Mandant-Nr.Name
Adresse
Mandant-Nr.Adresse
LV: SE 2001/2002 Zilahi
Datenbank 9
1. Normalform – Beispiel 1
Unnormalisierte Form Projekt
Projekt- Projekt- Projekt- Mitarbei- Mitarbeiter- Abt.- Abt.-Nr. Name Art ter-Nr. Name Nr. Name
234 Bsys E 111 Schmitz 4 Biblio 344 Karl 2 DV 565 Hinz 2 DV
255 Einsys E 444 Sens 6 Einkauf 765 Arnheim 2 DV 344 Karl 2 DV 299 Unger 2 DV
LV: SE 2001/2002 Zilahi
Datenbank 10
1. Normalform – Beispiel 2
1. Normalform
ProjektProjekt-
Mitarbeiter
Projekt- Projekt- Projekt-Nr. Name Art
234 Bsys E255 Einsys E
Projekt- Mitarbei- Mitarbeiter- Abt.- Abt.-Nr. ter-Nr. Name Nr. Name
234234234255255255255
111344565444765344299
SchmitzKarlHinzSensArnheimKarlUnger
4226222
BiblioDvDvEinkaufDVDVDV
LV: SE 2001/2002 Zilahi
Datenbank 11
Attribut
Ein Attribut, oder eine Attributkombination ist voneinem anderen Attribut oder einer Attributkombina-tion funktional abhängig, falls der Wert des 1. Attributes, oder Attributkombination durch den Wert des 2.Attributes, oder die Attributkombination bestimmt wird.
Abt.-Nr. Abt.-Name
Die Abt.-Nr. bestimmt den Abt.-NamenDer Abt.-Name ist von der Abt.-Nr.funktional abhängig
Mitarbeiter-Nr.Projekt-Nr.
MitarbeiternameProjektname
Ein Attribut, oder eine Attributkombination istvon einem anderen Attribut B, oder einer Attribut-kombination voll funktional abhängig, falls dasAttribut A vom gesamten Attribut B, oder Attribut-kombination und nicht nur von einem Teil von B abhängt.
Attributkombination: Projekt-Nr. + Mitarbeiter-Nr.Das Attribut Mitarbeiter-Name hängt nur von einem Teil der Attributkombination(nämlich von Mitarbeiter-Nr.) funktional ab.
Mitarbeiter-Nr. hängt nicht voll von der Attributkombination Projekt-Nr. + Mitarbeiter-Nr. ab.
LV: SE 2001/2002 Zilahi
Datenbank 12
2. Normalformaus der 1. Normalform
Ein Entity Set befindet sich in der 2. Normalform(2. NF), wenn es sich in der 1. NF befindet und zusätzlich jedes Attribut vom Primärschlüssel vollfunktional abhängt.
Vorgehensweise:
Entferne Attribute, die nicht voll funktional abhängig sind. Definiere ein neues Entity Set. Der Schlüsselteil, von dem das Attribut abhängig ist, wird zum Primärschlüssel des neuen Entity Sets.
LV: SE 2001/2002 Zilahi
Datenbank 13
2. Normalform – Beispiel 1
Beispiel: Projekt-MitarbeiterProjekt- Mitarbei- Mitarbeiter- Abt.- Abt.-Nr. ter-Nr. Name Nr. Name
234234234255255255255
111344565444765344299
SchmitzKarlHinzSensArnheimKarlUnger
4226222
BiblioDVDVEinkaufDVDVDV
Primärschlüssel ist: Projekt-Nr. + Mitarbeiter-Nr.Die Nicht-Schlüssel-Attribute- Mitarbeiter-Name- Abt.-Nr.- Abt.-Namehängen nur von der Mitarbeiter-Nr. abund nicht vom gesamten Primärschlüssel!
LV: SE 2001/2002 Zilahi
Datenbank 14
2. Normalform – Beispiel 2
statt: Projekt-Mitarbeiter
Projektzugehörigkeit Mitarbeiter
Projektzugehörigkeit: Projekt-Nr. Mitarbeiter-Nr.
234234234255255255255
11344565444765344299
Mitarbeiter: Mitarbeiter- Mitarbeiter- Abt.- Abt.- Nr. Name Nr. Name
111344565444765299
SchmitzKarlHinzSensArnheimUnger
422622
BiblioDVDVEinkaufDVDV
LV: SE 2001/2002 Zilahi
Datenbank 15
3. Normalform
Ein Entity Set befindet sich in der 3. Normalform(3. NF) falls jedes Attribut vom Primärschlüssel voll funktional abhängig und von jedem Nicht-schlüsselattribut funktional unabhängig ist.
Hinweis:
Hängt ein Nichtschlüsselattribut C von einem anderen Nichtschlüsselattribut B funktional ab (beide hängen funktional von einem Primärschlüssel A ab!), so ergibt sich auch eine sog. transitive Abhängigkeit der Attribute.
A B C
Beispiel:
Mitarbeiter-Nr. Abt.-Nr. Abt.-Name
LV: SE 2001/2002 Zilahi
Datenbank 16
3. Normalform aus der2. Normalform
Entferne aus dem Entity Set alle Attribute, die von Nichtschlüsselattributen abhängen.
Definiere ein neues Entity Set.
Das Nichtschlüsselattribut, von dem andere Nicht- schlüssel abhängen, wird zum neuen Primärschlüssel.
Der Primärschlüssel des neuen Entity Sets bleibt als 'Fremdschlüssel' im ursprünglichen Entity Set.
LV: SE 2001/2002 Zilahi
Datenbank 17
3. Normalform - Übersicht
Entity Sets Attribute
- Projekt-Nr.- Projektname- Projektart
- Projekt-Nr.- Mitarbeiter-Nr.
- Mitarbeiter-Nr.- Mitarbeitername- Abt.-Nr.
- Abt.-Nr.- Abt.-Name
Projekt
Projektzugehörigkeit
Mitarbeiter
Abteilung
Schlüssel
Schlüssel
Schlüssel
Schlüssel
Schlüssel
LV: SE 2001/2002 Zilahi
Datenbank 18
3. Normalform – Beispiel 1
Ausgangstabelle
Mitarbeiter: Mitarbei- Mitarbeiter- Abt.- Abt.- ter-Nr. Name Nr. Name
111344565444765299
SchmitzKarlHinzSensArnheimUnger
422622
BiblioDVDVEinkaufDVDV
Das Nichtschlüsselatribut 'Abt.-Name' ist von dem Nichtschlüsselattribut 'Abt.Nr. funktional abhängig.
Mitarbeiter-Nr. Abt.-Nr. Abt.-Name
LV: SE 2001/2002 Zilahi
Datenbank 19
3. Normalform – Beispiel 2
Mitarbeiter Abteilung
Mitarbeiter: Mitarbeiter-Nr. Mitarbeiter-Name Abt.-Nr.
111344565444765299
SchmitzKarlHinzSensArnheimUnger
422622
Abteilung: Abt.-Nr. Abt.-Name
246
DVBiblioEinkauf
LV: SE 2001/2002 Zilahi
Datenbank 20
Physikalische Umsetzung
Es gibt keine festen Regeln für die Umsetzung eines logischen Datenmodells in einen Datenbankentwurf.
Es gibt mehr als nur eine Umsetzungsmöglichkeit!
Kriterien für die physikalische Umsetzung:
- Änderungshäufigkeit
- Zugriffshäufigkeit
- Speicherplatzrestriktionen
- Zugriffszeitrestriktionen
etc.
LV: SE 2001/2002 Zilahi
Datenbank 21
Physikalische UmsetzungBeispiel 1
Beispiel: Mandant Auftragerteilt
Mandant-Nr.M_nameM_adresse
Auftrags-Nr.DatumKategorie
Umsetzungsalternativen: 1. Kunden-Nr. M_name M_adresse Auftrags-Nr. DatumKategorie
11122
HugoHugoHugoAdamAdam
AstadtAstadtAstadtBstadtBstadt
12345
1.1.961.6.961.1.971.5.971.8.98
EEEII
Mandant-Nr. M_name M_adresse
12
HugoAdam
AstadtBstadt
2. Auftrags-Nr. Mandant-Nr. Datum Kategorie
12345
11122
1.1.961.6.961.1.971.5.971.8.97
EEEII
LV: SE 2001/2002 Zilahi
Datenbank 22
Physikalische UmsetzungBeispiel 2
Mandant-Nr. M_name M_adresse
12
HugoAdam
AstadtBstadt
Auftrags-Nr. Datum Kategorie
12345
1.1.961.6.961.1971.5.971.8.97
EEEII
Mandant-Nr. Auftrags-Nr.
11122
12345
Welche Vor- und Nachteile haben die Umsetzungs-alternativen?
Bei welcher Alternative sind die Normalformen erfüllt?