0%

Präzise Fragen stellen · Abschlussprojekt

Abschlussprojekt: Projekt: Eine Auswahl für den Verleih erstellen

Der Verleihtresen braucht eine Auswahl aus zwei Gegenständen für eine Präsentation der Gemeinschaft. Veranstaltungsausrüstung und Elektronik kommen infrage, aber alles mit einer üblichen Leihdauer über vierzehn Tagen soll ausgeschlossen bleiben. Wer den Bericht liest, möchte klare Überschriften und die flexibelsten Optionen zuerst sehen.

Öffne die neue Datei shortlist.sql. Sie beginnt mit einer breit gefassten Abfrage mit drei Spalten:

SELECT asset_tag, name, loan_days
FROM items;

Ersetze sie durch eine vollständige Abfrage, die diese Anforderungen erfüllt:

  • Gib drei Spalten mit den Überschriften tag, item und days in dieser Reihenfolge zurück.

  • Behalte Veranstaltungs- oder Elektronikgegenstände und wende loan_days <= 14 auf beide Kategorien an.

  • Stelle größere Leihdauern zuerst dar, dann Namen alphabetisch, dann IDs von klein nach groß.

  • Behalte höchstens zwei Zeilen.

Du hast jeden Teil dieser Frage bereits in search.sql verwendet, aber diese Datei gibt die Antwort nicht Klausel für Klausel vor. Beginne mit der Ergebnisform: Wähle die drei gespeicherten Spalten aus und gib ihnen die verlangten Überschriften. Formuliere dann den Zeilenfilter in Alltagssprache, bevor du seine zwei alternativen Kategorien und ihre gemeinsame Zeitregel in SQL übersetzt.

Sobald die Treffer stimmen, lege ihre Reihenfolge vollständig fest. Die Tage entscheiden zuerst, Namen lösen gleiche Tage auf, und IDs lösen wiederholte Namen auf. Setze das Limit zuletzt, damit es Zeilen aus dieser bewusst gewählten Reihenfolge behält.

Lass die Anforderungen während der Arbeit neben deinem Editor stehen. Jeder Punkt sollte eine sichtbare Stelle in der Anweisung haben: Ergebnisüberschriften hinter SELECT, Zulassungsregeln hinter WHERE, Prioritäten hinter ORDER BY und die Höchstzahl hinter LIMIT.

Klicke auf Run und finde den neuen Abschnitt hinter den früheren Übungsdateien:

== shortlist.sql ==
Columns: tag | item | days
EV-205 | Projector screen | 14
EV-101 | Folding table | 7

Der tragbare Lautsprecher mit zwanzigeinhalb Tagen gehört zur Elektronik, liegt aber über dem Limit. Der Projektor passt mit zweieinhalb Tagen, aber nur die ersten zwei Zeilen überstehen die vollständig festgelegte Sortierung.

Submit probiert Kataloge mit gleichen Leihdauern, wiederholten Namen, spät eingefügten starken Treffern, irrelevanten Werkzeugen und ohne passende Gegenstände aus. Ein Ergebnis ohne Zeilen soll weiterhin eine erfolgreiche Abfrage mit denselben drei Überschriften bleiben.

Wenn dein Ergebnis fast stimmt, vergleiche jeweils einen Teil der Anforderungen: Überschriften, zugelassene Zeilen, ihre genaue Reihenfolge und dann die beibehaltene Anzahl. So wird aus einer kleinen Abweichung keine Neufassung der ganzen Anweisung.

Du hast eine echte Verleihanfrage in eine gezielte, lesbare und vorhersehbare Antwort verwandelt.

Aufgabe

Erstelle shortlist.sql anhand der obigen Verleihanforderungen. Gib tag, item und days für passende Veranstaltungs- oder Elektronikgegenstände zurück, lege die Reihenfolge vollständig fest und behalte höchstens zwei Zeilen.

Führe den Bericht aus, vergleiche jeden Teil mit den Anforderungen und reiche ihn ein.