diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2025-11-25 17:45:07 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-11-25 17:45:07 +0100 |
| commit | 07ce7ac1514c97883bb5d519ed5db3ac2476db44 (patch) | |
| tree | 36ae5580bfc837e508284fa748af0eaa1be7fddb /Info/10 | |
| parent | 9d74995f4b4328cc95097e4f86253b8a4adb51a0 (diff) | |
| download | unterricht-07ce7ac1514c97883bb5d519ed5db3ac2476db44.tar.gz unterricht-07ce7ac1514c97883bb5d519ed5db3ac2476db44.zip | |
add second version of the 10th grade exam
Diffstat (limited to 'Info/10')
11 files changed, 154 insertions, 0 deletions
diff --git a/Info/10/1/Aufgaben/joins_social_media.tex b/Info/10/1/Aufgaben/joins_social_media.tex new file mode 100644 index 00000000..d86a16e7 --- /dev/null +++ b/Info/10/1/Aufgaben/joins_social_media.tex @@ -0,0 +1,35 @@ +\renewcommand{\Verteilung}{5+4} +\begin{Aufg}[Joins] +Ein soziales Netzwerk verwaltet alle User, Freundschaftsbeziehungen, sowie alle Posts in einer Datenbank mit folgenden Tabellen: \\ +\texttt{Nutzer[\underline{nutzername}: TEXT, vorname: TEXT, nachname: TEXT, alter: DATE]} \\ +\texttt{Freundschaft[\underline{\dashuline{freund1: TEXT}, \dashuline{freund2: TEXT}}]} \\ +\texttt{Posts[\underline{id: INTEGER}, inhalt: TEXT, datum: DATE, \dashuline{nutzer: TEXT}]} \\ + +\begin{enumerate}[a)] +\item Formuliere eine SQL-Abfrage, die die Namen aller befreundeten Nutzer liefert. +\item Formuliere eine SQL-Abfrage, die die \textbf{Anzahl} der Posts von Freunden des Nutzers \textbf{rezo} ausgiebt. +\end{enumerate} +\end{Aufg} + +\begin{Lsg} +\begin{enumerate}[a)] +\item +\begin{minted}{sql} +SELECT n1.name, n2.name +FROM Nutzer AS n1, Nutzer AS n2, Freundschaft +WHERE f1.nutzername = Feundschaft.freund1 + AND n2.nutzername = Freundschaft.freund2; +\end{minted} +\BE{1} Select \BE{2} From \BE{2} Where +\item +\begin{minted}{sql} +SELECT Count(Posts.id) +FROM Nutzer AS n1, Nutzer AS n2, Freundschaft, Posts +WHERE n1.nutzername = Freundschaft.freund1 + AND n2.nutzername = Freundschaft.freund2 + AND n1.nutzername = "rezo" + AND n2.nutzername = Posts.nutzer; +\end{minted} +\BE{1} Select+Count \BE{1} From+Posts \BE{2} Where Rezo | 1,n Join +\end{enumerate} +\end{Lsg} diff --git a/Info/10/1/Aufgaben/tabellenschema_filme_n_m.tex b/Info/10/1/Aufgaben/tabellenschema_filme_n_m.tex new file mode 100644 index 00000000..05fa51e0 --- /dev/null +++ b/Info/10/1/Aufgaben/tabellenschema_filme_n_m.tex @@ -0,0 +1,46 @@ +\renewcommand{\Verteilung}{7+3} +\begin{Aufg}[Tabellenschema] +Für eine Streaming-Plattform soll nach folgendem Klassendiagramm eine relationale Datenbank erstellt werden: \\[0.1cm] + +\begin{tikzpicture} +\begin{class}[text width=4cm]{Film}{0,0} +\attribute{Titel} +\attribute{Länge} +\attribute{Erscheinungsdatum} +\end{class} + +\begin{class}[text width=3cm]{Actor}{12,0} +\attribute{ActorNr} +\attribute{Vorname} +\attribute{Name} +\end{class} +\association{Actor}{m}{$< $spielt in}{Film}{}{n} +\end{tikzpicture} + +\begin{enumerate}[a)] +\item Gib die Tabellenschemata inklusive sinnvoller Datentypen aller nötigen Tabellen an und markiere darin Fremd- und Primärschlüssel wie üblich. +\item Nenne und beschreibe knapp zwei Probleme und deren Fachbegriffe die auftreten könnten, wenn zur Speicherung nur eine einzige Tabelle verwendet wird. +\end{enumerate} +\end{Aufg} + +\begin{Lsg} +\begin{enumerate}[a)] +\item + \texttt{Film[\underline{Titel: Text, Erscheinungsdatum: Date}, Länge: INTEGER]} \\ + \texttt{Actor[\underline{ActorNr: INTEGER}, Vorname: Text, Name: TEXT]} \\ + \texttt{spieltin[\underline{\dashuline{ActorNr: INTEGER}, \dashuline{Titel: Text, Erscheinungsdatum: DATE}}]} \\[0.3cm] + Künstlicher Primärschlüssel bei Film auch möglich \\ + Erscheinungsdatum kann auch Typ Text sein \\ + Datentypen müssen bei Primär- und Fremdschlüsselbeziehung übereinstimmen \\ + \BE{2} auf die korrekte Notation (Tabellenname, Klammern, Doppelpunkte, Kommas, Attributnamen, Datentypen) \\ + \BE{3} auf die korrekte Beziehungstabelle (Primärschlüssel, zwei Fremdschlüssel) \\ + \BE{2} auf die vollständigen anderen beiden Tabelle \\ +\item + \begin{itemize} + \item UPDATE-Anomalie: Vergessen von Einträgen bei Änderungen + \item INSERT-Anomalie: Neue Sportart könnte nicht ohne Mitglieder angelegt werden + \item DELETE-Anomalie: Eine Sportart würde bei der Löschung des letzten Mitglieds ebenfalls gelöscht werden + \end{itemize} + 0.5 BE pro Fachbegriff und 1 BE pro Beschreibung $\Rightarrow$ \BE{3} +\end{enumerate} +\end{Lsg} diff --git a/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/.gitignore b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/.gitignore new file mode 100644 index 00000000..7ebc9082 --- /dev/null +++ b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/.gitignore @@ -0,0 +1 @@ +themen.pdf diff --git a/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/Aufgaben/joins_social_media.tex b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/Aufgaben/joins_social_media.tex new file mode 120000 index 00000000..5c0c7f0e --- /dev/null +++ b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/Aufgaben/joins_social_media.tex @@ -0,0 +1 @@ +../../../1/Aufgaben/joins_social_media.tex
\ No newline at end of file diff --git a/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/Aufgaben/klassendiagramm_hoghwarts.tex b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/Aufgaben/klassendiagramm_hoghwarts.tex new file mode 120000 index 00000000..96f4dcae --- /dev/null +++ b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/Aufgaben/klassendiagramm_hoghwarts.tex @@ -0,0 +1 @@ +../../../1/Aufgaben/klassendiagramm_hoghwarts.tex
\ No newline at end of file diff --git a/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/Aufgaben/tabellenschema_filme_n_m.tex b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/Aufgaben/tabellenschema_filme_n_m.tex new file mode 120000 index 00000000..3ac67076 --- /dev/null +++ b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/Aufgaben/tabellenschema_filme_n_m.tex @@ -0,0 +1 @@ +../../../1/Aufgaben/tabellenschema_filme_n_m.tex
\ No newline at end of file diff --git a/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/README.md b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/README.md new file mode 100644 index 00000000..6b3af64d --- /dev/null +++ b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/README.md @@ -0,0 +1,18 @@ +# Test von Florian Fischer + +## PDFs Erzeugen + +Um die PDF Dateien aus den LaTeX Quelldateien zu erzeugen, wird eine übliche LaTeX-Installation (bspw. [TeX Live](https://tug.org/texlive/)) benötigt. + +Die Quellen nutzen die von mir geschriebene Klasse `test`, die im Ordner `latex` zu finden ist. +Damit auch LaTeX die Klasse findet, muss deren Pfad als input spezifiziert werden. +Die meisten Kommandozeilen-Programme unterstützen dazu die Umgebungsvariable `TEXINPUTS`. + +Alle PDFs können mit folgendem Befehl erzeugt werden: + +`TEXINPUTS=.//: latexmk -pdf test*.tex` + +## Lizenz + +Solange nichts anderes vermerkt ist, sind die enthaltenen Werke von Florian Fischer unter **CC BY-SA 4.0** lizenziert. +Eine Kopie der Lizenz ist unter (https://creativecommons.org/licenses/by-sa/4.0/)[https://creativecommons.org/licenses/by-sa/4.0/] zu finden. diff --git a/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/_test.tex b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/_test.tex new file mode 100644 index 00000000..90e75037 --- /dev/null +++ b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/_test.tex @@ -0,0 +1,30 @@ +\usepackage{minted} +\Datum{28.11.2025} +\TestNummer{Nachschrift 1} +\TestArt{Kurzarbeit} +\Fach{Informatik} +\Klasse{10ab} + +\begin{document} +%% Erzeugt den Intro Header +\Intro + +\fancyfoot[RO]{Bitte umblättern!} +\input{Aufgaben/klassendiagramm_hoghwarts.tex} +\iflehrer{}{\newpage} +\fancyfoot[RO]{} + +\input{Aufgaben/tabellenschema_filme_n_m.tex} +\begin{Bearbeitung} +\kariert[0.5cm]{27} +\end{Bearbeitung} +\iflehrer{}{\newpage} + +\input{Aufgaben/joins_social_media.tex} +\begin{Bearbeitung} +\kariert[0.5cm]{30} +\end{Bearbeitung} +\iflehrer{}{\newpage\hfill} + +\beTabelle +\end{document} diff --git a/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/test_lehrer.tex b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/test_lehrer.tex new file mode 100644 index 00000000..094f5adf --- /dev/null +++ b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/test_lehrer.tex @@ -0,0 +1,7 @@ +\documentclass[ +lehrerversion, +erwartungshorizont, +sigfooter, +]{test} + +\input{_test} diff --git a/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/test_loesung.tex b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/test_loesung.tex new file mode 100644 index 00000000..d0bb5cf9 --- /dev/null +++ b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/test_loesung.tex @@ -0,0 +1,7 @@ +\documentclass[ +lehrerversion, +sigfooter, +keinlogo, +]{test} + +\input{_test} diff --git a/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/test_schueler.tex b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/test_schueler.tex new file mode 100644 index 00000000..12415c38 --- /dev/null +++ b/Info/10/Leistungsnachweise/1_KA_10ab_202511228_NS/test_schueler.tex @@ -0,0 +1,7 @@ +\documentclass[ +sigfooter, +drawborder, +twoside, +]{test} + +\input{_test} |
