Projekt:2021/InstaHub: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Kasten|[[#Tabellen verknüpfen|'''Zur aktuellen Aufgabe springen''']]|class=text-center}}
== Projekt InstaHub ==
== Projekt InstaHub ==


Zeile 193: Zeile 195:
</pre>
</pre>


Erstelle dann folgende Abfragen:
Erstelle dann folgende Abfragen mit Hilfe von <code>UNION</code>:


# Alle created_at und updated_at Felder aus den Tabellen photos, comments und likes, sortiert nach created_at.
# Alle created_at und updated_at Felder (auch doppelte) aus den Tabellen photos, comments und likes, sortiert nach created_at.
# Alle  
# Alle Städtenamen, die mit "W" oder "R" beginnen.
{{Aufgabe:End}}
{{Aufgabe:End}}
<!--
=== Verschachtelte Abfragen ===
{{Aufgabe:Start}}
Hinter dem <code>FROM</code> Befehl haben wir bisher immer den Namen einer Tabelle geschrieben. SQL sucht in der Datenbank nach einer passenden Tabelle und durchsucht dessen Einträge nach den passenden Datensätzen. Im Allgemeinen erwartet SQL hinter <code>FROM</code> also eine Tabelle. Diese kann auch dynamisch mit einer weiteren Abfrage erstellt werden.
<pre>
SELECT * FROM (
  SELECT id,username,name
  FROM users
  WHERE created_at > "2017-09-22"
)
WHERE LENGTH(username) = 5
</pre>
{{Aufgabe:End}}
-->


=== Fallunterscheidungen ===
=== Fallunterscheidungen ===
Zeile 221: Zeile 240:
{{Aufgabe:End}}
{{Aufgabe:End}}


=== User-Targeting ===
=== Werbung ===


{{Aufgabe:Start}}
{{Aufgabe:Start}}
Ü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?
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.


Entwirf dann eine SQL-Abfrage, die so genau es geht auf die Zielgruppe zugeschnitten ist. Teste die Abfrage in InstaHub.
Ü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:End}}


{{Aufgabe:Start}}
{{Aufgabe:Start}}
Erstellte ein neues Werbebanner in InstaHub.
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]]
[[Datei:InstaHub NewAd.png|center|400px]]
{{Aufgabe:End}}
{{Aufgabe:End}}


=== Datenauswertung ===
{{Aufgabe:Start}}
Bearbeite den [https://lernpfad.ch/pfad/0osdqmncydgc Lernpfad SQL: Datenauswertung].
{{Aufgabe:End}}
=== Datenmanipulation ===
Abfragesprachen wie SQL arbeiten nach dem [[wikipedia:CRUD|CRUD]]-Prinzip: '''C'''reate, '''R'''etrieve, '''U'''pdate, '''D'''elete
Bisher haben wir uns nur mit dem '''R''' befasst und Daten aus der Datenbank abgefragt. Die drei anderen Teile des Akronyms sind in SQL zum Glück weniger komplex.
{{Aufgabe:Start}}
Bearbeite den [https://lernpfad.ch/pfad/43folj7iwnkc Lernpfad SQL:  INSERT, DELETE und UPDATE].
{{Aufgabe:End}}
=== Tabellen verknüpfen ===
{{Aufgabe:Start}}
Bearbeite den [https://lernpfad.ch/pfad/emmr5jvq0bgu Lernpfad SQL:  Tabellen verknüpfen].
{{Aufgabe:End}}
=== SQL-Island ===
{{Aufgabe:Start}}
Begib dich auf die [[SQL-Island]].
{{Aufgabe:End}}
<!--
=== Datenbanken modellieren ===
=== Datenbanken modellieren ===


Zeile 243: Zeile 308:
Bei SQL werden Abfragen mit einem Semikolon beendet. Für einzelne Abfragen kann das Schlusszeichen allerdings weggelassen werden. Möächte man allerdings mehrere Abfragen hintereinander ausführen, dann wird das Semikolon wichtig.
Bei SQL werden Abfragen mit einem Semikolon beendet. Für einzelne Abfragen kann das Schlusszeichen allerdings weggelassen werden. Möächte man allerdings mehrere Abfragen hintereinander ausführen, dann wird das Semikolon wichtig.
{{Info:End}}
{{Info:End}}
-->


[[Kategorie:Projekte:2021/22]]
[[Kategorie:Projekte:2021/22]]
8.581

Bearbeitungen

Navigationsmenü