diff options
Diffstat (limited to 'doc/niels-diplom/Dateistruktur/kapv.php')
-rwxr-xr-x | doc/niels-diplom/Dateistruktur/kapv.php | 92 |
1 files changed, 92 insertions, 0 deletions
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 @@ +<? + include("header.php"); +?> + + <a name="start"></a> + + <tr> + <td class="titel">Situationsbeschreibung KAPV (Kunden-Auftrag-Produkt-Verwaltung)</td> + </tr> + <tr> + <td valign="top" class="text"><table> + <tr> + <td valign="center" class="text"><br> +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.<br><br>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.<br> +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.<br><br> +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. <br>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. <br><br>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’.<br><br> +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.<br><br>In dem untenstehenden PDFDokument ist die Datenbank noch einmal übersichtlich als Relationenmodell dargestellt. <b>Hier noch einmal eine Übersicht über die Tabellen die Spaltennamen und die Datentypen:</b></td> + </tr> + <tr> + <td> + <UL> + <LI>Tabelle <b>ADRESSEN</b> (<u>ADRESS_ID[number]</u>, POSTLEITZAHL[number], ORT[varchar2], STRASSE[varchar2], HAUSNUMMER[varchar2], STAAT[varchar2])</LI> + <LI>Tabelle <b>AUFTRAG</b> (<u>AUFTRAGSNUMMER[char 10]</u>, AUFTRAGSSTATUS[varchar2], AUFTRAGSDATUM[date], KUNDENNUMMER[char 8])</LI> + <LI>Tabelle <b>AUFTRAG_HAT_POSTIONEN</b> (PRODUKTNUMMER[char 8], STUECKZAHL[number], AUFTRAGSNUMMER[char 10])</LI> + <LI>Tabelle <b>PRODUKTLAGER</b> (<u>PRODUKTNUMMER[number]</u>, STUECKZAHL[number], PREIS[number], BEZEICHNUNG[varchar2], PRODUKTIONSDATUM[date], MATERIAL[varchar2], GROESSE[varchar2])</LI> + <LI>Tabelle <b>AUFTRAG</b> (<u>AUFTRAGSNUMMER[char 10]</u>, AUFTRAGSSTATUS[varchar2], AUFTRAGSDATUM[date], KUNDENNUMMER[char 8])</LI> + <LI>Tabelle <b>KUNDE_HAT_ADRESSE</b> (ADRESS_ID[number], KUNDENNUMMER[char 8]</LI> + <LI>Tabelle <b>KUNDE_HAT_VORLIEBEN</b> (KUNDENPROFIL_ID[number], VORLIEBEN_ID[number], ANZAHL[number]</LI> + <LI>Tabelle <b>KUNDEN</b> (<u>KUNDENNUMMER[char 8]</u>, NAME[varchar2], VORNAME[varchar2], GEBURTSDATUM[date], GESCHLECHT[char 1])</LI> + <LI>Tabelle <b>KUNDE_PROFIL</b> (<u>KUNDENPROFIL_ID[number]</u>, KUNDENNUMMER[char 8], AUFTRAGSVOLUMEN[number 10], ZAHLUNGSBILANZ [char 1], ZAHLUNGSVERHALTEN[number]</LI> + <LI>Tabelle <b>ZU_VORLIEBEN_GEHOEREN_PRODUKTE</b> (PRODUKTNUMMER[char 8], VORLIEBEN_ID[number]</LI> + <LI>Tabelle <b>VORLIEBEN</b> (VORLIEBEN_KATEGORIE[varchar2], VORLIEBEN_ID[number])</LI> + <LI>Tabelle <b>RECHNUNGSDATEN</b> (<u>RECHNUNGSNUMMER[char]</u>, RECHNUNGSBEMERKUNG[varchar2], AUFTRAGSNUMMER[char 10], ANZAHL_VON_MAHNUNGEN[char 1], RECHNUNGSDATUM[date], EINGEGANGENE_ZAHLUNGEN[number], ZAHLUNGSDATUM[date])</LI> + </UL></td> + </tr> + + <tr> + <td>DATENBANKSCHEMA (Klick zum Anzeigen der PDF-Datei): + </td> + </tr> + <tr> + <td><a href="/dipl/css/KAPV.pdf" target=_blank><img src="/dipl/css/kapv.gif" width=555></a> + </td> + </tr> + </table> + + <p> </p></td> + </tr> +</table> + </td> + </tr> + </table> +</td> </tr> + <tr> + <td width="200" align="right" valign="top" class="randmenu"><p> </td> + </tr> + </table> + +<? +include("footer.php"); +?>
\ No newline at end of file |