Datenbanken
description
Transcript of Datenbanken
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 1
DatenbankenDatenbankenDatenbank = 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:
Musikstück
Titel
Komponist
Erscheinungs-jahr
Kategorie
Tonträger
"Gegenstände" = Entitäten
Eigenschaften = Attribute
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 2
Relationale DatenbankenRelationale Datenbanken
TitelKomponist
Kategorie
Ton-träger
Aida Verdi Oper CD
Revolver Beatles Beat LP
Take Five Brubeck Jazz MC
Feldnamen = AttributeDatensatz = Tupel
Attributwert
Felder
In Relationalen Datenbanken werden die Daten in Tabellen (= Relationen) gespeichert.
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 3
Relationale DatenbankenRelationale DatenbankenWas 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 4
Zusammenhänge: Daten und Objekte einer Datenbank
Relationale DatenbankenRelationale Datenbanken
Datenauswertenberechnenausgebenz.B. drucken
Berichte
Datenanalysierenfilternberechnen
Abfragen
TabellenDaten
Datenbearbeitenz.B. Eingabe
Formulare
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 5
Relationale DatenbankenRelationale DatenbankenGrundlegende Begriffe:
Datenintegrität - Datenkonsistenz:Einheitliche Daten zum selben SachverhaltBeispiel: Die Adresse einer Person kann in verschiedenen Tabellen
enthalten sein. Bei Änderung der Adresse (Umzug) müssen alle Tabellen die richtige neue Adresse enthalten.
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
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 6
Relationale DatenbankenRelationale DatenbankenGrundlegende Begriffe (Fortsetzung):Schlüssel:Datenintegrität in relationalen Datenbanken basiert auf dem Konzept des Schlüssels. Es gibt Primärschlüssel und Fremdschlüssel.
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.
Primärschlüssel: Attribut (oder eine Menge von Attributen), das einen Datensatz eindeutig identifiziert.
Beispiel: Postleitzahljede Postleitzahl identifiziert eindeutig einebestimmte Stadt bzw. einen Stadtteil
Referentielle Vereinbarung strenger Regeln für die Beziehungen Integrität: zwischen den Tabellen einer Datenbank. Betrifft den Gebrauch von Fremdschlüsseln (später mehr dazu).
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 7
Relationale DatenbankenRelationale Datenbanken
Normalisierung der Tabellen einer DatenbankZiele• Vermeidung von Redundanz• Vermeidung von Dateninkonsistenz und Anomalien• Vermeidung von Datenverlust• Erhöhung der Effizienz der DatenbankUm 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 8
Relationale DatenbankenRelationale Datenbanken
Nullte Normalform: nicht normalisierte TabelleKomponist-Nr
Komponist Titel Kategorie
1 VerdiAida, Nabucco, 4 Jahreszeiten
Oper, Sinfonie
2 Beatles
Sargent Pepper,
Revolver, Best of
Beat
3 Brubeck Take Five JazzIn diesen Feldern sind mehrere Informationen gespeichert!
Pri
märs
chlü
ssel
Primärschlüssel:Feld oder Feldkombination, die einen Datensatz eindeutig kennzeichnet.
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 9
Relationale DatenbankenRelationale DatenbankenErste NormalformEine 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-Nr 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 JazzAlle Attributwerte sind atomar – der Primärschlüssel kennzeichnet aber mehrere Datensätze
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 10
Relationale DatenbankenRelationale DatenbankenZweite NormalformEine Tabelle ist in der 2. Normalform, wenn sie in der 1. Normalform ist und jedes Nicht-Schlüsselfeld von jedem Schlüsselkandidaten voll funktional abhängig ist.
Schlüssel-feld
SinfonieVier JahreszeitenVerdi1
OperAidaVerdi1
KategorieTitelKomponistKomponist-Nr
N i c h t – S c h l ü s s e l f e l d e r
Beispiel:
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
Nicht-Schlüsselfeld
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 11
Relationale DatenbankenRelationale DatenbankenFunktionale Abhängigkeit nur durch Teilung der Tabelle erreichbar:
Komponist-Nr
Komponist
1 Verdi
2 Beatles
3 BrubeckMusik-Nr Kompon
istTitel
Kategorie
1 1 Aida 1
2 1 Nabucco 1
3 1 4 Jahreszeiten 2
4 2Sargent Pepper
3
5 2 Revolver 3
6 2 Best of 3
7 3 Take Five 4
Kategorie-Nr Kategorie
1 Oper
2 Sinfonie
3 Beat
4 Jazz
Tbl_Komponisten
Tbl_Musik
Tbl_Kategorie
Primärschlüssel
Fremdschlüssel
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 12
Relationale DatenbankenRelationale Datenbanken
Dritte NormalformEine 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
1 Dirk Stumpf Waagestr. 20 26386 Wilhelmshaven
2 Klara Blume Schmiedeweg 3
56626 AndernachDiese 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!
Ort
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 13
Relationale DatenbankenRelationale DatenbankenLösung des Problems:Zerlegung in 2 Tabellen
Nr Vorname
Name Straße PLZ
1 Dirk Stumpf
Waagestr. 20 26386
2 Klara Blume Schmiedeweg 3
56626
Tbl_Freunde
Tbl_Orte PLZ Ort
26386 Wilhelmshaven
56626 Andernach
Primärschlüssel
Fremdschlüssel
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 14
Relationale DatenbankenRelationale 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 15
Relationale DatenbankenRelationale DatenbankenEntitäten der
Musikverwaltungsdatenbank
Musikstück
Musik-Nr
Erscheinungjahr
KategorieTitel
Tonträger
Komponist
Name
Komponist-Nr
Interpret
Interpret-Nr
Name
schreibt spielt
1
N
N
M
Detlev Boehme, BBS Friedenstraße Wilhelmshaven 16
Relationale DatenbankenRelationale DatenbankenE / R – Modell mit Ausleihe
Ausleihvorgang
Ausleih-Nr
Ausleih-Datum
Rückgabe-Datum
ausgeliehen
wird
Freund
Komponist
Interpret
Adresse
Name
Freund-Nr
ausgeliehen
wird
schreibt
spielt
Musikstück
Schwache Entität:kann nicht isoliert existieren (ein Ausleihvorgang existiert nicht ohne Musikstücke und Freunde)Darstellung: doppelte Linien