Andi's Uni-Blog

Aktualisiert: 2010.06.14, 10:45 |  login | 
Dienstag, 14. April 2009

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:

Zuerst werde ich meine Kunden in den einzelnen Regionen zählen. Das verschafft mir einen Überblick wo sich die Mehrheit meiner Kunden befindet.

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:

Mit Hilfe der zweiten Abfrage sieht man wo der meißte Umsatz erziehlt wurde. Eine große Anzahl an Kunden bedeutet nämlich nicht gleichzeitig einen hohen Umsatz.

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

Grafik Umsatz

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.

In unserer Datenbank sind insgesamt 4035 Bücher gelistet.

SELECT COUNT(Buch.Nr) AS Buchbestand FROM Buch

4.Abfrage:

Zudem befinden sich 22 Verlage in unserer Datenbank.

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:

Die Anzahl der Bücher sowie die Umsätze sieht man hier:

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.

Beispielsweise möchte ich jetzt wissen welche Verlage mehr als 100 Bücher anbieten und einen Umsatz von mehr als einer Million hat:

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.

Beispielsweise möchte ich nun meine Suche auf das Jahr 2000 und den 7. Monat einschränken:

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.

Teuerstes Buch:

SELECT MAX(Buch.Preis) AS 'teuerstes Buch' FROM Verlag, Buch WHERE Verlag.Kurzbezeichnung=Buch.Verlag GROUP BY 'teruerstes Buch'

Billigstes Buch:

SELECT MIN(Buch.Preis) AS 'billigstes Buch' FROM Verlag, Buch WHERE Verlag.Kurzbezeichnung=Buch.Verlag GROUP BY 'billigstes Buch'

Durchschnittlicher Buchpreis:

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.

... permalink  ... comment


To prevent spam abuse referrers and backlinks are displayed using client-side JavaScript code. Thus, you should enable the option to execute JavaScript code in your browser. Otherwise you will only see this information.

Menu
Suche
 
Aktuelle Kommentare

xml version of this page

made with antville
nach oben |  startseite |  kategorien |