SQL Schnellstart – Coding-Challenge: Ingenieursbüro Query & Querbau – Teil3
Aufgabe 3 - Vorteile unseres Systems?
Die Auftraggeber des Ingenieursbüros möchten ein praktisches Beispiel haben, was für Vorteile das neue System neben weniger Papierkram mit sich bringt.
Stell dir vor beim Bau des "Firmenhauptquartier"-Projektes gäbe es Problemen bzw. Bauverzögerungen. Wie konnte man davor die Telefonnummer zur Kontaktaufnahme herausfinden? Man musste zunächst die alle Akten durchwühlen, um das Projekt "Firmenhauptquartier" in den Akten zu finden. Dann konnte man den Klienten-Namen bzw. den Namen des Ansprechpartners herausfinden und danach musste man noch mühselig den Klienten in der Klienten-Liste finden und die Telefonnummer von dort ablesen. Dabei kam es häufig zu Missverständnissen, den bestimmte Klienten-Namen wie "Max Müller" kamen doppelt vor. Durch unsere Datenbankimplementierung reichen ein paar Zeilen SQL, um schnell an die Daten zu kommen. Zusätzlich kann es durch unsere Primär- und Fremdschlüssel nicht mehr zu Verwechselungen kommen.
Du könntest deine Auftraggeber also beeindrucken, indem du nicht nur die jeweiligen Klienten-Daten von einem Klienten und einem Projekt verknüpfst, sondern gleich von allen. Das ganze wurde mit wenigen Zeilen SQL gelöst.
Aufgabe:
Gib für alle relevanten Projektdaten zusätzlich alle wichtigen Klienten-Daten der zugehörigen Projekte aus. Das bedeutet deine Ausgabe sollte Folgendes ausgeben:
Projektname|Umsatz|Vorname|Nachname|Telefonnummer|Firmenname. Sortiere das Ergebnis nach dem "Umsatz" absteigend.
[lp_spoiler title="Lösung anzeigen"]
Lösung:
SELECT Umsätze.Projektname, Umsätze.Umsatz,
Klienten.Vorname, Klienten.Nachname, Klienten.Telefonnummer, Klienten.Firmenname
FROM Umsätze
INNER JOIN Klienten ON Klienten.KlientenID = Umsätze.KlientenID
ORDER BY Umsätze.Umsatz DESC;
[/lp_spoiler]
Fazit
Wenn du es bis hierher geschafft hast, dann kannst du wirklich stolz auf dich sein.
Du hast in den letzten Artikeln viel über Datenbanken und SQL gelernt und mit diesem kleinen Projekt vertieft. Das Erlernen ist keineswegs eine Zeitverschwendung gewesen, in vielen Bereichen der Wirtschaft, Verwaltung und natürlich der Informatik werden Datenbanken sowie SQL als selbstverständlich betrachtet.
Wenn du sehr viel Spaß beim Thema Datenbanken hattest, dann gilt es, das Wissen zu vertiefen. Es gibt noch viel mehr zu lernen, egal ob Nutzerverwaltung, SQL-Transaktionen oder NoSQL-Abfragen - man lernt nie aus.