From 370168684765919be5da44851060e641fd502dfc Mon Sep 17 00:00:00 2001 From: Jan Klemkow Date: Thu, 22 Nov 2012 09:19:22 +0100 Subject: Add documentation and perl/php code from niels diploma. --- doc/niels-diplom/Dateistruktur/kapv.php | 92 +++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100755 doc/niels-diplom/Dateistruktur/kapv.php (limited to 'doc/niels-diplom/Dateistruktur/kapv.php') diff --git a/doc/niels-diplom/Dateistruktur/kapv.php b/doc/niels-diplom/Dateistruktur/kapv.php new file mode 100755 index 0000000..6c4c0b1 --- /dev/null +++ b/doc/niels-diplom/Dateistruktur/kapv.php @@ -0,0 +1,92 @@ + + + + + + Situationsbeschreibung KAPV (Kunden-Auftrag-Produkt-Verwaltung) + + + + + + + + + + + + + + + + +

+Ein Unternehmen handelt mit verschiedenen Produkten. Die Verwaltung der Kunden, der Aufträge +und der Produkte soll als Client-Server-Datenbank-Applikation realisiert werden. Von den Kunden +werden Stammdaten wie Kundennummer, Name, Vorname, Geburtsdatum, Geschlecht, +Adressdaten wie PLZ, Ort, Straße und Hausnummer, Staat gehalten und müssen immer aktuell sein. +Dabei kann ein Kunde mehrere Adressen haben.

Zu jedem Kunden wird ein firmenspezifisches Profil +unterhalten, das aus mehreren Angaben besteht: bisheriges Auftragsvolumen (aufsummiert), +Zahlungsbilanz mit den Werten ‘+’ oder ‘-‘ und Zahlungsverhalten, Vorlieben, dokumentiert in +Produktkategorien, Frequenz der Bestellungen. Das Zahlungsverhalten hat die Werte: -1, falls noch +Beträge ausstehen, 0, falls mehr als 10 Mahnungen pro Jahr ausgestellt wurden, 1 sonst.
+Produktkategorien sind: Textilien, Handwerksbedarf, Sport (kann erweitert werden). Die Frequenz +der Bestellungen ist die Aufstellung Anzahl_Aufträge pro Jahr. Kunden müssen gegebenenfalls +angeschrieben werden. Bestellungen von Kunden werden nur schriftlich akzeptiert.

+Zu jeder Kundenbestellung wird ein Auftrag angelegt, bestehend aus einer Auftragsnummer, der +Kundennummer, Auftragsdatum, Auftragsbetrag und Auftragsstatus. Der Auftragsstatus hat die +Werte ‘in Arbeit’, ‘ausgeliefert’, ‘bezahlt’. Zu jedem Auftrag gehört eine Liste (Positionen) der +bestellten Produkte.
Diese Liste beinhaltet die Informationen Auftragsnummer, Produktnummer, +bestellte Stückzahl, Preis pro Stück, Betrag . Der Positionenbetrag berechnet sich aus der Stückzahl +mal Preis; der Auftragsbetrag berechnet sich aus der Summe aller Positionenbeträge zu dieser +Auftragsnummer. Zu jedem Kunden wird ein sogenanntes Kundenkonto gehalten. Darin sind alle +Auftragsbeträge mit Bestelldatum und alle eingegangenen Zahlungen zu diesen Aufträgen mit Datum +eingetragen.

Weiterhin sind pro Auftrag die Anzahl von Mahnungen festgehalten. Mahnungenwerden +21 Tage nach Rechnungsdatum ausgestellt. Die Liste der bestellten Produkte wird mit dem +Produktlager verglichen: ist das Produkt in ausreichender Stückzahl vorhanden, wird diese Position +in die Auftrags-Bestell-Liste (Positionen) aufgenommen. Sind nicht genügend viele Produkte +vorhanden, wird dies auf der Rechnung vermerkt. Ist die Bestelliste abgearbeitet und die +Positionsliste komplett, wird das Lager angewiesen, die Produkte zu verpacken. Es wird eine +Rechnung ausgestellt und zusammen mit dem Produktpaket verschickt. Eine Rechnung bezieht sich +immer auf einen Auftrag und einen Kunden und besteht aus Rechnungsdatum, Rechnungsbetrag und +Rechnungsbemerkung. Der Status des Auftrags wird geändert in ‘ausgeliefert’. Nach Eingang der +Zahlung ändert sich der Status in ‘bezahlt’.

