aboutsummaryrefslogtreecommitdiff
path: root/Info/10/1
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2023-09-16 16:48:58 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2023-09-16 16:48:58 +0200
commitd78837c4692fc421ba6e72262d7965972f0e1e2a (patch)
tree29653f5a2cb60f2ffbbf8723ab3b6a9ca500100c /Info/10/1
parent0f0e3e69917e8aabc175841d4b850047f9c2354b (diff)
downloadunterricht-d78837c4692fc421ba6e72262d7965972f0e1e2a.tar.gz
unterricht-d78837c4692fc421ba6e72262d7965972f0e1e2a.zip
add intro/modeling/sql repetition lesson
Diffstat (limited to 'Info/10/1')
-rw-r--r--Info/10/1/Intro/img/bwinf_bw_qrcode.pngbin0 -> 2691 bytes
-rw-r--r--Info/10/1/Intro/img/bwinf_bw_qrcode_a.pngbin0 -> 2677 bytes
-rw-r--r--Info/10/1/Intro/slides.md219
3 files changed, 219 insertions, 0 deletions
diff --git a/Info/10/1/Intro/img/bwinf_bw_qrcode.png b/Info/10/1/Intro/img/bwinf_bw_qrcode.png
new file mode 100644
index 00000000..51216f9f
--- /dev/null
+++ b/Info/10/1/Intro/img/bwinf_bw_qrcode.png
Binary files differ
diff --git a/Info/10/1/Intro/img/bwinf_bw_qrcode_a.png b/Info/10/1/Intro/img/bwinf_bw_qrcode_a.png
new file mode 100644
index 00000000..9b2a67f5
--- /dev/null
+++ b/Info/10/1/Intro/img/bwinf_bw_qrcode_a.png
Binary files differ
diff --git a/Info/10/1/Intro/slides.md b/Info/10/1/Intro/slides.md
new file mode 100644
index 00000000..5702b46d
--- /dev/null
+++ b/Info/10/1/Intro/slides.md
@@ -0,0 +1,219 @@
+---
+author: Florian Fischer
+theme: metropolis
+aspectratio: 169
+header-includes: |
+ \usepackage{tikz}
+ \usetikzlibrary{calc}
+ \usetikzlibrary{positioning}
+ \usetikzlibrary{tikzmark}
+ \usetikzlibrary{fit}
+ \usetikzlibrary{decorations.pathreplacing,angles,quotes}
+ \usepackage{fontawesome5}
+ \let\tightlist\relax
+ \makeatletter
+ \beamer@ignorenonframefalse
+ \makeatother
+---
+
+
+## Organisatorisches
+
+### Name
+
+Herr Fischer
+\pause
+
+### Material
+
+* Papier Ordner, Schnellhefter
+* Buch (Mitbringen, wenn angekündigt)
+\pause
+
+### Noten pro Halbjahr
+
+* 1 Kurzarbeit
+* >= 1 Stehgreifaufgabe
+* Unterrichtsbeiträge
+* (Abfragen)
+
+## {.standout}
+
+\begin{center}
+\Huge Fragen?
+\end{center}
+
+## Wettbewerbe Informatik
+
+### Jugendwettbewerb \hfill ![](logos/bwinf_bw.png){ width=2cm }
+
+\vspace{1cm}
+
+::: columns
+:::: {.column width=55%}
+* Wer: Alle Schüler*innen
+* Webseite: [**bwinf.de/bundeswettbewerb**](https://bwinf.de/bundeswettbewerb)
+
+
+* Einsendeschluss: Zweite Novemberhälfte
+* Anmeldung: [**login.bwinf.de**](https://login.bwinf.de)
+::::
+
+:::: {.column width=45%}
+![](img/bwinf_bw_qrcode_a.png){ width=4cm }
+::::
+:::
+
+## Vorstellung
+
+Suche Dir eine oder mehrere Fragen aus.
+Stelle Dich kurz vor indem du deinen Namen nennst und die Frage[n] beantwortest.
+
+* Welche digitalen Geräte benutzt du im Alltag?
+* Wie viel Zeit verbringst du täglich mit digitalen Medien?
+* Was wünscht du Dir vom Informatikunterricht?
+* Was hast du dich über Computern / Informatik schon immer gefragt?
+
+## Grober Farplan
+
+* Bis Weihnachten: **Datenbanken** `{ \Large \faIcon{database} }`{=latex}
+* Fast das restliche Schuljahr: **Objektorientierte Modellierung und Programmierung** `{ \Large \faIcon{java} }`{=latex}
+* Zum Abschluss: **Projekt** `{ \Large \faIcon{rainbow} }`{=latex}
+
+## Daten Daten Daten {.standout}
+
+Daten sind das Öl des 21. Jahrhundert
+- Gefühlt jeder zweite Politiker
+
+##
+
+Stell Dir vor du bist Teil einer Organisation die warum auch immer an Personendaten interessiert ist.
+
+Du verwaltest diese Informationen als Datenbankadmin.
+
+## Wiederholung - Modellierung: Objekte und Klassen
+
+### Was war nochmal?
+
+> - Klasse
+> - Objekt
+> - Attribut
+> - Attributwert
+> - Methode
+
+## Wiederholung - Modellierung: UML
+
+### Arbeitsauftrag \faIcon{pencil-alt}
+
+Zeichne eine Klassenkarte für die Klasse `Person`, mit mindestens fünf sinnvollen Attributen.
+
+Zeichne eine Objektkarte, die dich als Objekt deiner Klasse `Person` darstellt.
+
+## Wiederholung - Modellierung: Tabellen und ihr Schema
+
+### Von der Klasse zur Tabelle
+
+> - Attribute -> \pause Spaltenüberschriften
+> - Objekt -> \pause ein Datensatz / Zeile der Tabelle
+
+### Was waren nochmal?
+
+> - Datentypen
+> - Primärschlüssel
+
+## Wiederholung - Schema{.fragile}
+
+### Beispiel
+\vspace{2cm}
+
+\begin{center}
+\begin{tikzpicture}[overlay, remember picture]
+\node {\texttt{\pgfmark{start}Person\pgfmark{nameEnd}(\pgfmark{pkStart}\underline{Nr}\pgfmark{pkEnd}: \pgfmark{dataStart}Integer\pgfmark{dataEnd}; Name: Text Geburtstag: Date; ...\pgfmark{end})}};
+
+
+\node[fit=(pic cs:start) (pic cs:nameEnd)] (tn) {};
+\node[fit=(pic cs:pkStart) (pic cs:pkEnd)] (pk) {};
+\node[fit=(pic cs:dataStart) (pic cs:dataEnd)] (dt) {};
+\node[fit=(pic cs:pkStart) (pic cs:end)] (a) {};
+
+\only<1>{ \node[above=of tn] (tnL) {}; }
+\only<2->{ \node[above=of tn] (tnL) {Tabellenname}; }
+\draw[<-] ($(tn.north) + (0, 5pt)$) -- (tnL);
+
+\only<3>{ \node[below=of pk] (pkL) {}; }
+\only<3->{ \draw[<-] (pk) -- (pkL); }
+\only<4->{ \node[below=of pk] (pkL) {Primärschlüssel}; }
+
+\only<5>{ \node[above=of dt] (dtL) {}; }
+\only<5->{ \draw[<-] ($(dt.north) + (0, 5pt)$) -- (dtL); }
+\only<6->{ \node[above=of dt] (dtL) {Datentyp}; }
+
+\only<7>{ \node[below=of a] (aL) {}; }
+\only<7->{
+ \draw[<-] ($(a.south) - (0, 10pt)$) -- (aL);
+ \draw[decoration={brace,mirror,raise=5pt},decorate]
+ (pic cs:pkStart) -- (pic cs:end);
+}
+\only<8->{ \node[below=of a] (aL) {Attribute}; }
+\end{tikzpicture}
+\end{center}
+
+\vspace{2cm}
+\pause \pause \pause \pause \pause \pause \pause \pause
+
+### Allgemein
+\begin{center}
+\begin{tikzpicture}
+\node at (0, -3) {\texttt{Tabellenname(\underline{[Primärschlüsselattribut]+}; Attributname: Datentyp; ...)}};
+\end{tikzpicture}
+\end{center}
+
+## Arbeitsauftrag \faIcon{pencil-alt}
+
+Zeichne eine Klassenkarte für die Klasse `Person`, mit mindestens fünf sinnvollen Attributen.
+
+Zeichne eine Objektkarte, die dich als Objekt deiner Klasse `Person` darstellt.
+
+## Wiederholung SQL
+### SQL (**S**truktured **Q**uery **L**anguage)
+
+Weitverbreitete Abfragesprache für die auf eine Anfrage eine neue Tabelle als Antwort liefert.
+
+### Wichtige Bestandteile einer Anfrage
+
+> - `SELECT`{.SQL} - Spaltenliste der Antworttabelle
+> - `FROM`{.SQL} - Abgefragte Tabelle
+> - `WHERE`{.SQL} - Bedingung die Datensätze der Antwort erfüllen müssen
+
+
+## Wiederholung SQL
+### Beispiel - Namen aller Personen
+
+```SQL
+SELECT name FROM Person;
+```
+
+\pause
+### Beispiel - Namen aller Frauen
+
+```SQL
+SELECT name FROM Person WHERE geschlecht='w';
+```
+
+\pause
+### Beispiel - Namen aller großen und kleinen Frauen
+
+```SQL
+SELECT name FROM Person WHERE
+ geschlecht='w' AND (groesse < 150 OR groesse > 190);
+```
+
+## Arbeitsauftrag \faIcon{desktop}
+
+Öffne den SQL Trainer unter [https://info-am-gym.de/sqltrainer/](https://info-am-gym.de/sqltrainer/).
+Mach dich zunächst mit dem Tabellenschema der Tabelle `Person` vertraut.
+
+- Finde den Vornamen aller Männer
+- Finde die Vornamen aller Männer und filtere Duplikate aus (`DISTINCT`{.SQL})
+- Finde den Wohnort aller Personen mit einem Jahreseinkommen über 100000
+- Löse die Aufgaben unter `Kurse > Übungen 1`