- 3 Abschnitte
- 10 Lektionen
- 8 Hours
- Datenmodelle und Strukturen aus fachlichen Anforderungen ableiten4
- Programmspezifikationen festlegen4
- Schnittstellen2
Datenmodellierung
1. Konzeptionelles Datenmodell
Ziel: Erstellung einer abstrakten Darstellung der Datenstruktur ohne technische Details.
Beispiel einer konzeptionellen Datenmodellierung:
Entitäten und Attribute:
| Entität | Attribute |
|---|---|
| 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 |
+----------------+
2. Logisches Datenmodell
Ziel: Konkrete Darstellung des konzeptionellen Modells mit technischen Details.
Beispiel einer logischen Datenmodellierung:
Tabellen und Attribute:
| Tabelle | Attribute | Datentyp |
|---|---|---|
| Benutzer | BenutzerID (PK), Name, Adresse, E-Mail | INT, VARCHAR |
| Buch | BuchID (PK), Titel, Autor, ISBN, Erscheinungsjahr | INT, VARCHAR |
| Ausleihe | AusleihID (PK), BenutzerID (FK), BuchID (FK), Ausleihdatum, Rückgabedatum | INT, INT, 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. Physisches Datenmodell
Ziel: Implementierung des logischen Modells in ein tatsächliches Datenbanksystem unter Berücksichtigung von Performance und Speicheroptimierung.
Beispiel einer physischen Datenmodellierung:
| Tabelle | Attribute | Indexierung |
|---|---|---|
| Benutzer | BenutzerID (PK), Name, Adresse, E-Mail | PRIMARY KEY (BenutzerID) |
| Buch | BuchID (PK), Titel, Autor, ISBN, Erscheinungsjahr | PRIMARY KEY (BuchID), INDEX (ISBN) |
| Ausleihe | AusleihID (PK), BenutzerID (FK), BuchID (FK), Ausleihdatum, Rückgabedatum | PRIMARY KEY (AusleihID), INDEX (BenutzerID, BuchID) |
Beispiel eines physischen Datenmodells in SQL:
CREATE TABLE Benutzer (
BenutzerID INT PRIMARY KEY,
Name VARCHAR(100),
Adresse VARCHAR(255),
Email VARCHAR(100)
) ENGINE=InnoDB;
CREATE TABLE Buch (
BuchID INT PRIMARY KEY,
Titel VARCHAR(255),
Autor VARCHAR(100),
ISBN VARCHAR(13) UNIQUE,
Erscheinungsjahr INT
) ENGINE=InnoDB;
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)
) ENGINE=InnoDB;
4. Datenintegrität und Konsistenz
Ziel: Sicherstellen, dass die Daten in der Datenbank korrekt und konsistent bleiben.
Beispiel für 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);
5. Werkzeuge und Techniken
Ziel: Unterstützung der Datenmodellierung 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.
