Hi
Ich möchte gerne ein Tool entwickeln mit dem Aufträge für Serverumzüge bzw. Ausbau/Verschrottungen von Servern erfasst und verarbeitet werden können. Nachdem der Kunde alle relevanten Daten eingegeben hat, soll der Preis für diese Dienstleistung angezeigt werden.
Ich werd mal meine Fragen in [COLOR=Red]rot[/COLOR] schreiben, damit die besser zur Geltung kommen in dem ganzen Text.
Hier nun mein erster DB-Entwurf.
"Kurze" Erklärung:
category
Hier werden Kategorien für Komponenten angelegt, die in einem Rack sein können. Bsp: Server, USV, ext. DLT, ext. Enclosure etc. Später wählt der Kunde zuerst unter den Kategorien aus und dann unter den Modellen
modell
Hier werden dann Modellspezifische Daten hinterlegt, wie z.B. das Gewicht und wie viele Techniker benötigt werden (1 oder 2).
calculation
Hier werden die Preise für Arbeitsstunde, Anfahrtskilometer und Preis für ein Kg Elektroverschrottung hinterlegt. Zusätzlich noch der prozentuale Aufschlag.
consultant
Hier wird der Name und die Mailadresse des Sachbearbeiters hinterlegt, der für den Kunden zuständig ist und der die Anfrage über das Tool zugeschickt bekommt. Das Word-Template beinhaltet Platzhalter die durch das Tool gefüllt werden. Das Dokument bekommt später der Sachbearbeiter, kontrolliert es, druckt es aus und schickt es unterschrieben zum Kunden.
customer
Ist halt der Kunde mit seinen Daten
user
Jedr Kunde kann mehrere Benutzer des Programmes haben und anhand des login + passwd soll eindeutig nachvollziehbar sein, wer den Auftrag eingegeben hat.
operations
Hier werden für alle Arbeitsschritte, die auftreten können, die Arbeitszeiten hinterlegt. Bsp: Server ausbauen, Server entkabeln, Server einbauen etc.. Es werden jeweils die Zeiten hinterlegt, die 1 Techniker braucht und die Zeiten, die 2 Techniker brauchen.
disposition
Die für den Einsatzort zuständige Disposition wird mit der Tabelle ermittelt. Dazu werden PLZ-Ranges eingegeben und die zuständigen Dispos hinterlegt
place_of_action
=Einsatzort
. Also wo letztendlich was gemacht werden soll.
poa_contact
Ansprechpartver vor Ort am Einsatzort
orderlist
Hier werden alle eingegebenen Aufträge abgelegt.
Order_str ist die Nummer die wir dem Vorhaben vergeben. customer_internal_ordername ist der Name den der Kunde dafür vergibt.
In target_date.... werden die Terminwünsche des Kunden hinterlegt. Bei Ausbau/Verschrottung werden nur die ersten beiden gebraucht um den Zeitraum anzugeben in dem der Kunde das erledigt haben will. Beim Umzug logischerweise 2 Terminzeiträume, weil ja nicht immer direkt umgezogen werden muß, sondern auch mal 1-2 Tage irgendwo zwischengelagert wird.
Bei modell_... werden noch ein paar Daten zu dem Modell hinterlegt. Anzahl, Seriennummer(n), Gerätename(n) und Raum-/Rackangabe.
[COLOR=Red]Sollte ja eigentlich kein Problem sein in einem String mehrere Seriennummern durch Komma oder anderes Trennzeichen zu speichern, oder macht man das nicht?[/COLOR]
poa_id_a und contact_id_a sind die werte, die ich brauch, wenn ich einen Ausbau/Verschrottung habe. Bei einem Umzug kann es aber gut sein, daß ich auch noch poa_id_b und contact_id_b brauche für den zweiten Standort. Leider wollte DeZign mir die beiden nicht auch noch als Foreignkey zu place_of_action und poa_contact herstellen. [COLOR=Red]Ist das nicht erlaubt oder hat das Prog da nen Fehler? Falls das nicht erlaubt ist, wie soll ich denn sonst 2 Einsatzorte samt Ansprechpartner hinterlegen können. Jeweils nochmal ne Tabelle erstellen ist ja irgendwie sinnlos.[/COLOR]
Für die Dispo gilt das selbe wie für Einsatzort und Ansprechpartner vor Ort - da könnten halt auch 2 verschiedene bei nem Umzug hinterlegt werden müssen.
Ähnliches Problem bei op_id. Ich wollte halt in dem Auftrag alle IDs der Tätigkeiten abspeichern, die durchgeführt werden sollen und das am besten in nur einer Spalte. [COLOR=Red]Ich denke aber mal, daß das nicht erlaubt ist, also wie bekomm ich das am elegantesten hin?[/COLOR]
P.S. Die Kardinalitäten zwischen orderlist und poa_contact, place_of_action, dispo undoperations passen noch nicht, aber bei denen weiß ich ja wie gesagt noch nicht, wie das nun wird.
danke fürs durchlesen und für hilfreiche Antworten
Boneman
Ich möchte gerne ein Tool entwickeln mit dem Aufträge für Serverumzüge bzw. Ausbau/Verschrottungen von Servern erfasst und verarbeitet werden können. Nachdem der Kunde alle relevanten Daten eingegeben hat, soll der Preis für diese Dienstleistung angezeigt werden.
Ich werd mal meine Fragen in [COLOR=Red]rot[/COLOR] schreiben, damit die besser zur Geltung kommen in dem ganzen Text.
Hier nun mein erster DB-Entwurf.
"Kurze" Erklärung:
category
Hier werden Kategorien für Komponenten angelegt, die in einem Rack sein können. Bsp: Server, USV, ext. DLT, ext. Enclosure etc. Später wählt der Kunde zuerst unter den Kategorien aus und dann unter den Modellen
modell
Hier werden dann Modellspezifische Daten hinterlegt, wie z.B. das Gewicht und wie viele Techniker benötigt werden (1 oder 2).
calculation
Hier werden die Preise für Arbeitsstunde, Anfahrtskilometer und Preis für ein Kg Elektroverschrottung hinterlegt. Zusätzlich noch der prozentuale Aufschlag.
consultant
Hier wird der Name und die Mailadresse des Sachbearbeiters hinterlegt, der für den Kunden zuständig ist und der die Anfrage über das Tool zugeschickt bekommt. Das Word-Template beinhaltet Platzhalter die durch das Tool gefüllt werden. Das Dokument bekommt später der Sachbearbeiter, kontrolliert es, druckt es aus und schickt es unterschrieben zum Kunden.
customer
Ist halt der Kunde mit seinen Daten
user
Jedr Kunde kann mehrere Benutzer des Programmes haben und anhand des login + passwd soll eindeutig nachvollziehbar sein, wer den Auftrag eingegeben hat.
operations
Hier werden für alle Arbeitsschritte, die auftreten können, die Arbeitszeiten hinterlegt. Bsp: Server ausbauen, Server entkabeln, Server einbauen etc.. Es werden jeweils die Zeiten hinterlegt, die 1 Techniker braucht und die Zeiten, die 2 Techniker brauchen.
disposition
Die für den Einsatzort zuständige Disposition wird mit der Tabelle ermittelt. Dazu werden PLZ-Ranges eingegeben und die zuständigen Dispos hinterlegt
place_of_action
=Einsatzort
![Big Grin](https://www.php-resource.de/forum/core/images/smilies/biggrin.gif)
poa_contact
Ansprechpartver vor Ort am Einsatzort
orderlist
Hier werden alle eingegebenen Aufträge abgelegt.
Order_str ist die Nummer die wir dem Vorhaben vergeben. customer_internal_ordername ist der Name den der Kunde dafür vergibt.
In target_date.... werden die Terminwünsche des Kunden hinterlegt. Bei Ausbau/Verschrottung werden nur die ersten beiden gebraucht um den Zeitraum anzugeben in dem der Kunde das erledigt haben will. Beim Umzug logischerweise 2 Terminzeiträume, weil ja nicht immer direkt umgezogen werden muß, sondern auch mal 1-2 Tage irgendwo zwischengelagert wird.
Bei modell_... werden noch ein paar Daten zu dem Modell hinterlegt. Anzahl, Seriennummer(n), Gerätename(n) und Raum-/Rackangabe.
[COLOR=Red]Sollte ja eigentlich kein Problem sein in einem String mehrere Seriennummern durch Komma oder anderes Trennzeichen zu speichern, oder macht man das nicht?[/COLOR]
poa_id_a und contact_id_a sind die werte, die ich brauch, wenn ich einen Ausbau/Verschrottung habe. Bei einem Umzug kann es aber gut sein, daß ich auch noch poa_id_b und contact_id_b brauche für den zweiten Standort. Leider wollte DeZign mir die beiden nicht auch noch als Foreignkey zu place_of_action und poa_contact herstellen. [COLOR=Red]Ist das nicht erlaubt oder hat das Prog da nen Fehler? Falls das nicht erlaubt ist, wie soll ich denn sonst 2 Einsatzorte samt Ansprechpartner hinterlegen können. Jeweils nochmal ne Tabelle erstellen ist ja irgendwie sinnlos.[/COLOR]
Für die Dispo gilt das selbe wie für Einsatzort und Ansprechpartner vor Ort - da könnten halt auch 2 verschiedene bei nem Umzug hinterlegt werden müssen.
Ähnliches Problem bei op_id. Ich wollte halt in dem Auftrag alle IDs der Tätigkeiten abspeichern, die durchgeführt werden sollen und das am besten in nur einer Spalte. [COLOR=Red]Ich denke aber mal, daß das nicht erlaubt ist, also wie bekomm ich das am elegantesten hin?[/COLOR]
P.S. Die Kardinalitäten zwischen orderlist und poa_contact, place_of_action, dispo undoperations passen noch nicht, aber bei denen weiß ich ja wie gesagt noch nicht, wie das nun wird.
danke fürs durchlesen und für hilfreiche Antworten
Boneman