+Das Produktlager besteht aus den folgenden Informationen: Produktnummer, Bezeichnung, +Produktionsdatum, Material, Größe, Stückzahl_auf_Lager, Preis. Nach jeder Auftragsauslieferung +muß die Lager-Stückzahl entsprechend verringert werden. Die Liste der Produkte wird immer +wieder aktualisiert. Später soll diese KAPV erweitert werden um ein Lieferantenmodul, das die +Verwaltung der Produkte mit ihren Lieferanten realisiert.

In dem untenstehenden PDFDokument ist die Datenbank noch einmal übersichtlich als Relationenmodell dargestellt. Hier noch einmal eine Übersicht über die Tabellen die Spaltennamen und die Datentypen:
+
    +
  • Tabelle ADRESSEN (ADRESS_ID[number], POSTLEITZAHL[number], ORT[varchar2], STRASSE[varchar2], HAUSNUMMER[varchar2], STAAT[varchar2])
  • +
  • Tabelle AUFTRAG (AUFTRAGSNUMMER[char 10], AUFTRAGSSTATUS[varchar2], AUFTRAGSDATUM[date], KUNDENNUMMER[char 8])
  • +
  • Tabelle AUFTRAG_HAT_POSTIONEN (PRODUKTNUMMER[char 8], STUECKZAHL[number], AUFTRAGSNUMMER[char 10])
  • +
  • Tabelle PRODUKTLAGER (PRODUKTNUMMER[number], STUECKZAHL[number], PREIS[number], BEZEICHNUNG[varchar2], PRODUKTIONSDATUM[date], MATERIAL[varchar2], GROESSE[varchar2])
  • +
  • Tabelle AUFTRAG (AUFTRAGSNUMMER[char 10], AUFTRAGSSTATUS[varchar2], AUFTRAGSDATUM[date], KUNDENNUMMER[char 8])
  • +
  • Tabelle KUNDE_HAT_ADRESSE (ADRESS_ID[number], KUNDENNUMMER[char 8]
  • +
  • Tabelle KUNDE_HAT_VORLIEBEN (KUNDENPROFIL_ID[number], VORLIEBEN_ID[number], ANZAHL[number]
  • +
  • Tabelle KUNDEN (KUNDENNUMMER[char 8], NAME[varchar2], VORNAME[varchar2], GEBURTSDATUM[date], GESCHLECHT[char 1])
  • +
  • Tabelle KUNDE_PROFIL (KUNDENPROFIL_ID[number], KUNDENNUMMER[char 8], AUFTRAGSVOLUMEN[number 10], ZAHLUNGSBILANZ [char 1], ZAHLUNGSVERHALTEN[number]
  • +
  • Tabelle ZU_VORLIEBEN_GEHOEREN_PRODUKTE (PRODUKTNUMMER[char 8], VORLIEBEN_ID[number]
  • +
  • Tabelle VORLIEBEN (VORLIEBEN_KATEGORIE[varchar2], VORLIEBEN_ID[number])
  • +
  • Tabelle RECHNUNGSDATEN (RECHNUNGSNUMMER[char], RECHNUNGSBEMERKUNG[varchar2], AUFTRAGSNUMMER[char 10], ANZAHL_VON_MAHNUNGEN[char 1], RECHNUNGSDATUM[date], EINGEGANGENE_ZAHLUNGEN[number], ZAHLUNGSDATUM[date])
  • +
DATENBANKSCHEMA (Klick zum Anzeigen der PDF-Datei): +
+
+ +

 

+ + + + + + + +

  + + + + \ No newline at end of file -- cgit