Projekt:2021/InstaHub2: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 13: Zeile 13:
{{Aufgabe:End}}
{{Aufgabe:End}}


== Lernpfad SQL-Abfragen ==  
== Einführung in SQL ==
=== Lernpfad SQL-Abfragen ===  
{{Aufgabe:Start}}
{{Aufgabe:Start}}
Bearbeite den [https://link.ngb.schule/sql-abfragen Lernpfad SQL-Abfragen]. Erstelle am Ende der Stunde einen Eintrag im Lerntagebuch, um deine Fortschritte zu dokumentieren.
Bearbeite den [https://link.ngb.schule/sql-abfragen Lernpfad SQL-Abfragen]. Erstelle am Ende der Stunde einen Eintrag im Lerntagebuch, um deine Fortschritte zu dokumentieren.
{{Aufgabe:End}}
=== Bedingungen ===
{{Aufgabe:Start}}
Mittels der <code>WHERE</code>-Klausel lassen sich Datensätze gezielt auf bestimmte Bedingungen einschränken. Jedes Datenfeld hat einen festgelegten Datentyp (im Wesentlichen ''Zahl'', ''Text'' und ''Datum''). Je nach Datentyp lassen sich unterschiedliche Bedingungen nutzen. Bedingungen sind entweder <code>TRUE</code> oder <code>FALSE</code>. Bedingungen können mit <code>AND</code> <code>OR</code> verknüpft, oder mit <code>NOT</code> negiert werden.
Lies im [https://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:_WHERE-Klausel_im_Detail Wikibook Einführung in SQL] den Abschnitt [https://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:_WHERE-Klausel_im_Detail WHERE-Klausel im Detail]. Studiere vor allem die Vergleichsoperatoren und die Schlüsselwörter <code>BETWEEN</code>, <code>LIKE</code> und <code>IS NULL</code>.
Entwirf dann Abfragen für folgende Datensätze:
# Alle Kommentare, die zwischen 2018-09-21 07:57:19 und 2018-09-21 09:57:19 erstellt wurden.
# Zehn Photos, deren Beschreibung <code>#sonne</code>, <code>#strand</code> oder <code>#meer</code> enthalten.
# Alle Photos, deren URL <code>animals</code> enthält.
# Alle Photos, deren URL ''nicht'' <code>animals</code> enthält.
# Alle Nutzer, die aus Frankfurt oder Berlin kommen und zwischen 150 und 168 Zentimeter groß sind.
# Alle Nutzer, die keine Größe eingetragen haben.
{{Aufgabe:End}}
{{Aufgabe:Start}}
Eine mächtige Bedingung ist das <code>IN</code> Schlüsselwort. Mit ihm kann ein Wert mit einer ganzen ''Liste'' von Werten verglichen werden. Der Operator prüft also, ob ein Wert in einer Liste vorkommt, oder nicht.
Betrachte beispielsweise folgende Abfragen und vergleiche sie miteinander. Was fragen sie ab und wie ist der <code>IN</code> Befehl aufgebaut?
* <code>SELECT * FROM users WHERE city = "Frankfurt" OR city = "Berlin" OR city = "Leipzig" OR city = "München"</code>
* <code>SELECT * FROM users WHERE city IN ("Frankfurt","Berlin","Leipzig","München")</code>
* <code>SELECT FROM users WHERE city NOT IN ("Frankfurt","Berlin","Leipzig","München")</code>
{{Aufgabe:End}}
{{Aufgabe:End}}



Version vom 1. März 2022, 23:52 Uhr

Seite zum Projekt InstaHub des Informatik GK im Schuljahr 2021/22.

Lerntagebuch

Icon Heft.png
Arbeitsauftrag
  1. Starte das Programm Fork auf dem Rechner und vergleiche die Oberfläche mit dem bekannten GitHub Desktop. Als Hilfe kannst du dir erneut den Lernpfad:Einführung in Git ansehen. Er wurde auf Fork angepasst.
  2. Erstelle in Gitea einen Fork des Git-Repositories IF-GK-2021/lerntagebuch. Klone dann deinen neuen Fork mithilfe des Programms Fork.
  3. Erstelle dann einen ersten Eintrag im Lerntagebuch, indem du die Vorlage _Vorlage.md kopierst und bearbeitest. Bearbeite auch die Datei README.md in deinem Lerntagebuch, um auf deinen ersten Eintrag zu verweisen.
  4. Comitte die Änderungen dann in dein Repository.


Einführung in SQL

Lernpfad SQL-Abfragen

Icon Heft.png
Arbeitsauftrag

Bearbeite den Lernpfad SQL-Abfragen. Erstelle am Ende der Stunde einen Eintrag im Lerntagebuch, um deine Fortschritte zu dokumentieren.


Bedingungen

Icon Heft.png
Arbeitsauftrag

Mittels der WHERE-Klausel lassen sich Datensätze gezielt auf bestimmte Bedingungen einschränken. Jedes Datenfeld hat einen festgelegten Datentyp (im Wesentlichen Zahl, Text und Datum). Je nach Datentyp lassen sich unterschiedliche Bedingungen nutzen. Bedingungen sind entweder TRUE oder FALSE. Bedingungen können mit AND OR verknüpft, oder mit NOT negiert werden.

Lies im Wikibook Einführung in SQL den Abschnitt WHERE-Klausel im Detail. Studiere vor allem die Vergleichsoperatoren und die Schlüsselwörter BETWEEN, LIKE und IS NULL.

Entwirf dann Abfragen für folgende Datensätze:

  1. Alle Kommentare, die zwischen 2018-09-21 07:57:19 und 2018-09-21 09:57:19 erstellt wurden.
  2. Zehn Photos, deren Beschreibung #sonne, #strand oder #meer enthalten.
  3. Alle Photos, deren URL animals enthält.
  4. Alle Photos, deren URL nicht animals enthält.
  5. Alle Nutzer, die aus Frankfurt oder Berlin kommen und zwischen 150 und 168 Zentimeter groß sind.
  6. Alle Nutzer, die keine Größe eingetragen haben.


Icon Heft.png
Arbeitsauftrag

Eine mächtige Bedingung ist das IN Schlüsselwort. Mit ihm kann ein Wert mit einer ganzen Liste von Werten verglichen werden. Der Operator prüft also, ob ein Wert in einer Liste vorkommt, oder nicht.

Betrachte beispielsweise folgende Abfragen und vergleiche sie miteinander. Was fragen sie ab und wie ist der IN Befehl aufgebaut?

  • SELECT * FROM users WHERE city = "Frankfurt" OR city = "Berlin" OR city = "Leipzig" OR city = "München"
  • SELECT * FROM users WHERE city IN ("Frankfurt","Berlin","Leipzig","München")
  • SELECT FROM users WHERE city NOT IN ("Frankfurt","Berlin","Leipzig","München")


Fortgeschrittene Aufgaben

Icon Warning.png

Falls du aus dem letzten Jahr schon die Grundlagen der SQL kennst, dann kannst du dich mit diesen Aufgaben befassen.

Icon Heft.png
Arbeitsauftrag
  1. Gehe die Seiten Einfache SQL-Abfragen und SQL-Abfragen mit einer Tabelle durch, um dein Wissen über SQL-Abfragen aufzufrischen. Befasse dich vor allem noch einmal mit logischen Verknüpfungen und Aggregation von Daten. Eine Überischt der wichtigsten SQL-Befehle findest du hier im Wiki unter Befehlsreferenz SQL oder hier.
  2. Lies dich in den Aufbau der Tabelle ads ein und was ihre Funktion in InstaHub ist. Fange dazu auf der Seite Personalisierte Werbung in der InstaHub Dokumentation an.
  3. Probiere die Beispiele unter https://wi-wissen.github.io/instahub-doc-de/#/exercices?id=tabelle-ads-werbung aus.
  4. Erstelle selber eine Werbeanzeige in InstaHub. Überlege dir eine Zielgruppe für die Anzeige und erstelle dann eine SQL-Abfrage, die diese Zielgruppe möglichst genau trifft.