1 / 18

Normalisierung

Normalisierung. Referat zur Veranstaltung : Datenbanktechnologie, mit praktischen Übungen in eXist und XQuery Datum: 18. April 2011 (3.Sitzung) Dozent: Daniel Ebner, Diplom Medienwissenschaftler Teilnehmer: Domenico Strigari. Was ist eine Redundanz?.

maina
Download Presentation

Normalisierung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Normalisierung Referat zur Veranstaltung: Datenbanktechnologie, mit praktischen Übungen in eXist und XQuery Datum: 18. April 2011 (3.Sitzung) Dozent: Daniel Ebner, Diplom Medienwissenschaftler Teilnehmer: Domenico Strigari

  2. Was ist eine Redundanz? • Eine Redundanz bezeichnet das mehrfache Vorkommen von Daten in einer Datenbank oder einem anderen Datenbehältnis. Redundanzen können ohne Informationsverlust weggelassen werden. • Vorkommen von Anomalien • Ineffiziente Nutzung von Speicherressourcen

  3. Anomalien bei Rel. Datenbanken • Änderungs-Anomalie • Lösch-Anomalie • Einfügeanomalie Bei Anomalien handelt sich im Zusammenhang der Rel. Datenbanken um Abhängigkeiten!

  4. Definition Normalisierung • Der Begriff Normalisierung stammt von den „Normal Formeln“ und bedeutet Korrektur oder Gesetzmäßigkeit. Die einzelnen Schritte des Normalisierungsprozesses werden auch „Normal Formeln“ genannt. • Es gibt insgesamt 5 Normalformen, wobei die ersten 3 Normalformen üblich sind.

  5. Ziele der Normalisierung • Vermeidung von Redundanzen • Vereinfachtes relationales Datenbankmodell • Wartung der Datenbanken forcieren • Unnötigen Speicherbedarf eliminieren • Erweiterung der Datenbank vereinfachen Der Informationsgehalt der Datenbank sollte bestehen bleiben!

  6. Wichtige Begriffe Ein Primärschlüssel ist ein Attribut zu eindeutigen Identifizierung aller anderen Attribute Ein Fremdschlüssel bezeichnet ein Attribut, welches gleichzeitig Nichtschlüsselattribut der einen Tabelle und Schlüsselattribut der anderen ist.

  7. Beispiel: Bücherdatenbank Wir erstellen eine Datenbank für eine Bibliothek mit folgenden Informationen: ISBN, Buchtitel, Ausleihdatum, Kunden-ID, Kundenname, Kundenanschrift.

  8. Unnormalisierte Form

  9. 1. Normalform Eine Tabelle befindet sich in der 1. Normalform wenn folgende Aussagen zutreffen: In jedem Datenfeld steht nur ein Wert Die einzelnen Datenfelder enthalten keine Aufzählungen Atomare Eigenschaft

  10. 1. Normalform Die ISBN-Nr und die Kundennr. bezeichnen einen zusammengesetzten Schlüssel, der alle Nichtschlüsselattribute definiert.

  11. 2. Normalform Eine Tabelle befindet sich in der 2. Normalform wenn folgende Affirmationen zutreffen: Alle Nichtschlüsselattribute voll vom Primärschlüssel abhängen Sofern ein zusammengesetzter Schlüssel vorhanden ist, werden die Attribute, die nur von einem Teil des zusammengesetzten Schlüssels abhängen ausgegliedert

  12. 2. Normalform (Relation Übersicht) Die ISBN-Nummer und die Kundennr. stellen in dieser Relation die Schlüsselattribute dar. Beide Schlüssel werden zur eindeutigen Identifikation des Ausleihdatums benötigt.

  13. 2. Normalform (Relation Kunden)

  14. 2. Normalform (Relation Bücher)

  15. 3. Normalform Eine Tabelle befindet sich in der dritten Normalform, wenn zwischen den Spalten, die keine Primärschlüssel bilden, keine Abhängigkeiten mehr bestehen.

  16. 3. Normalform Relation Übersicht Relation Bücher Relation Ort Relation Kunden

  17. Nützliche MySQL Befehle InnerJoin: Verknüpfung zweier Tabellen nach Ihren Spalteneinträgen SELECT SUM(ü.anzahl), k.kundenFROM übersichtüINNER JOIN kundenk ON (ü.pr_id = k.id)GROUP BYk.kunden

  18. Vielen Dank für Ihre Aufmerksamkeit!

More Related