Gliederung des Textes:

DBTraining - Datenbanktraining zu RM, ERM, SQL und OOM. 128 einführende Aufgaben und Lösungen (Version September 2025)

1 Einführung

1.1 Motivation

1.2 ChatGPT

1.3 Voraussetzungen

1.4 Attributbasiertheit

1.5 Bezeichnung der Methodenelemente

2 RelDB - Von der Anforderung zum Datenmodell 1

2.1 Übung 1 (ChatGPT)

2.2 Übung 2 (ChatGPT)

2.3 Übung 3 (ChatGPT)

2.4 Übung 4 (ChatGPT)

2.5 Sportverein

2.6 Obst

2.7 Angestellte

2.8 Sprachenverlag

2.9 Lehre 1

2.10 Lehre 2

2.11 Lehre 3

3 RelDB - Von der Anforderung zum Datenmodell 2

3.1 Kfz-Werkstatt (ChatGPT)

3.2 Fachliteratur

3.3 Rechnung Stufe 1

3.4 Rechnung Stufe 2

3.5 Rechnung Stufe 3

3.6 PC-Beschaffung

4 RelDB - Von der Anforderung zur SQL-Datenbank

4.1 Rechnungen/Kunden

4.2 Haushaltsgeräte

4.3 Zoo

5 RelDB - Von der Anforderung zur Web-Benutzeroberfläche

5.1 Kunde / Rechnungen / Artikel

5.2 KuReAr_1

5.3 KuReAr_2

5.4 KuReAr_3

5.5 KuReAr_4

5.6 KuReAr_5

5.7 Kindergarten

5.8 KiGa_1

5.9 KiGa_2

5.10 KiGa_3

5.11 KiGa_4

5.12 KiGa_5

6 Relationale Theorie 1

6.1 Relationen 1

6.2 Relationen 2 (ChatGPT)

6.3 Funktionale Abhängigkeiten

6.4 3NF - Definition (ChatGPT)

6.5 2NF - Definition

6.6 BCNF (ChatGPT)

6.7 Normalisierung

6.8 Nicht 1NF, nicht 3NF

6.9 Idealform

6.10 Von UN zu 1NF (ChatGPT)

6.11 Von 1NF zu 3NF

6.12 Von 1NF zu BCNF

7 Relationale Theorie 2

7.1 Redundanz 2NF, 3NF

7.2 2NF, nicht 3NF

7.3 FAD, Rechnungen

7.4 BCNF - Definition

7.5 FAD

7.6 BCNF

7.7 Nicht 3NF

7.8 FA-Diagramm 1

7.9 FA-Diagramm 2

7.10 "Attributshaufen" (ChatGPT)

8 Relationale Theorie 3

8.1 Anomalien

8.2 Normalformen

8.3 Anomalien 1

8.4 Anomalien 2

8.5 Anomalien 3

8.6 GenSpez

8.7 Einzel / Typ

8.8 Aggregation

8.9 Komposition

8.10 UN zu 1NF

9 Entity Relationship Modellierung

9.1 Mitglieder / Adressen

9.2 Mitgliedergruppen

9.3 Sportverein

9.4 PC-Beschaffung

9.5 Fahrzeugvermietung

9.6 WebShop

9.7 Zoo

9.8 Vorlesungsbetrieb

9.9 Wörterbuchverlag

10 Von ERM zu RM

10.1 Entitätstypen 1

10.2 Entitätstypen 2

10.3 Beziehungstypen 1

10.4 Beziehungstypen 2

10.5 Singuläre Entitätstypen

10.6 Mehrstellige Beziehungen

10.7 Generalisierung / Spezialisierung

10.8 Angestellte / Kinder

11 Objektorientierte Modellierung mit der UML 2.5

11.1 Klassenfindung

11.2 Projektmitarbeit

11.3 Abteilungszugehörigkeit

11.4 PC-Nutzung

11.5 PS-Kompetenz

11.6 Softwarehaus

11.7 LVBesuch

11.8 Dozenten

11.9 LV

11.10Lehre

11.11StudAkten

12 SQL 2

12.1 MarktDBS

12.2 Einfüllen

12.3 Defizite beseitigen

12.4 Test Eingabe

12.5 Temporaer

12.6 Ergänzen, bearbeiten

12.7 Projektion, Selektion

12.8 Abfrage

12.9 MarktDBS - Abfrage 1

12.10MarktDBS - Abfrage 2

12.11MarktDBS - Defizite

12.12Berechnungen

13 SQL 2

13.1 Preisspannen

13.2 BaeKuch

13.3 Kuchen

13.4 Join

13.5 Maskierung 1

13.6 Maskierung 2

13.7 Daten ändern

13.8 Attribut ergänzen

13.9 Rabatte ergänzen

13.10Gruppen 1

13.11Gruppen 2

13.12Union

14 SQL 3

14.1 Datenbank Ang/Abt

14.2 Marktführer 1

14.3 Marktführer 2

14.4 Datentypen

14.5 Create mit Subselect

14.6 Produzenten

14.7 Join

14.8 5er-Join

14.9 Preiswertere DBS

14.10Billiger als der Marktführer

14.11DB Lehre

14.12DB KFZ

15 Etwas relationale Theorie

15.1 Vorgehensweise

15.2 Ergebnis der Datenmodellierung

15.3 Methodische Muster - "Methode sucht Syntax"

15.4 Semantische Muster - Semantik sucht Syntax

16 Etwas HTML

16.1 Formulare

16.2 Zusammenspiel HTML und PHP

17 Etwas PHP- Vom Web zur Datenbank

17.1 Zwei Klassen - mysqli und mysqli_result

17.2 Demo-Datenbank KuReAr

17.3 Verknüpfung WebSeite Datenbank

18 Literatur