Relationale Datenbanken

Werbung
Datenbanken
Datenbank = Datenbankprogramm + Daten
Datenbankprogramm =
Datenbankmanagementsystem (DBMS) =
System, das eine oder mehrere Datenbanken verwaltet und
den Zugriff auf die Daten regelt, z.B. Access
Beispiel: Musikverwaltungsdatenbank
Daten:
Eigenschaften =
Attribute
Erscheinungsjahr
Komponist
Tonträger
Titel
"Gegenstände" = Entitäten
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
Kategorie
Musikstück
‹#›
Relationale Datenbanken
In Relationalen Datenbanken werden die
Daten in Tabellen (= Relationen) gespeichert.
Felder
Komponist Kategorie
Tonträger
Aida
Verdi
Oper
CD
Revolver
Beatles
Beat
LP
Take Five
Brubeck
Jazz
MC
Titel
Feldnamen = Attribute
Datensatz = Tupel
Attributwert
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Was muss das Datenbanksystem für die
Bearbeitung von Daten zur Verfügung stellen?








Bequeme Eingabe neuer Daten
Veränderung von Daten, z.B. Löschen
Selektieren von Daten nach eigenen Kriterien
Sperren bestimmter Daten
Analysieren von Daten
Berechnungen mit Daten
Ausgabe von Daten: Anzeige, Druck
Access: Objekte werden zur Verfügung gestellt
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Zusammenhänge: Daten und Objekte einer Datenbank
Formulare
Daten
Tabellen
Abfragen
Daten
bearbeiten
z.B. Eingabe
Daten
analysieren
filtern
berechnen
Daten
Berichte
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
auswerten
berechnen
ausgeben
z.B. drucken
‹#›
Relationale Datenbanken
Grundlegende Begriffe:
Datenredundanz:
Überfluss an Information - mehrfache Speicherung derselben Daten.
Probleme: - Unnötige Vergrößerung der Datenmenge und damit der DB
- Fehlerhafte Einträge durch Wiederholung möglich
z.B. Mülller statt Müller
Datenintegrität - Datenkonsistenz:
Einheitliche Daten zum selben Sachverhalt
Beispiel: Die Adresse einer Person kann in verschiedenen Tabellen
enthalten sein. Bei Änderung der Adresse (Umzug) müssen
alle Tabellen die richtige neue Adresse enthalten.
Anomalien:
Fehler in den Daten (z.B. durch Redundanzen, Änderungen, Löschen, …)
führen zu Dateninkonsistenz, die Anomalie genannt wird.
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Grundlegende Begriffe (Fortsetzung):
Schlüssel:
Datenintegrität in relationalen Datenbanken basiert auf dem Konzept
des Schlüssels. Es gibt Primärschlüssel und Fremdschlüssel.
Primärschlüssel: Attribut (oder eine Menge von Attributen), das einen
Datensatz eindeutig identifiziert.
Beispiel: Postleitzahl
jede Postleitzahl identifiziert eindeutig eine
bestimmte Stadt bzw. einen Stadtteil
Fremdschlüssel: Attribut (oder eine Menge von Attributen), das in
mehr als einer Tabelle vorkommt und in einer dieser
Tabellen den Primärschlüssel bildet.
Referentielle
Integrität:
Vereinbarung strenger Regeln für die Beziehungen
zwischen den Tabellen einer Datenbank. Betrifft den
Gebrauch von Fremdschlüsseln (später mehr dazu).
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Normalisierung der Tabellen einer Datenbank
Ziele
•
•
•
•
Vermeidung von Redundanz
Vermeidung von Dateninkonsistenz und Anomalien
Vermeidung von Datenverlust
Erhöhung der Effizienz der Datenbank
Um die genannten Probleme zu lösen, müssen die
Tabellen der DB bestimmte Regeln einhalten.
Das Resultat dieser Regeln wird als Normalform
der Tabellen bezeichnet.
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Nullte Normalform: nicht normalisierte Tabelle
Komponist
Titel
Kategorie
1
Verdi
Aida, Nabucco,
4 Jahreszeiten
Oper, Sinfonie
2
Beatles
Sargent Pepper,
Revolver, Best of
Beat
3
Brubeck
Take Five
Jazz
Primärschlüssel
Komponist-Nr
In diesen Feldern sind mehrere
Informationen gespeichert!
Primärschlüssel:
Feld oder Feldkombination, die einen Datensatz
eindeutig kennzeichnet.
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Erste Normalform
Eine Tabelle ist in der 1. Normalform, wenn alle Attributwerte
atomar sind. D.h. alle Felder müssen so sein, dass sie nicht weiter
unterteilt werden können.
Komponist
Titel
Kategorie
1
Verdi
Aida
Oper
1
Verdi
Nabucco
Oper
1
Verdi
Vier Jahreszeiten
Sinfonie
2
Beatles
Sargent Pepper
Beat
2
Beatles
Revolver
Beat
2
Beatles
Best of
Beat
3
Brubeck
Take Five
Jazz
Komponist-Nr
Alle Attributwerte sind atomar –
der Primärschlüssel kennzeichnet aber mehrere Datensätze
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Zweite Normalform
Eine Tabelle ist in der 2. Normalform, wenn sie in der
1. Normalform ist und jedes Nicht-Schlüsselfeld
Nicht-Schlüsselfeld von jedem
Schlüsselkandidaten voll funktional abhängig ist.
Beispiel:
Komponist-Nr Komponist
Titel
Kategorie
1
Verdi
Aida
Oper
1
Verdi
Vier Jahreszeiten
Sinfonie
SchlüsselN i c h t – S c h l ü s s e l f e l d e r
feld
Aus dem Primärschlüssel 1 folgt direkt nur der Komponist Verdi, nicht
der Titel (es gibt ja mehrere) und auch nicht die Kategorie.
Ergebnis: Nur das Nicht-Schlüsselfeld „Komponist“ ist voll funktional
abhängig vom Schlüsselfeld
Die Tabelle ist nicht in der 2. Normalform
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Funktionale Abhängigkeit nur durch Teilung der Tabelle erreichbar:
Tbl_Komponisten
Komponist-Nr
Tbl_
Kategorie
Komponist
Kategorie-Nr
Kategorie
1
Oper
1
Verdi
2
Sinfonie
2
Beatles
3
Beat
3
Brubeck
4
Jazz
Primärschlüssel
Fremdschlüssel
Tbl_Musik
Musik-Nr
Komponist Titel
Kategorie
1
1
Aida
1
2
1
Nabucco
1
3
1
4 Jahreszeiten
2
4
2
Sargent Pepper
3
5
2
Revolver
3
6
2
Best of
3
7
3
Take Five
4
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Dritte Normalform
Eine Relation ist in der dritten Normalform, wenn sie in der zweiten
Normalform ist und kein Nicht-Schlüsselfeld transitiv von einem
Schlüsselkandidaten abhängt.
Beispiel: Adressendatenbank: Tbl_Freunde
Nr
Vorname
Name
Straße
PLZ
Ort
Ort
1
Dirk
Stumpf
Waagestr. 20
26386
Wilhelmshaven
2
Klara
Blume
Schmiedeweg 3
56626
Andernach
Diese Tabelle enthält eine Redundanz:
Das Attribut "Ort“
Die PLZ "26386" steht für Wilhelmshaven, die Ortsangabe steht
nochmals für Wilhelmshaven:
Das Nicht-Schlüsselfeld "Ort“ ist transitiv (weisend) vom möglichen
Schlüsselfeld (= Schlüsselkandidat) "PLZ" abhängig!
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Lösung des Problems:
Zerlegung in 2 Tabellen
Tbl_Freunde
Nr
Vorname Name
Straße
1
Dirk
Stumpf Waagestr. 20
2
Klara
Blume
PLZ
26386
Schmiedeweg 3 56626
Tbl_Orte
Fremdschlüssel
PLZ
Ort
26386
Wilhelmshaven
56626
Andernach
Primärschlüssel
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Datenbankentwurf:
Entity / Relationship Modell (E/R-Modell)
Vor der Entwicklung einer Datenbank steht die Modellierung:
Bildliche Darstellung durch das E/R-Modell:
Entität:
- Gegenstand aus der realen Welt
- eindeutig identifizierbar
- Darstellung: Kasten
Attribute:
- beschreiben Entitäten
- Darstellung: Ovale
Beziehungen: - repräsentieren die Wechselwirkungen
(relationships)
zwischen Entitäten
- Darstellung: Rauten
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Relationale Datenbanken
Entitäten der Musikverwaltungsdatenbank
Erscheinungjahr
Titel
Musik-Nr
Kategorie
Musikstück
N
schreibt
Komponist-Nr
1
Komponist
Name
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
Tonträger
M
spielt
N
Interpret-Nr
Interpret
Name
‹#›
Relationale Datenbanken
E / R – Modell mit Ausleihe
Interpret
spielt
Musikstück
schreibt
Komponist
Name
AusleihDatum
RückgabeDatum
Ausleih-Nr
ausgeliehen
wird
Ausleihvorgang
Freund-Nr
ausgeliehen
wird
Adresse
Freund
Schwache Entität:
kann nicht isoliert existieren (ein Ausleihvorgang
existiert nicht ohne Musikstücke und Freunde)
Darstellung: doppelte Linien
Detlev Boehme, BBS Friedenstraße Wilhelmshaven
‹#›
Herunterladen