260 likes | 775 Views
Datenbanken . Erscheinungs- jahr. Komponist. Kategorie. Tonträger. Titel. Datenbank = Datenbankprogramm + Daten. Datenbankprogramm = Datenbankmanagementsystem (DBMS) = System, das eine oder mehrere Datenbanken verwaltet und den Zugriff auf die Daten regelt, z.B. Access.
E N D
Datenbanken Erscheinungs-jahr Komponist Kategorie Tonträger Titel 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 Musikstück "Gegenstände" = Entitäten
Relationale Datenbanken Felder Feldnamen = Attribute Datensatz = Tupel Attributwert In Relationalen Datenbanken werden die Daten in Tabellen (= Relationen) gespeichert.
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: Objektewerden zur Verfügung gestellt
Relationale Datenbanken Zusammenhänge:Daten und Objekteeiner Datenbank Formulare Datenbearbeitenz.B. Eingabe Daten Abfragen Datenanalysierenfilternberechnen Tabellen Berichte Datenauswertenberechnenausgebenz.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 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. Anomalien:Fehler in den Daten (z.B. durch Redundanzen, Änderungen, Löschen, …) führen zu Dateninkonsistenz, die Anomalie genannt wird.
Relationale Datenbanken Grundlegende Begriffe (Fortsetzung): Schlüssel:Datenintegrität in relationalen Datenbanken basiert auf dem Konzept des Schlüssels. Es gibt Primärschlüsselund 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 Vereinbarung strenger Regeln für die Beziehungen Integrität: zwischen den Tabellen einer Datenbank. Betrifft den Gebrauch von Fremdschlüsseln (später mehr dazu).
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.
Relationale Datenbanken In diesen Feldern sind mehrere Informationen gespeichert! Nullte Normalform: nicht normalisierte Tabelle Primärschlüssel Primärschlüssel:Feld oder Feldkombination, die einen Datensatz eindeutig kennzeichnet.
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. Alle Attributwerte sind atomar – der Primärschlüssel kennzeichnet aber mehrere Datensätze
Relationale Datenbanken Komponist-Nr Komponist Titel Kategorie 1 Verdi Aida Oper 1 Verdi Vier Jahreszeiten Sinfonie N i c h t – S c h l ü s s e l f e l d e r Zweite Normalform Eine 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. Nicht-Schlüsselfeld Beispiel: Schlüssel-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üsselfeldDie Tabelle ist nicht in der 2. Normalform
Relationale Datenbanken Primärschlüssel Fremdschlüssel Funktionale Abhängigkeit nur durch Teilung der Tabelle erreichbar: Tbl_Komponisten Tbl_Kategorie Tbl_Musik
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 Ort Das Attribut "Ort“ Diese Tabelle enthält eine Redundanz: 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!
Relationale Datenbanken Lösung des Problems: Zerlegung in 2 Tabellen Tbl_Freunde Fremdschlüssel Tbl_Orte Primärschlüssel
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
Relationale Datenbanken Erscheinungjahr Titel Kategorie Musik-Nr Tonträger M N Komponist-Nr spielt schreibt Interpret-Nr N 1 Name Name Entitäten der Musikverwaltungsdatenbank Musikstück Komponist Interpret
Relationale Datenbanken Interpret Name Ausleih-Datum Freund-Nr Ausleih-Nr Rückgabe-Datum Adresse Musikstück Ausleihvorgang Freund spielt schreibt ausgeliehenwird ausgeliehenwird Komponist E / R – Modell mit Ausleihe Schwache Entität:kann nicht isoliert existieren (ein Ausleihvorgang existiert nicht ohne Musikstücke und Freunde)Darstellung: doppelte Linien