diff --git a/20231123/dbs-2023ws-p2.pdf b/20231123/dbs-2023ws-p2.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..11e348d9e9d1eea759dc9ec490f1298017fa49e5
Binary files /dev/null and b/20231123/dbs-2023ws-p2.pdf differ
diff --git a/20231123/dbs-2023ws-p2.tex b/20231123/dbs-2023ws-p2.tex
index 43e4512a7bf06ea5d7a3999fa972a4255be17345..3c8233d3fbd406c40ad86dcca25f7a5fa6e1aecf 100644
--- a/20231123/dbs-2023ws-p2.tex
+++ b/20231123/dbs-2023ws-p2.tex
@@ -47,36 +47,53 @@
     Prof.~Dr.~Peter Gerwinski
   \end{center}
 
-  Aufgabe: Schreiben Sie ein Programm, das auf strukturierte Daten zugreift
-  und diese per TCP/IP kontrolliert zur Verfügung stellt.
+  Aufgabe: Stellen Sie einen realistischen Datenbestand
+  in einer relationalen Datenbank dar.
 
-  \begin{multicols}{2}
+%  \begin{multicols}{2}
     \begin{itemize}
+       \item
+        Installieren Sie auf einem Rechner, auf dem Sie Administrationsrechte haben,
+        ein Datenbank-Management-System (DBMS, z.\,B.\ PostgreSQL, MariaDB).
+        Legen Sie einen Nutzer mit Passwort an.
       \item
-        Die strukturierten Daten sollen in Gestalt einer Text-Datei zur Verfügung stehen,
-        z.\,B.\ einer CSV-Datei. Einschränkungen hinsichtlich der Daten,
-        z.\,B.\ das Ausschließen bestimmter Zeichen aus Strings, sind erlaubt.
+        Machen Sie sich mit dem Umgang mit dieser Datenbank vertraut.
+        Hierfür können Sie z.\,B.\ die Tabelle,
+        für die Sie in Praktikumsversuch 1 ein Abfragesystem programmiert haben,
+        in die Datenbank einspielen.
+        Geben Sie SQL-Befehle sowohl von Hand ein
+        als auch über vorab erstellte SQL-Skripte.
       \item
-        Ihr Programm soll über einem TCP-Port
-        Befehle zur selektiven Datenabfrage entgegennehmen
-        und die angeforderten Daten über dieselbe TCP-Verbindung ausliefern.
+        Überlegen Sie sich ein realistisches Szenario
+        als Anwendungsbeispiel für eine relationale Datenbank.
+        Nutzen Sie für Ihre Daten verschiedene (sinnvolle!) Datentypen.
       \item
-        Das Definieren einer für diese Situation angemessenen Abfragesprache
-        ist Teil der Praktikumsaufgabe.
+        Beispiel 1: Musiksammlung (vgl.~die Beispiele aus der Vorlesung
+        bzw.~aus \url{https://de.wikipedia.org/wiki/Normalisierung_(Datenbank)}
+        zum Thema "`Normalformen"')
       \item
-        Implementieren Sie eine Passwort-Abfrage,
-        über die sich berechtigte Benutzer Ihres Informationssystems
-        authentifizieren können.
+        Beispiel 2: Online-Shop.
+        Hier gibt es typischerweise Listen für die Kundschaft
+        inklusive teilweise mehrerer Adressen,
+        Listen von Waren, Listen von Bestellungen, \dots
       \item
-        Zusatzaufgabe 1: Implementieren Sie auch Schreibzugriff auf die Text-Datei.
+        Achten Sie bei der Organisation Ihrer Daten auf die Einhaltung
+        der in der Vorlesung vorgestellten Normalformen.
       \item
-        Zusatzaufgabe 2: Demonstrieren Sie, wie sich die Authentifizerung
-        durch Mitlesen des Netzwerkverkehrs umgehen läßt.
+        Erstellen Sie ein SQL-Skript, mit dem Sie diese Datenbank
+        automatisch einspielen können. (Beispiele dazu finden Sie z.\,B.\ unter
+        \url{https://gitlab.cvh-server.de/pgerwinski/dbs/-/tree/2023ws/20231123}.)
       \item
-        Zusatzaufgabe 3: Gestalten Sie die Authentifizierung so, daß sie sich
-        durch Mitlesen des Netzwerkverkehrs nicht mehr umgehen läßt.
+        Stellen Sie Abhängigkeiten zwischen den Tabellen
+        durch primäre Schlüssel (\lstinline[style=cmd]{PRIMARY KEY}),
+        Fremdschlüssel (\lstinline[style=cmd]{FOREIGN KEY})
+        und Tabellenverknüpfungen (\lstinline[style=cmd]{JOIN}) her.
+      \item
+        Erstellen Sie Sichten auf Tabellen (\lstinline[style=cmd]{VIEW})
+        für praxistypische Anwendungsfälle (z.\,B.\ in Beispiel 1:
+        Liste sämtlicher Musikstücke inklusive Album, Erscheinungsjahr usw.).
     \end{itemize}
-  \end{multicols}
+%  \end{multicols}
 
   \strut\hfill\emph{Viel Erfolg!}
 
@@ -88,7 +105,7 @@
 
     \setlength{\leftskip}{3cm}
 
-    Stand: 22.\ November 2023
+    Stand: 28.\ November 2023
 
     Copyright \copyright\ 2023\quad Peter Gerwinski\\
     Lizenz: \mylicense
diff --git a/20231123/pgscript.sty b/20231123/pgscript.sty
new file mode 120000
index 0000000000000000000000000000000000000000..95c888478c99ea7fda0fd11ccf669ae91be7178b
--- /dev/null
+++ b/20231123/pgscript.sty
@@ -0,0 +1 @@
+../common/pgscript.sty
\ No newline at end of file