- 3 Abschnitte
- 10 Lektionen
- 8 Hours
- Datenmodelle und Strukturen aus fachlichen Anforderungen ableiten4
- Programmspezifikationen festlegen4
- Schnittstellen2
Datenbankdesign
1. Normalisierung
Ziel: Strukturierung der Daten, um Redundanzen zu vermeiden und Datenintegrität zu gewährleisten.
Beispiel für die Normalisierung:
| Normalform | Beschreibung | Beispiel |
|---|---|---|
| 1. Normalform | Sicherstellen, dass alle Attributwerte atomar sind. | Aufteilung der Adresse in separate Felder: Straße, Stadt, PLZ. |
| 2. Normalform | Sicherstellen, dass jedes Nicht-Schlüsselattribut voll funktional vom Primärschlüssel abhängt. | Trennung der Buchinformationen von den Ausleihinformationen. |
| 3. Normalform | Sicherstellen, dass keine Transitivabhängigkeiten existieren. | Entfernung von Attributen, die nicht direkt vom Primärschlüssel abhängen. |
Beispiel einer Tabelle vor und nach der Normalisierung:
Vor der Normalisierung:
| BuchID | Titel | Autor | ISBN | BenutzerID | Name | Ausleihdatum |
|---|---|---|---|---|---|---|
| 1 | Programmieren 101 | Max Mustermann | 1234567890 | 10 | John Doe | 2023-01-01 |
| 2 | Datenbanken | Jane Doe | 0987654321 | 11 | Jane Smith | 2023-01-02 |
Nach der Normalisierung:
Tabelle Buch:
| BuchID | Titel | Autor | ISBN |
|---|---|---|---|
| 1 | Programmieren 101 | Max Mustermann | 1234567890 |
| 2 | Datenbanken | Jane Doe | 0987654321 |
Tabelle Benutzer:
| BenutzerID | Name |
|---|---|
| 10 | John Doe |
| 11 | Jane Smith |
Tabelle Ausleihe:
| AusleihID | BuchID | BenutzerID | Ausleihdatum |
|---|---|---|---|
| 1 | 1 | 10 | 2023-01-01 |
| 2 | 2 | 11 | 2023-01-02 |
2. Denormalisierung
Ziel: Zusammenfassung von Daten, um Performanceverbesserungen bei speziellen Abfragen zu erreichen.
Beispiel für Denormalisierung:
Zusammengeführte Tabelle zur Verbesserung der Abfrageleistung:
| BuchID | Titel | Autor | ISBN | BenutzerID | Name | Ausleihdatum |
|---|---|---|---|---|---|---|
| 1 | Programmieren 101 | Max Mustermann | 1234567890 | 10 | John Doe | 2023-01-01 |
| 2 | Datenbanken | Jane Doe | 0987654321 | 11 | Jane Smith | 2023-01-02 |
3. Datenintegrität und Konsistenz
Ziel: Sicherstellen, dass die Daten in der Datenbank korrekt und konsistent bleiben.
Regeln der Datenintegrität:
| Regel | Beschreibung |
|---|---|
| Primärschlüssel | Eindeutige Identifikation jedes Datensatzes in einer Tabelle. |
| Fremdschlüssel | Sicherstellung der referenziellen Integrität zwischen Tabellen. |
| Einzigartigkeit | Verhindert doppelte Einträge in einem bestimmten Attribut. |
| Nicht-Null | Sicherstellung, dass ein Attribut immer einen Wert hat. |
Beispiel für Datenintegritätsregeln in SQL:
ALTER TABLE Benutzer ADD CONSTRAINT UC_Email UNIQUE (Email);
ALTER TABLE Ausleihe ADD CONSTRAINT FK_Benutzer FOREIGN KEY (BenutzerID) REFERENCES Benutzer(BenutzerID);
ALTER TABLE Ausleihe ADD CONSTRAINT FK_Buch FOREIGN KEY (BuchID) REFERENCES Buch(BuchID);
4. Indexierung
Ziel: Verbesserung der Abfragegeschwindigkeit durch den Einsatz von Indizes.
Beispiel für Indexierung:
| Index | Beschreibung | Beispiel |
|---|---|---|
| Primärschlüsselindex | Automatisch für Primärschlüssel erstellt, um eindeutige Datensätze schnell zu finden. | PRIMARY KEY (BuchID) |
| Sekundärindex | Zusätzliche Indizes für häufig abgefragte Spalten zur Beschleunigung von SELECT-Abfragen. | INDEX (ISBN) |
Beispiel für die Erstellung eines Indexes in SQL:
CREATE INDEX idx_buch_isbn ON Buch (ISBN);
5. Werkzeuge und Techniken
Ziel: Unterstützung des Datenbankdesigns durch geeignete Werkzeuge und Techniken.
| Werkzeug | Beschreibung | Beispiel |
|---|---|---|
| ERD-Tools | Tools zur Erstellung von Entity-Relationship-Diagrammen (z.B. Lucidchart, Draw.io). | Nutzung von Lucidchart zur Visualisierung der Datenbankstruktur. |
| SQL-Tools | Tools zur Datenbankverwaltung und -abfrage (z.B. MySQL Workbench, pgAdmin). | Verwendung von MySQL Workbench zur Erstellung und Verwaltung der Bibliotheksdatenbank. |
| Datenbankoptimierung | Tools zur Analyse und Optimierung der Datenbankperformance (z.B. SolarWinds Database Performance Analyzer). | Einsatz von SolarWinds zur Überwachung und Verbesserung der Datenbankleistung. |
Beispiel für die Verwendung von SQL-Tools:
1. Öffnen von MySQL Workbench und Verbinden mit der Bibliotheksdatenbank.
2. Erstellung der Tabellen "Benutzer", "Buch" und "Ausleihe" gemäß dem logischen Datenmodell.
3. Hinzufügen von Indizes zur Optimierung der Abfrageleistung.
