Andi's Uni-Blog |
|||||||||||
Aktualisiert: 2010.06.14, 10:45 | login | | |||||||||||
Dienstag, 14. April 2009
Andreas.Vorderegger.Uni-Linz, , 15:24h
(last modified: 2009.04.19, 16:52) In diesem Beitrag möchte ich meinen Buchhandel etwas genauer analysieren. Mit Hilfe der SQL-Datenbank werde ich einige Abfragen, die mein Unternehmen anschaulicher machen, tätigen.
1. Abfrage:
SELECT COUNT(Kunde.Nr) AS Kundenanzahl, PLZ.Region FROM Kunde, PLZ WHERE Kunde.Plz=PLZ.Plz GROUP BY PLZ.Region ORDER BY Kundenanzahl DESC
2. Abfrage:
SELECT SUM(Buch.Preis*Auftragspos.Menge) AS Umsatz, PLZ.Region FROM PLZ, Kunde, Auftrag, Auftragspos, Buch WHERE PLZ.Plz=Kunde.Plz AND Kunde.Nr=Auftrag.Kundennummer AND Auftrag.Nr=Auftragspos.Auftragsnummer AND Auftragspos.Buchnummer=Buch.Nr GROUP BY PLZ.Region ORDER BY Umsatz DESC Hier lässt sich jetzt gut erkennen in welcher Region der höchste Umsatz erzielt wird. Wien ist zum Beispiel mit 112 Kunden auf der viertletzten Stelle, jedoch beim Umsatz ist Wien an der Spitze.
3. Abfrage: Nun möchte ich mich ein wenig mit den Produkten und den Verlagen meines Buchhandels auseinandersetzen.
SELECT COUNT(Buch.Nr) AS Buchbestand FROM Buch 4.Abfrage:
SELECT COUNT(Verlag.Name) AS Verlagsanzahl From Verlag Die Frage ist nun wie viele Bücher jeder Verlag anbietet und wie hoch die erzielten Umsätze sind. Um dies herauszufinden muss ich eine weitere Abfrage in unserer Datenbank tätigen. 5.Abfrage:
SELECT Verlag.Name, COUNT(Buch.Nr) AS Buchanzahl, SUM(Buch.Nr*Auftragspos.Menge) AS Umsatz From Verlag, Buch, Auftragspos WHERE Verlag.Kurzbezeichnung=Buch.Verlag AND Buch.Nr=Auftragspos.Buchnummer GROUP BY Verlag.Name 6.Abfrage: Mit diesen Daten kann ich nun meine Verlage eingrenzen.
SELECT Verlag.Name, COUNT(Buch.Nr) AS Buchanzahl, SUM(Buch.Nr*Auftragspos.Menge) AS Umsatz From Verlag, Buch, Auftragspos WHERE Verlag.Kurzbezeichnung=Buch.Verlag AND Buch.Nr=Auftragspos.Buchnummer GROUP BY Verlag.Name HAVING Buchanzahl>100 AND Umsatz>1000000 7.Abfrage: Durch diese letzte Abfrage weiß ich wer die 7 stärksten Verlage sind. Jedoch weiß ich nicht wann diese Umsätze erzielt wurden.
SELECT Verlag.Name, COUNT(Buch.Nr) AS Buchanzahl, SUM(Buch.Nr*Auftragspos.Menge) AS Umsatz, Auftrag.Datum From Verlag, Buch, Auftragspos, Auftrag WHERE Verlag.Kurzbezeichnung=Buch.Verlag AND Buch.Nr=Auftragspos.Buchnummer AND Auftragspos.Auftragsnummer=Auftrag.Nr AND YEAR(Auftrag.Datum)>=2000 AND MONTH(Auftrag.Datum)=7 GROUP BY Verlag.Name HAVING Buchanzahl>100 AND Umsatz>1000000 8.-10. Abfrage: Ich weiß dass 4035 Bücher in meinem Sortiment sind. Jetzt möchte ich noch wissen welches das teuerste und welches das billigste Buch ist. Zudem wäre der durschnittliche Buchpreis auch sehr interessant.
SELECT MAX(Buch.Preis) AS 'teuerstes Buch' FROM Verlag, Buch WHERE Verlag.Kurzbezeichnung=Buch.Verlag GROUP BY 'teruerstes Buch'
SELECT MIN(Buch.Preis) AS 'billigstes Buch' FROM Verlag, Buch WHERE Verlag.Kurzbezeichnung=Buch.Verlag GROUP BY 'billigstes Buch'
SELECT AVG(Buch.Preis) AS 'durchschnittlicher Buchpreis' FROM Verlag, Buch WHERE Verlag.Kurzbezeichnung=Buch.Verlag GROUP BY 'durchschnittlicher Buchpreis'
Weitere Vorgehensweise: Mit den gewonnen Daten kann man nun weiterarbeiten und Verbesserungen sowie Umstrukturierungen machen. In den kommenden Beiträgen werde ich hier ansetzen. |
Menu
Suche
Aktuelle Kommentare
|
||||||||||
nach oben | startseite | kategorien | |