LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von...

22
LV: SE 2001 /2002 Zilah i Datenbank 1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank- verwaltungssy stem 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

Transcript of LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von...

Page 1: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 2: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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.

Page 3: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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)}

Page 4: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

LV: SE 2001/2002 Zilahi

Datenbank 4

Relationale DatenbankTabellenform

'Bestell' - Relation:

R = {(M1, A1), (M2, A2), (M2,A3)}

Mandant Auftrag

M1M2M2

A1A2A3

Page 5: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 6: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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.

Page 7: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 8: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 9: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 10: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 11: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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.

Page 12: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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.

Page 13: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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!

Page 14: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 15: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 16: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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.

Page 17: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 18: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 19: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 20: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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.

Page 21: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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

Page 22: LV: SE 2001/2002 Zilahi Datenbank1 Datenbank – Datenbanksystem Datenbanksystem Datenbank Menge von zentral gespeicherten Daten- beständen (Data Base) Datenbank-

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?