relationales Datenmodell
Das relationale Datenbankmodell wurde in den frühen 1970er Jahren vom englischen Mathematik Edgar F. Codd entwickelt. In Datenbanken (zB Microsoft Access) und Datenbanksystemen (zB MS SQL Server, Oracle, DB2, MySQL) wird das relationale Datenbankmodell angewendet. Zur Abbildung der Wirklichkeit in einem relationalen Datenbankmodell wurde des Entity-Relationship-Modell (ER-Modell) entwickelt.
Beziehungen: Die Kardinalität oder auch Konnektivität gibt den Grad einer Beziehung an. Man unterscheidet 3 Typen:
In einer 1:1-Beziehung ist jeweils genau eine Entität exakt einer anderen Entität zugeordnet. Eine Klasse hat wie viele Klassenvorstände? einenEin Klassenvorstand hat wie viele Klassen? eine | |
Einer Entität auf der einen Seite der Beziehung (Master) stehen keine, eine oder mehrere Entitäten auf der anderen Seite (Detail) gegenüber. Eine Klasse hat wie viele Schüler? mehrereEin Schüler besucht wie viele Klassen? eine | |
Auf beiden Seiten können beliebig viele Entitäten in Beziehung zueinander stehen. Eine Klasse wird von wie vielen Lehrern unterrichtet? von mehrerenEin Lehrer unterrichtet wie viele Klassen? mehrere |
Links:
- Kardinalität (Datenbankmodellierung)
- Datenbankmodellierung
- Edgar F. Codd
- Edgar F. Codd, A Relational Model of Data for Large Shared Data Banks (1970)
Normalisierung
Normalisierung ist ein Prozess, bei dem ein Datenbankmodell optimiert wird, um Redundanz zu reduzieren und Konsistenz zu verbessern. Redundanz ist die Speicherung derselben Daten an mehreren Stellen in einer Datenbank. Konsistenz bedeutet, dass alle Daten in einer Datenbank konsistent sind.
Es gibt fünf Normalformen, die in der Datenbankmodellierung verwendet werden:
- Erste Normalform (1NF): Eine Tabelle befindet sich in der ersten Normalform, wenn alle Attribute eindeutig sind und nicht null sein können.
- Zweite Normalform (2NF): Eine Tabelle befindet sich in der zweiten Normalform, wenn sie sich in der ersten Normalform befindet und alle nicht-primären Attribute vollständig von der primären Schlüssel abhängig sind.
- Dritte Normalform (3NF)): Eine Tabelle befindet sich in der dritten Normalform, wenn sie sich in der zweiten Normalform befindet und keine Transitive Abhängigkeiten enthält.
- Vierte Normalform (4NF): Eine Tabelle befindet sich in der vierten Normalform, wenn sie sich in der dritten Normalform befindet und keine Blocker-Abhängigkeiten enthält.
- Fünfte Normalform (5NF): Eine Tabelle befindet sich in der fünften Normalform, wenn sie sich in der vierten Normalform befindet und keine Multivalued-Dependency-Abhängigkeiten enthält.
Datenbank Normalisierung
Ausgangslage:
1. Normalform
Jedes Attribut der Relation muss einen atomaren Wertebereich haben. Das heißt, zusammengesetzte, mengenwertige oder geschachtelte Wertebereiche (relationenwertige Attributwertebereiche) sind nicht erlaubt. Damit sind auch Wiederholungsgruppen nicht zugelassen.
2. Normalform
Eine Relation ist in der zweiten Normalform, wenn die erste Normalform vorliegt und kein Nichtschlüsselattribut funktional abhängig von einer echten Teilmenge eines Schlüsselkandidaten ist. Das heißt jedes nicht-primäre Attribut (nicht Teil eines Schlüssels) ist jeweils von allen ganzen Schlüsseln abhängig, nicht nur von einem Teil eines Schlüssels. Wichtig ist hierbei, dass die Nichtschlüsselattribute wirklich von allen Schlüsseln vollständig abhängen.
3. Normalform
Die dritte Normalform ist genau dann erreicht, wenn sich das Relationenschema in 2NF befindet, und kein Nichtschlüsselattribut (hellgraue Zellen in der Tabelle) von einem Schlüsselkandidaten transitiv abhängt.