osrw-info-9abc-SJ25.26
osrw-info-9abc-SJ25.26
HA DB03
Beschreibung
📚 HAUSAUFGABEN DB03
Moderne Datenmodellierung verstehen
🎯 Entity-Relationship-Modell (ERM)
Bevor Programmierer eine Datenbank erstellen, **planen** sie diese zuerst auf Papier. Das **Entity-Relationship-Modell (ERM)** ist wie ein Bauplan für Datenbanken - eine grafische Darstellung aller wichtigen Teile und ihrer Verbindungen.
Stell dir vor, du planst eine **Instagram-Datenbank**: Welche "Objekte" gibt es? (Nutzer, Posts, Kommentare) Wie hängen sie zusammen? (Nutzer erstellt Posts, Posts haben Kommentare) Das ist ERM!
🧩 Die drei Grundbausteine des ERM
📦 ENTITÄTEN (Rechtecke)
**Objekte** über die wir Informationen speichern wollen
- Instagram: **NUTZER**, **POST**, **KOMMENTAR**
- Schule: **SCHÜLER**, **LEHRER**, **KLASSE**
- Netflix: **FILM**, **NUTZER**, **BEWERTUNG**
🔗 BEZIEHUNGEN (Rauten)
**Verbindungen** zwischen Entitäten (meist Verben)
- NUTZER **erstellt** POST
- SCHÜLER **besucht** KLASSE
- NUTZER **bewertet** FILM
🏷️ ATTRIBUTE (Ovale)
**Eigenschaften** von Entitäten (die Spalten)
- NUTZER: Name, Email, Geburtsdatum
- POST: Bildurl, Beschreibung, Datum
- KLASSE: Klassenname, Raum, Stufe
Regel: Entitäten = Hauptwörter (Nutzer, Post) | Beziehungen = Verben (erstellt, kommentiert) | Attribute = Eigenschaften (Name, Datum)
📊 Kardinalitäten - Wie viele gehören zusammen?
**Kardinalitäten** beschreiben, wie viele Entitäten miteinander in Beziehung stehen können. Das ist entscheidend für die spätere Datenbank-Struktur!
🔗 1:1-Beziehung
**Ein** Objekt gehört zu **einem** anderen
Beispiel: KLASSE ↔ KLASSENRAUM
(Eine Klasse hat einen festen Raum)
🔗 1:n-Beziehung
**Ein** Objekt gehört zu **vielen** anderen
Beispiel: NUTZER ↔ POST
(Ein Nutzer kann viele Posts erstellen)
🔗 m:n-Beziehung
**Viele** Objekte gehören zu **vielen** anderen
Beispiel: SCHÜLER ↔ FACH
(Schüler haben viele Fächer, Fächer viele Schüler)
🏗️ Vom ERM zur echten Datenbank
Ein ERM ist nur der **Bauplan**. Um daraus eine echte Datenbank zu machen, müssen wir **Tabellen** erstellen:
📋 Grundregeln
- Jede Entität → eigene Tabelle
- Jedes Attribut → eigene Spalte
- Primärschlüssel → eindeutige ID
- Beziehungen → Fremdschlüssel oder eigene Tabelle
🔧 Umsetzung von Beziehungen
- 1:n → Fremdschlüssel in der "n"-Tabelle
- m:n → Eigene Beziehungs-Tabelle
- 1:1 → Fremdschlüssel in einer Tabelle
💡 Beispiel: Instagram vereinfacht
- nutzer_id (PK)
- username
- post_id (PK)
- nutzer_id (FK)
- bild_url
- beschreibung
1 Nutzer → n Posts
(1:n via Fremdschlüssel)
🚀 Moderne Datenbanken: Vektordatenbanken für KI
Während klassische Datenbanken **strukturierte Tabellen** nutzen, arbeiten moderne **Vektordatenbanken** mit **mathematischen Vektoren** für KI-Anwendungen:
🧠 Was sind Vektoren?
- Zahlenreihen die **Bedeutung** repräsentieren
- Beispiel: "Hund" = [0.2, -0.5, 0.8, ...]
- Ähnliche Wörter haben ähnliche Vektoren
- "Hund" und "Katze" sind nah beieinander
⚡ Wofür werden sie genutzt?
- **ChatGPT-Wissensbasis** für genaue Antworten
- **Bilderkennung:** "Finde ähnliche Fotos"
- **Spotify-Empfehlungen** basierend auf Musikgeschmack
- **Google-Suche** versteht Kontext statt nur Wörter
Zukunft: Klassische Tabellen (für exakte Daten) + Vektordatenbanken (für KI-Suche) arbeiten zusammen!
📖 Buchseiten zum Vertiefen
📚 Pflichtlektüre
- Seite 80-81: ERM-Grundlagen
- Seite 82-83: Vom ERM zur Tabelle
- Seite 84: Kardinalitäten verstehen
🎯 Fokus auf
- Unterschied Entität vs. Attribut
- Wann braucht man eigene Beziehungs-Tabelle?
- Wie erkenne ich Kardinalitäten?
🔗 Zusätzliche Quellen
🎯 Praxis-Challenge: Entwerfe ein ERM für deine Lieblings-App (TikTok, Discord, etc.) mit mindestens 3 Entitäten!
⏰ Vorbereitung für die nächste Stunde
Bearbeitungszeit: 20 Fragen im Moodle Test üben
Nächste Stunde: Kurzkontrolle & Eigenes ERM zeichnen
💡 Denkt schon mal nach: Welche Entitäten und Beziehungen würde eine YouTube-Datenbank brauchen?