diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2023-11-15 17:32:24 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2023-11-16 11:28:55 +0100 |
| commit | 6fcb56c3b2708cd7d41578ae005e5df9f8046312 (patch) | |
| tree | e8ac4b266f503f1a5cbace9cc02492e1972360db | |
| parent | cbb79a16da340e1cc99e2e365385317ee68c3ef2 (diff) | |
| download | unterricht-6fcb56c3b2708cd7d41578ae005e5df9f8046312.tar.gz unterricht-6fcb56c3b2708cd7d41578ae005e5df9f8046312.zip | |
add initial draft for the first Info KA in 10B
| -rw-r--r-- | Info/10/1/Aufgaben/joins_bayern.tex | 34 | ||||
| -rw-r--r-- | Info/10/1/Aufgaben/klassendiagramm_hoghwarts.tex | 41 | ||||
| -rw-r--r-- | Info/10/1/Aufgaben/modellierung_hoghwarts.tex | 44 | ||||
| -rw-r--r-- | Info/10/1/Aufgaben/tabellenschema_sportverein_n_m.tex | 44 | ||||
| l--------- | Info/23_24/11/20/10B/Aufgaben/joins_bayern.tex | 1 | ||||
| l--------- | Info/23_24/11/20/10B/Aufgaben/klassendiagramm_hoghwarts.tex | 1 | ||||
| l--------- | Info/23_24/11/20/10B/Aufgaben/modellierung_hoghwarts.tex | 1 | ||||
| l--------- | Info/23_24/11/20/10B/Aufgaben/tabellenschema_sportverein_n_m.tex | 1 | ||||
| -rw-r--r-- | Info/23_24/11/20/10B/_test.tex | 28 | ||||
| -rw-r--r-- | Info/23_24/11/20/10B/test_lehrer.tex | 7 | ||||
| -rw-r--r-- | Info/23_24/11/20/10B/test_schueler.tex | 7 | ||||
| -rw-r--r-- | latex/common_packages.tex | 1 |
12 files changed, 210 insertions, 0 deletions
diff --git a/Info/10/1/Aufgaben/joins_bayern.tex b/Info/10/1/Aufgaben/joins_bayern.tex new file mode 100644 index 00000000..48deffdf --- /dev/null +++ b/Info/10/1/Aufgaben/joins_bayern.tex @@ -0,0 +1,34 @@ +\begin{Aufg}[Joins] +Bayrische Gemeinden werden in einer Datenbank mit folgenden Tabellen verwaltet: \\ +\texttt{Gemeinde[\underline{schluessel}: TEXT, name: TEXT: plz: INTEGER, flaeche: INTEGER]} \\ +\texttt{Nachbargemeinde[\underline{\dashuline{schluessel1: TEXT}, \dashuline{schluessel2: TEXT}}]} \\ +\texttt{Schwimmbad[\underline{id:INTEGER}, name:TEXT, art:TEXT, \dashuline{gemeindeschluessel:TEXT}]} \\ + +\begin{enumerate}[a)] +\item Formuliere ein SQL-Statement, das die Namen aller benachbarten Gemeinden liefert. +\item Formuliere ein SQL-Statement, das die \textbf{Anzahl} der Schwimmbäder in den Nachbargemeinden von \textbf{Bayreuth} ausgiebt. +\end{enumerate} +\end{Aufg} + +\begin{Lsg} +\begin{enumerate}[a)] +\item +\begin{minted}{sql} +SELECT g1.name, g2.name +FROM Gemeinde AS g1, Gemeinde AS g2, Nachbargemeinde +WHERE g1.schluessel = Nachbargemeinde.schluessel1 + AND g2.schluessel = Nachbargemeinde.schluessel2; +\end{minted} +\BE{1} Select \BE{2} From \BE{2} Where +\item +\begin{minted}{sql} +SELECT Count(Schwimmbad.id) +FROM Gemeinde AS g1, Gemeinde AS g2, Nachbargemeinde, Schwimmbad +WHERE g1.schluessel = Nachbargemeinde.schluessel1 + AND g2.schluessel = Nachbargemeinde.schluessel2 + AND g1.name = "Bayreuth" + AND g2.schluessel = Schwimmbad.gemeindeschluessel; +\end{minted} +\BE{1} Select+Count \BE{1} From+Schwimmbad \BE{2} Where Bayreuth | 1,n Join +\end{enumerate} +\end{Lsg} diff --git a/Info/10/1/Aufgaben/klassendiagramm_hoghwarts.tex b/Info/10/1/Aufgaben/klassendiagramm_hoghwarts.tex new file mode 100644 index 00000000..fc33bc62 --- /dev/null +++ b/Info/10/1/Aufgaben/klassendiagramm_hoghwarts.tex @@ -0,0 +1,41 @@ +\begin{Aufg}[Klassendiagramm] +\begingroup +\setstretch{2}% Adjust line spacing +Das \textit{„Warzenschwein-Internat für Zauberei“} teilt seine \textbf{Schüler} in vier \textbf{Häuser} auf: \textbf{Ritter}, \textbf{Drachen}, \textbf{Elfen} und \textbf{Zwerge}. +Der bekannteste Schüler ist \textbf{Harald Töpfer}. +\textbf{Frau Gongalle} ist \textbf{Lehrkraft} und Oberhaupt des Hauses der Ritter. +\textbf{Herr Moodi} ist auch Lehrkraft, leitet aber kein Haus. Ein Haus wird nur von genau einer Lehrkraft geleitet. +\par +\endgroup +\begin{enumerate}[a)] +\item Schreibe in obigem Text über die Objekte ein \textbf{O} und über die Klassen ein \textbf{K}, so dass alle fettgedruckten Begriffe gekennzeichnet sind. + Kennzeichne mit einem Pfeil, zu welcher Klasse die Objekte jeweils gehören. +\item Vervollständige das Klassendiagramm, aber nur mit den oben stehenden Angaben. + Bezeichne die zwei Beziehungen und trage die Kardinalitäten ein. +\end{enumerate} + +\iflehrer{}{ +\begin{tikzpicture} +\node[draw, minimum height=1.5cm, minimum width=4cm] (s) {}; +\node[right=7cm of s, draw, minimum height=1.5cm, minimum width=4cm] (l) {}; +\node[below=1.5cm of s, xshift=5.5cm, draw, minimum height=1.5cm, minimum width=4cm] (h) {}; +\draw (s) -- (h); +\draw (h) -- (l); +\end{tikzpicture}} +\end{Aufg} + +\begin{Lsg} +\begin{enumerate}[a)] +\item +\BE{1} auf Objekte, \BE{1} auf Klassen, \BE{1} auf die Pfeile + +\item \BE{3} auf richtige Klassen und \BE{6} fuer die beiden Beziehungen \\ +\begin{tikzpicture} +\node[draw, minimum height=1.5cm, minimum width=4cm] (s) {Schueelr}; +\node[right=7cm of s, draw, minimum height=1.5cm, minimum width=4cm] (l) {Lehrkraft}; +\node[below=1.5cm of s, xshift=5.5cm, draw, minimum height=1.5cm, minimum width=4cm] (h) {Haus}; +\draw (s) -- (h) node[midway] {m gehoert an > n}; +\draw (h) -- (l) node[midway] {1 < leitet 0..1}; +\end{tikzpicture} +\end{enumerate} +\end{Lsg} diff --git a/Info/10/1/Aufgaben/modellierung_hoghwarts.tex b/Info/10/1/Aufgaben/modellierung_hoghwarts.tex new file mode 100644 index 00000000..af0155da --- /dev/null +++ b/Info/10/1/Aufgaben/modellierung_hoghwarts.tex @@ -0,0 +1,44 @@ +\begin{Aufg}[Modellierung] +Die Internatsverwaltung möchte die Schüler nun für verschiedene Dienste einteilen, z.B. für Küchenarbeiten, Gartenarbeiten, etc. +Ein Dienst nimmt einen Schüler jeweils vollständig in Anspruch. +Dazu legt die Verwaltung in einer Datenbank die Tabellen \textit{„Schüler“} und \textit{„Dienst“} an. +Ergänze die Beziehung und ihre Kardinalität, alle nötigen und sinnvollen Attribute (mindestens drei Attribute), und kennzeichne Fremd und Primärschlüssel wie üblich. \\[0.3cm] + +\begin{tikzpicture} +\begin{class}[text width=4cm]{Schüler}{0,0} +\attribute{\phantom{Mitglieds-Nr}} +\attribute{\phantom{Name}} +\attribute{\phantom{Vorname}} +\attribute{\phantom{Dienst}} +\end{class} + +\begin{class}[text width=4cm]{Dienst}{11,0} +\attribute{\phantom{Name}} +\attribute{\phantom{Ort}} +\attribute{\phantom{Zeit}} +\end{class} +\end{tikzpicture} +\end{Aufg} + +\begin{Lsg} +\begin{tikzpicture} +\begin{class}[text width=4cm]{Schüler}{0,0} +\attribute{\underline{Schüler-Nr}} +\attribute{Name} +\attribute{Vorname} +\attribute{\dashuline{Dienst}} +\end{class} + +\begin{class}[text width=4cm]{Dienst}{11,0} +\attribute{\underline{Name}} +\attribute{Ort} +\attribute{Zeit} +\end{class} +\association{Schüler}{m}{eingeteilt fuer > }{Dienst}{< Wird erledigt von}{1} +\end{tikzpicture} +Pro Klasse: 1 BE auf Attribute, 1 BE auf eindeutigen Primärschlüssel => \BE{4} insgesamt +\BE{2} auf die Kardinalität, +\BE{1} für Beziehungslinie, Bezeichnung und Leserichtung +\BE{2} auf Fremdschlüssel an richtiger Position (auf n-Seite) +Als Primärschlüssel bei Dienst ist auch Tätigkeit möglich, oder Tätigkeit und Ort +\end{Lsg} diff --git a/Info/10/1/Aufgaben/tabellenschema_sportverein_n_m.tex b/Info/10/1/Aufgaben/tabellenschema_sportverein_n_m.tex new file mode 100644 index 00000000..b8731082 --- /dev/null +++ b/Info/10/1/Aufgaben/tabellenschema_sportverein_n_m.tex @@ -0,0 +1,44 @@ +\begin{Aufg}[Tabellenschema] +In einem Sportverein soll nach folgendem Klassendiagramm eine relationale Datenbank erstellt werden: \\[0.1cm] + +\begin{tikzpicture} +\begin{class}[text width=3cm]{Mitglied}{0,0} +\attribute{Mitglieds-Nr} +\attribute{Name} +\attribute{Vorname} +\end{class} + +\begin{class}[text width=3cm]{Sportart}{12,0} +\attribute{Name} +\attribute{Ort} +\attribute{Zeit} +\end{class} +\association{Mitglied}{m}{betreibt > }{Sportart}{< Wird betrieben von}{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 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{Mitglied[\underline{MitgliedsNr: Zahl}, Name: Text, Vorname: Text]} \\ + \texttt{Sportart[\underline{Name: Text}, Ort: Text, Zeit: Datum]} \\ + \texttt{betreibt[\underline{\mydash{Mitglied: Zahl}, \mydash{Sportart: Text}}]} \\[0.3cm] + Zeit 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/23_24/11/20/10B/Aufgaben/joins_bayern.tex b/Info/23_24/11/20/10B/Aufgaben/joins_bayern.tex new file mode 120000 index 00000000..098053d5 --- /dev/null +++ b/Info/23_24/11/20/10B/Aufgaben/joins_bayern.tex @@ -0,0 +1 @@ +../../../../../10/1/Aufgaben/joins_bayern.tex
\ No newline at end of file diff --git a/Info/23_24/11/20/10B/Aufgaben/klassendiagramm_hoghwarts.tex b/Info/23_24/11/20/10B/Aufgaben/klassendiagramm_hoghwarts.tex new file mode 120000 index 00000000..25a0d613 --- /dev/null +++ b/Info/23_24/11/20/10B/Aufgaben/klassendiagramm_hoghwarts.tex @@ -0,0 +1 @@ +../../../../../10/1/Aufgaben/klassendiagramm_hoghwarts.tex
\ No newline at end of file diff --git a/Info/23_24/11/20/10B/Aufgaben/modellierung_hoghwarts.tex b/Info/23_24/11/20/10B/Aufgaben/modellierung_hoghwarts.tex new file mode 120000 index 00000000..028d8fce --- /dev/null +++ b/Info/23_24/11/20/10B/Aufgaben/modellierung_hoghwarts.tex @@ -0,0 +1 @@ +../../../../../10/1/Aufgaben/modellierung_hoghwarts.tex
\ No newline at end of file diff --git a/Info/23_24/11/20/10B/Aufgaben/tabellenschema_sportverein_n_m.tex b/Info/23_24/11/20/10B/Aufgaben/tabellenschema_sportverein_n_m.tex new file mode 120000 index 00000000..5815ca8f --- /dev/null +++ b/Info/23_24/11/20/10B/Aufgaben/tabellenschema_sportverein_n_m.tex @@ -0,0 +1 @@ +../../../../../10/1/Aufgaben/tabellenschema_sportverein_n_m.tex
\ No newline at end of file diff --git a/Info/23_24/11/20/10B/_test.tex b/Info/23_24/11/20/10B/_test.tex new file mode 100644 index 00000000..770aa8b7 --- /dev/null +++ b/Info/23_24/11/20/10B/_test.tex @@ -0,0 +1,28 @@ +% \newcommand{\dashnode}[1]{\node[inner sep=1pt,outer sep=0pt] (todotted) {#1}; \draw[dashed] ([yshift=-2pt]todotted.south west) -- ([yshift=-2pt]todotted.south east); } +% \newcommand{\mydash}[1]{\tikz[baseline=(todotted.base)]{ \dashnode{#1} }} +\newcommand{\mydash}[1]{\dashuline{#1}} +\renewcommand{\Datum}{20.11.2023} +\renewcommand{\Klasse}{10B} +\renewcommand{\Fach}{Informatik} +\renewcommand{\TestArt}{Kurzarbeit} +\begin{document} +\Intro + +\input{Aufgaben/klassendiagramm_hoghwarts.tex} + +\iflehrer{}{\newpage} +\input{Aufgaben/modellierung_hoghwarts.tex} + +\input{Aufgaben/tabellenschema_sportverein_n_m.tex} +\fancyfoot[RO]{Bitte umblättern!} +\begin{Bearbeitung} +\vspace{20cm} +\end{Bearbeitung} + +\iflehrer{}{\newpage} +\input{Aufgaben/joins_bayern.tex} + +%%%Hier die Darstellung am Ende +%%Falls es das ganze auf eine andere Seite Schiebt und man alles komprimieren will +%\newcommand{\PlatzKnapp}{} +\end{document} diff --git a/Info/23_24/11/20/10B/test_lehrer.tex b/Info/23_24/11/20/10B/test_lehrer.tex new file mode 100644 index 00000000..094f5adf --- /dev/null +++ b/Info/23_24/11/20/10B/test_lehrer.tex @@ -0,0 +1,7 @@ +\documentclass[ +lehrerversion, +erwartungshorizont, +sigfooter, +]{test} + +\input{_test} diff --git a/Info/23_24/11/20/10B/test_schueler.tex b/Info/23_24/11/20/10B/test_schueler.tex new file mode 100644 index 00000000..12415c38 --- /dev/null +++ b/Info/23_24/11/20/10B/test_schueler.tex @@ -0,0 +1,7 @@ +\documentclass[ +sigfooter, +drawborder, +twoside, +]{test} + +\input{_test} diff --git a/latex/common_packages.tex b/latex/common_packages.tex index 13a71a5c..5d52e64c 100644 --- a/latex/common_packages.tex +++ b/latex/common_packages.tex @@ -17,6 +17,7 @@ \RequirePackage[ngerman]{babel} \RequirePackage{setspace} \RequirePackage{lua-ul} +\RequirePackage{ulem} \RequirePackage{array} \RequirePackage{tabularx} \RequirePackage{multicol} |
