--- author: Florian Fischer theme: metropolis aspectratio: 169 header-includes: | \usetikzlibrary{calc} \usetikzlibrary{positioning} \usetikzlibrary{tikzmark} \usetikzlibrary{fit} \usetikzlibrary{decorations.pathreplacing,angles,quotes} \let\tightlist\relax --- ## {.standout} \begin{center} \Huge Willkommen in der 10. Klasse \end{center} ## 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 hast du dich über Computern / Informatik schon immer gefragt? ## Lernplattform Umfrage \large **[https://lernplattform.bycs.de](https://lernplattform.bycs.de)** \vspace{1cm} ![](img/mootimeter.png) ## Organisatorisches - VORSCHLAG **Name**: Herr Fischer ### Material * Tablet, (Papier, Order/Schnellhefter) * [Buch (falls angekündigt)] ### \faIcon{pencil-alt} Noten pro Halbjahr * 1 Kurzarbeit * (angekündigter kleiner Leistungsnachweis) ### \faIcon{comment} Noten * Unterrichtsbeiträge (aus $\approx$ 3 Beobachtungen) * (Schriftliche Abfragen) ## Organisatorisches - Arbeitsauftrag **5 min** - \faIcon{pencil-alt} Notiere deine Gedanken zu den folgenden Punkten: * Das sind meine Ziele für den Informatik-Unterricht * Das muss ich dafür machen? * \only<1>{So sollte der Unterricht gestaltet sein?}\only<2->{\boldred{So sollte der Unterricht gestaltet sein?}} * \only<1>{Das wünsche ich mir von Herr Fischer?}\only<2->{\boldred{Das wünsche ich mir von Herr Fischer?}} \pause **5min** - \faIcon{hands-helping} Tauscht euch über die letzten beiden Punkte aus \pause \faIcon{chalkboard} Sammelt eure Vorstellungen für einen gelungenen Informatik-Unterricht ## Pixelflut 25/26 ::: {.columns align=center} :::: {.column width=50%} \vspace{0.2cm} ![](https://i.redd.it/agcbmqgjn14z.png){.center} :::: :::: {.column width=50%} * Pro Doppelstunde 0-3 Pixel anmalen * 1014 Pixel insgesamt :::: ::: ## {.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 } :::: ::: ## 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. Jahrhunderts > > \- 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. ## \faIcon{chalkboard} Wiederholung - Modellierung: Objekte und Klassen ### Was war nochmal? > - Klasse > - Objekt > - Attribut > - Attributwert > - Methode ## Wiederholung - Modellierung: UML ### \faIcon{pencil-alt} Arbeitsauftrag 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. ## \faIcon{chalkboard} Wiederholung - Modellierung: Tabellen und ihr Schema ### Von der Klasse zur Tabelle \begin{itemize} \item<1-> Attribute -> \only<2->{Spaltenüberschriften} \item<3-> Objekt -> \only<4->{ein Datensatz / Zeile der Tabelle} \end{itemize} \pause \pause \pause \pause ### Was waren nochmal? \begin{itemize} \item<5-> Primärschlüssel -> \only<6->{Besondere Attribute} \item<7-> Datentypen \end{itemize} ## Wiederholung - Datentypen ::: {.columns} :::: {.column width=50%} ### \faIcon{desktop} Lernplattform Quiz ![](img/mebis.png){.center height=40%} :::: :::: {.column width=50%} \pause ### \faIcon{chalkboard} Zusammenfassung - Ganze Zahlen \pause `INTEGER`{.SQL} \pause - Zeichenketten \pause `VARCHAR`{.SQL} / `TEXT` \pause - Gleitkommazahlen \pause `FLOAT`{.SQL} \pause - Datum \pause `DATE`{.SQL} \pause - ... :::: ::: ## \faIcon{chalkboard} Wiederholung - Schema{.fragile} Schema: \pause Struktur einer Tabelle ### Beispiel \vspace{1cm} \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<3->{ \node[above=of tn] (tnL) {Tabellenname}; } \draw[<-] ($(tn.north) + (0, 5pt)$) -- (tnL); \only<4>{ \node[below=of pk] (pkL) {}; } \only<4->{ \draw[<-] ($(pk) - (0, 15pt)$) -- (pkL); } \only<5->{ \node[below=of pk] (pkL) {Primärschlüssel}; } \only<6>{ \node[above=of dt] (dtL) {}; } \only<6->{ \draw[<-] ($(dt.north) + (0, 5pt)$) -- (dtL); } \only<7->{ \node[above=of dt] (dtL) {Datentyp}; } \only<8>{ \node[below=of a] (aL) {}; } \only<8->{ \draw[<-] ($(a.south) - (0, 10pt)$) -- (aL); \draw[decoration={brace,mirror,raise=5pt},decorate] (pic cs:pkStart) -- (pic cs:end); } \only<9->{ \node[below=of a] (aL) {Attribute}; } \end{tikzpicture} \end{center} \vspace{2cm} \pause \pause \pause \pause \pause \pause \pause \pause \vspace{-0.5cm} ### Allgemein \vspace{-0.5cm} \begin{center} \begin{tikzpicture} \node at (0, -3) {\texttt{Tabellenname(\underline{[Primärschlüsselattribut]+}; Attributname: Datentyp; ...)}}; \end{tikzpicture} \end{center} ## \faIcon{pencil-alt} Arbeitsauftrag - 5 min Erstelle ein Datenbankschema passend zu deiner Klasse *Person*. ## \faIcon{chalkboard} Wiederholung SQL ### SQL (**S**truktured **Q**uery **L**anguage) Weitverbreitete Abfragesprache für die auf eine Anfrage eine neue Tabelle als Antwort liefert. \pause ### Wichtige Bestandteile einer Anfrage - `SELECT`{.SQL} \pause - Spaltenliste der Antworttabelle \pause - `FROM`{.SQL} \pause - Abgefragte Tabelle \pause - `WHERE`{.SQL} \pause - Bedingung die Datensätze der Antwort erfüllen müssen ## \faIcon{chalkboard} 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); ``` ## \faIcon{desktop} Arbeitsauftrag Ö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. 1. Finde den Vornamen aller Männer 2. Finde die Vornamen aller Männer und filtere Duplikate aus (`DISTINCT`{.SQL}) 3. Finde den Wohnort aller Personen mit einem Jahreseinkommen über 100000 4. Löse die Aufgaben unter `Kurse > Übungen 1`