diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2023-09-16 16:48:58 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2023-09-16 16:48:58 +0200 |
| commit | d78837c4692fc421ba6e72262d7965972f0e1e2a (patch) | |
| tree | 29653f5a2cb60f2ffbbf8723ab3b6a9ca500100c | |
| parent | 0f0e3e69917e8aabc175841d4b850047f9c2354b (diff) | |
| download | unterricht-d78837c4692fc421ba6e72262d7965972f0e1e2a.tar.gz unterricht-d78837c4692fc421ba6e72262d7965972f0e1e2a.zip | |
add intro/modeling/sql repetition lesson
| -rw-r--r-- | Info/10/1/Intro/img/bwinf_bw_qrcode.png | bin | 0 -> 2691 bytes | |||
| -rw-r--r-- | Info/10/1/Intro/img/bwinf_bw_qrcode_a.png | bin | 0 -> 2677 bytes | |||
| -rw-r--r-- | Info/10/1/Intro/slides.md | 219 |
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 Binary files differnew file mode 100644 index 00000000..51216f9f --- /dev/null +++ b/Info/10/1/Intro/img/bwinf_bw_qrcode.png diff --git a/Info/10/1/Intro/img/bwinf_bw_qrcode_a.png b/Info/10/1/Intro/img/bwinf_bw_qrcode_a.png Binary files differnew file mode 100644 index 00000000..9b2a67f5 --- /dev/null +++ b/Info/10/1/Intro/img/bwinf_bw_qrcode_a.png 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 { 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%} +{ 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` |
