Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:datenbanken:normalisiserung:start [24.11.2020 19:00] – [Erster Entwurf] sbel | faecher:informatik:oberstufe:datenbanken:normalisiserung:start [Unknown date] (aktuell) – gelöscht - Externe Bearbeitung (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Normalisierung von Datenbanken - Datenbankdesign ====== | ||
- | Bevor wir uns an ein gutes Design heranwagen, schauen wir uns an, wie man es nicht macht und warum. Nehmen wir mal folgende Situation an. Wir sind ein Zwischenhändler, | ||
- | |||
- | ===== Erster Entwurf ===== | ||
- | |||
- | Man könnte nun auf die Idee kommen, alle Bestellungen, | ||
- | |||
- | +--+------------+------+------+------+------------+---------------+-------------------------------+-----------------------+ | ||
- | |id|produkt | ||
- | +--+------------+------+------+------+------------+---------------+-------------------------------+-----------------------+ | ||
- | | 1|Schlagbohrer|199.95|1000-1|1 | ||
- | | 2|Zement | ||
- | | 3|Kneifzange | ||
- | | 4|Brecheisen | ||
- | | 5|Hammer | ||
- | | 6|Zement | ||
- | | 7|Brecheisen | ||
- | +--+------------+------+------+------+------------+---------------+-------------------------------+-----------------------+ | ||
- | |||
- | |||
- | ==== Probleme... ==== | ||
- | |||
- | |||
- | Auf den ersten Blick fällt auf, dass in unserer Tabelle etliche Informationen mehrfach gespeichert sind, das kann zu großen Problemen führen. Im Moment sieht alles noch sehr übersichtlich aus. Aber was passiert, wenn wir 10.000 oder 100.000 DAtensätze verwalten müssen? | ||
- | |||
- | Angenommen, Dr. Frankenstein geht künftig wieder seiner ursprünglichen Profession nach und baut Menschen zusammen, er fällt als unser Kunde weg, und belegt als Karteileiche in unserer Datenbank unnötig Speicherplatz. | ||
- | |||
- | Oder die Einkaufspreise steigen. Oder Eisen-Karl kann nicht mehr liefern, da er pleite ist. Und wo zum Teufel kommen eigentlich die Produkte her? Wie kann jemand etwas bestellen, wenn das nicht irgendwo zentral gespeichert ist? | ||
- | |||
- | Ihr habt also schon gemerkt, dass unser erster Entwurf ziemlicher Müll ist, da wir bei Änderungen immer wieder vor großen Problemen stehen. Gottlob stellen uns die Mathematik und Informatik ein Werkzeug zur Verfügung, mit der wir unsere Datenbanken so aufbauen, dass sie pflegeleicht und gut wartbar sind. Das nennt sich Normalisierung. Allerdings müssen wir vorher noch ein paar Begriffe klären. | ||
- | |||
- | ==== Redundanzen, | ||
- | |||
- | Hinter diesen Begriffen verbirgt sich alles, was den logischen Aufbau unserer Datenbank gefährden könnte. Einen ersten Einblick in die Problematik habe ich euch schon oben gegeben. | ||
- | Redundanzen, | ||
- | |||
- | Redundanzen sind einfach ausgedrückt, | ||
- | |||
- | * Geringerer Speicherbedarf | ||
- | * Erhöhung der Wartbarkeit | ||
- | * Vermeidung von Inkonsistenzen und Anomalien | ||
- | |||
- | ==== Inkonsistenzen/ | ||
- | |||
- | Sind widersprüchliche Daten oder logische Brüche innerhalb einer Datenbank. Sie treten sehr oft auf, wenn man zum Beispiel Änderungen an den Inhalten vornimmt und Beziehnungen zwischen Informationen nicht berücksichtigt. | ||
- | |||
- | ==== Normalisierung ==== | ||
- | |||
- | Unter der " |