Gliederung des Textes:

DBTraining – Datenbanktraining zu RM, ERM, SQL und OOM. 121 einführende Aufgaben und Lösungen (Entwurf/Version 1/2024)

1 Einführung

1.1 Motivation

1.2 Voraussetzungen

1.3 Attributbasiertheit

1.4 Bezeichnung der Methodenelemente

2 Relationale Datenbanken – Von der Anforderung zum Datenmodell

2.1 Basisübung 1

2.2 Basisübung 2

2.3 Basisübung 3

2.4 Basisübung 4

2.5 Sportverein (insgesamt)

2.6 Obst

2.7 Angestellte

2.8 Sprachenverlag

2.9 Lehre 1

2.10 Lehre 2

2.11 Lehre 3

2.12 Fachliteratur

2.13 Rechnungsstellung Stufe 1

2.14 Rechnungsstellung Stufe 2

2.15 Rechnungsstellung Stufe 3

2.16 PC-Beschaffung

3 Relationale Datenbanken - Von der Anforderung zur Datenbank

3.1 Rechnungen/Kunden

3.2 Haushaltsgeräte

3.3 Zoo

4 Relationale Datenbanken - Von der Anforderung zur Web-Benutzeroberfläche

4.1 Kindergarten

4.2 Leitseite für WebAbfragen

4.3 Daten aller Kinder anzeigen

4.4 Neuzugang erfassen

4.5 Daten eines Kindes löschen

4.6 Daten ausgewählter Kinder anzeigen

4.7 Daten von Kindern ändern

5 Relationale Theorie

5.1 Relation - Eigenschaften

5.2 Funktionale Abhängigkeiten

5.3 3NF - Definition

5.4 2NF - Definition

5.5 Normalisierung - Angestellte

5.6 Nicht 1NF, nicht 3NF

5.7 Idealform

5.8 Von UN zu 1NF

5.9 Von 1NF zu 3NF

5.10 Von 1NF zu BCNF

5.11 Redundanz 2NF, 3NF

5.12 2NF, nicht 3NF

5.13 FAD, Rechnungen

5.14 BCNF - Definition

5.15 FAD - Vorlesungsbesuch

5.16 BCNF, Projektmitarbeit

5.17 Nicht 3NF, Abteilungen

5.18 FA-Diagramm, Projektmitarbeit

5.19 Angestellte, FA-Diagramm

5.20 „Attributshaufen“

5.21 Anomalien

5.22 Normalformen

5.23 Aktualisierungs-Anomalien

5.24 Einfüge-Anomalien

5.25 Lösche-Anomalie

5.26 Generalisierung / Spezialisierung

5.27 Einzel / Typ

5.28 Aggregation

5.29 Komposition

5.30 UN zu 1NF

6 Entity Relationship Modellierung

6.1 Mitglieder / Adressen

6.2 Mitgliedergruppen

6.3 Sportverein

6.4 PC-Beschaffung

6.5 Fahrzeugvermietung

6.6 WebShop

6.7 Zoo

6.8 Hochschule - Vorlesungsbetrieb

6.9 Wörterbuchverlag

7 Von ERM zu RM

7.1 Entitätstypen 1

7.2 Entitätstypen, Attributsonderfälle

7.3 Beziehungstypen 1

7.4 Beziehungstypen 2

7.5 Singuläre Entitätstypen

7.6 Mehrstellige Beziehungen

7.7 Generalisierung / Spezialisierung

7.8 Angestellte/Kinder

8 Objektorientierte Modellierung mit der UML 2.5

8.1 Vorbemerkungen

8.2 Klassenfindung - Angestellte

8.3 Projektmitarbeit

8.4 Abteilungszugehörigkeit

8.5 PC-Nutzung

8.6 Programmiersprachenkompetenz

8.7 Softwarehaus

8.8 Besuch Lehrveranstaltungen

8.9 Dozenten an Hochschulen

8.10 Lehrveranstaltungen mit Terminen

8.11 Lehrbetrieb einer Hochschule

8.12 Studierendenakten

9 SQL

9.1 Datenbank MarktDBS einrichten

9.2 Einfüllen von Daten in DBS

9.3 Unvollständige Daten

9.4 DBS - Test Eingabe

9.5 Temporaer – Einrichten und Löschen

9.6 DBS ergänzen und bearbeiten

9.7 DBS - Projektion, Selektion

9.8 DBS – Unix-Systeme

9.9 MarktDBS – Händler außerhalb RV

9.10 MarktDBS – spezielle Händler

9.11 MarktDBS – Defizite in Haendler

9.12 DBS – Select mit Berechnungen

9.13 DBS - Preisspannen

9.14 Datenbank BaeKuch

9.15 Kuchen in BaeKuch

9.16 BaeKuch - Join

9.17 Kuchen - Maskierung 1

9.18 Kuchen - Maskierung 2

9.19 MarktDBS – Daten ändern

9.20 MarktDBS - Attribut ergänzen

9.21 DBS – Rabatte ergänzen

9.22 DBS - Funktionen berechnen für Gruppen

9.23 DBS - Gruppen auswählen

9.24 MarktDBS – Union

9.25 Datenbank Ang/Abt

9.26 Marktführer in MarktDBS

9.27 Marktführer und ihre Anteile

9.28 Datentypen in MarktDBS

9.29 Create mit Subselect

9.30 Produzenten von Datenbanksystemen

9.31 Join mit DBS, Angebot, Haendler

9.32 5er-Join über MarktDBS

9.33 Preiswertere Datenbanksysteme

9.34 Billiger als der Marktführer

9.35 Datenbank Lehrbetrieb

9.36 Datenbank Kraftfahrzeuge (KFZ)

10 Etwas relationale Theorie

10.1 Vorgehensweise

10.2 Ergebnis der Datenmodellierung

10.3 Methodische Muster – Methode sucht Syntax

10.4 Semantische Muster – Semantik sucht Syntax

11 Etwas HTML

11.1 Formulare

11.2 Zusammenspiel HTML und PHP

12 Etwas PHP- Vom Web zur Datenbank

12.1 Zwei Klassen - mysqli und mysqli_result

12.2 Demo-Datenbank KuReAr

12.3 Verknüpfung WebSeite Datenbank

12.4 Weitere Beispiele

13 Literatur