Projekt:2023/InstaHub: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 142: Zeile 142:


Führe die Abfrage mehrmals aus und beobachte die Ergebnisse.
Führe die Abfrage mehrmals aus und beobachte die Ergebnisse.
{{Aufgabe:End}}
== Sprinteraufgaben ==
{{Warnung|Bearbeite die folgenden Aufgaben nur, wenn Du mit allen Aufgaben oben schon fertig bist (prüfe vorher, ob noch neue Aufgaben ergänzt wurde, die Du noch machen musst).}}
=== Fallunterscheidungen ===
{{Aufgabe:Start}}
Manchmal möchte man verschiedene Fälle an Werten unterschieden und darauf basierend die zurückgelieferten Werte steuern. Dazu gibt es in SQL die <code>CASE</code> Anweisung.
<pre>
SELECT
  url,
  CASE
    WHEN
      description LIKE '%natur%'
      OR description LIKE '%landschaft%' 
      OR description LIKE '%berg%'
    THEN true
    ELSE false
  END
FROM photos
</pre>
Analysiere die Abfrage und ihre Bestandteile, probiere sie aus und beschriebe mit eigenen Worten, wie <code>CASE</code> funktioniert.
{{Aufgabe:End}}
=== Werbung ===
{{Aufgabe:Start}}
Auf einer Photoseite werden unterhalb der Photos Werbebanner eingeblendet. Welche Werbung gezeigt wird, wird durch eine SQL-Abfrage gesteuert. Die Werbung kann auf einen Nutzer zugeschnitten sein, oder auf das Photo, unter dem sie angezeigt wird.
Überlege dir eine Werbeanzeige, die du in InstaHub schalten möchtest und für welche Zielgruppe diese geeignet ist. Wie könntest du Nutzer der Zielgruppe in InstaHub möglichst genau identifizieren? (Um deine Anzeige später zu testen ist es einfacher, die Werbung anhand des Photos zu schalten.)
Entwirf dann eine SQL-Abfrage, die so genau es geht auf die Zielgruppe zugeschnitten ist. Die Vorgaben für eine Werbe-Abfrage lauten:
<blockquote>
Die Abfrage muss true oder false ergeben. Alternativ kann auch eine Liste zurückgegeben werden, in welcher die Benutzer-ID gesucht wird. $user kann als Platzhalter für den angemeldeten Benutzer und $photo für das aktuelle Photo verwendet werden.
</blockquote>
Teste die Abfrage in InstaHub.
Hinweis: Mit der <code>CASE</code>-Anweisung von oben kannst du zwischen true und false unterscheiden:
<pre>
SELECT
  CASE gender
    WHEN 'female'
      THEN true
    ELSE false
  END
FROM users
WHERE id=$user
</pre>
{{Aufgabe:End}}
{{Aufgabe:Start}}
Erstellte ein neues Werbebanner in InstaHub. Gehe dazu auf den Kiosk oben und Wähle "Kampagnen". Klicke das grüne Plus und gib die relevanten Daten ein. (Name und SQL-Anfrage sind notwendig. Wenn du möchtest, kannst du ein eigenes Bild nutzen. Der Rest kann so bleiben wie er ist.)
[[Datei:InstaHub NewAd.png|center|400px]]
{{Aufgabe:End}}
{{Aufgabe:End}}


[[Kategorie:Projekte:2023/24]]
[[Kategorie:Projekte:2023/24]]