- 3 Abschnitte
- 10 Lektionen
- 8 Hours
- Datenmodelle und Strukturen aus fachlichen Anforderungen ableiten4
- Programmspezifikationen festlegen4
- Schnittstellen2
Datenanalyse
1. Datenanforderungen analysieren
Ziel: Identifikation und Dokumentation der Datenanforderungen, die aus den fachlichen Anforderungen abgeleitet werden.
| Methode | Beschreibung | Beispiel |
|---|---|---|
| Interviews | Gespräche mit Stakeholdern, um deren Datenanforderungen zu verstehen. | Interview mit Bibliotheksmitarbeitern zur Ermittlung der notwendigen Daten für die Buchverwaltung. |
| Dokumentenanalyse | Analyse vorhandener Dokumente und Berichte, um die aktuellen Datenanforderungen zu erfassen. | Überprüfung von Berichten zur Buchausleihe und Benutzerregistrierung. |
| Workshops | Gemeinsame Sitzungen mit mehreren Stakeholdern zur Diskussion und Priorisierung der Datenanforderungen. | Workshop zur Identifikation der wichtigsten Datenfelder für die Bibliothekssoftware. |
Beispiel für die Erfassung von Datenanforderungen:
| Anforderung ID | Beschreibung | Beispiel |
|---|---|---|
| DA1 | Erfassen und Speichern von Benutzerdaten | BenutzerID, Name, Adresse, E-Mail |
| DA2 | Verwaltung von Buchdaten | BuchID, Titel, Autor, ISBN, Erscheinungsjahr |
| DA3 | Aufzeichnung von Ausleihvorgängen | AusleihID, BenutzerID, BuchID, Ausleihdatum, Rückgabedatum |
2. Datenmodellierung
Ziel: Erstellung von konzeptionellen, logischen und physischen Datenmodellen zur strukturierten Darstellung der Datenanforderungen.
Konzeptionelles Datenmodell:
Das konzeptionelle Datenmodell dient der abstrakten Darstellung der Datenstruktur ohne technische Details.
| Entität | Attribute | Beispiel |
|---|---|---|
| Benutzer | BenutzerID, Name, Adresse, E-Mail | |
| Buch | BuchID, Titel, Autor, ISBN, Erscheinungsjahr | |
| Ausleihe | AusleihID, BenutzerID, BuchID, Ausleihdatum, Rückgabedatum |
Beispiel eines konzeptionellen Datenmodells:
+----------------+ +---------------+
| Benutzer | | Buch |
+----------------+ +---------------+
| BenutzerID | <----> | BuchID |
| Name | | Titel |
| Adresse | | Autor |
| E-Mail | | ISBN |
+----------------+ | Erscheinungsjahr|
+---------------+
|
V
+----------------+
| Ausleihe |
+----------------+
| AusleihID |
| BenutzerID |
| BuchID |
| Ausleihdatum |
| Rückgabedatum |
+----------------+
Logisches Datenmodell:
Das logische Datenmodell konkretisiert das konzeptionelle Modell und fügt technische Details hinzu.
| Tabelle | Attribute | Datentyp |
|---|---|---|
| Benutzer | BenutzerID (PK), Name, Adresse, E-Mail | INT, VARCHAR, VARCHAR, VARCHAR |
| Buch | BuchID (PK), Titel, Autor, ISBN, Erscheinungsjahr | INT, VARCHAR, VARCHAR, VARCHAR, INT |
| Ausleihe | AusleihID (PK), BenutzerID (FK), BuchID (FK), Ausleihdatum, Rückgabedatum | INT, INT, INT, DATE, DATE |
Beispiel eines logischen Datenmodells in SQL:
CREATE TABLE Benutzer (
BenutzerID INT PRIMARY KEY,
Name VARCHAR(100),
Adresse VARCHAR(255),
Email VARCHAR(100)
);
CREATE TABLE Buch (
BuchID INT PRIMARY KEY,
Titel VARCHAR(255),
Autor VARCHAR(100),
ISBN VARCHAR(13),
Erscheinungsjahr INT
);
CREATE TABLE Ausleihe (
AusleihID INT PRIMARY KEY,
BenutzerID INT,
BuchID INT,
Ausleihdatum DATE,
Rückgabedatum DATE,
FOREIGN KEY (BenutzerID) REFERENCES Benutzer(BenutzerID),
FOREIGN KEY (BuchID) REFERENCES Buch(BuchID)
);
3. Datenbankdesign
Ziel: Optimierung der physischen Datenstruktur zur Gewährleistung von Effizienz und Performance.
| Designprinzip | Beschreibung | Beispiel |
|---|---|---|
| Normalisierung | Strukturierung der Daten, um Redundanzen zu vermeiden und Datenintegrität zu gewährleisten. | Aufteilung der Benutzerdaten und Buchdaten in separate Tabellen. |
| Denormalisierung | Zusammenfassung von Daten, um Performanceverbesserungen bei speziellen Abfragen zu erreichen. | Hinzufügen einer Spalte „Benutzername“ zur Tabelle „Ausleihe“ für schnellere Abfragen. |
Beispiel für 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 für Denormalisierung:
ALTER TABLE Ausleihe ADD Benutzername VARCHAR(100);
4. Werkzeuge und Techniken
Ziel: Unterstützung der Datenanalyse und -modellierung 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 Datenmodelle. |
| SQL-Tools | Tools zur Datenbankverwaltung und -abfrage (z.B. MySQL Workbench, pgAdmin). | Verwendung von MySQL Workbench zur Erstellung und Verwaltung der Bibliotheksdatenbank. |
| Datenmodellierungstools | Spezialisierte Tools zur Erstellung und Verwaltung von Datenmodellen (z.B. ER/Studio, IBM InfoSphere Data Architect). | Einsatz von ER/Studio zur detaillierten Modellierung und Dokumentation der Datenstrukturen. |
Beispiel für die Verwendung von ERD-Tools:
1. Erstellen eines neuen ER-Diagramms für die Bibliothekssoftware in Lucidchart.
2. Hinzufügen der Entitäten "Benutzer", "Buch" und "Ausleihe".
3. Definieren der Beziehungen zwischen den Entitäten und Festlegen der Primär- und Fremdschlüssel.
