# Tipps für ERM



## JavaMeetsBlueJ (20. Feb 2015)

Guten Abend liebe Community,
ich möchte eine kleie Waren-/Kundendatenbank aufbauen und bin gerade bei der Planung. Insgesamt beschäftige ich mich erst seit 3 Tagen mit Datenbanken und brauche nun euren Rat. Ist die angehängte Grafik brauchbar, oder voll daneben? Ich weiß nicht, ob die n:m Beziehung zw. Kontaktmöglichkeiten und Kontaktpersonal falsch oder richtig ist. Auf jeden Fall muss ich die auflösen, ich weiß jedoch nicht wie:/ Habt ihr noch weitere Ratschläge für mein Vorhaben?

Liebe Grüße


----------



## MichaProgs (21. Feb 2015)

Hallo JavaMeetsBlueJ,

ich beschäftige mich auch schon seit längerer Zeit mit einer Art Warenwirtschaftsprogramm. Meine erste Version des Projektes findest du hier: http://www.java-forum.org/codeschni...-verwaltungssoftware-crm-erp-mvs-0-2-1-a.html

Nun zum Thema:
Ich habe meine Datenbank etwas anders strukturiert (ich arbeite aktuell mit HSQLDB). Ich habe eine Tabelle mit einer einzigartigen ID für die Kundennummer und sämtlichen Daten die der Kunde hat (Name, Straße, PLZ, Ort etc.). Für die Kontaktpersonen habe ich eine separate Tabelle angelegt, da eine Kundennummer mehrere Kontaktpersonen haben kann, die einzigartige ID aber logischerweise nicht mehrere Einträge zulässt. 

Vielleicht nicht ganz die saubere Art sowas zu schreiben, aber funktionsfähig.

Gruß
TB94


----------



## Joose (23. Feb 2015)

JavaMeetsBlueJ hat gesagt.:


> Ich weiß nicht, ob die n:m Beziehung zw. Kontaktmöglichkeiten und Kontaktpersonal falsch oder richtig ist. Auf jeden Fall muss ich die auflösen, ich weiß jedoch nicht wie:/



Ja diese Beziehung ist falsch. 1:n würde hier doch vollkommen reichen.
Eine Kontaktperson hat n - Kontaktmöglichkeiten. Aber eine Kontaktmöglichkeit kann maximal zu einer Person zugeordnet sein. Oder teilen sich mehrere Personen die gleiche Handynummer bzw. E-Mail Adresse?


----------



## AndiE (25. Feb 2015)

Ich finde, der Lebenszyklus sollte noch berücksichtigt werden. Ich verstehe darunter, dass ein Auftrag ja verschiedene Phasen durchläuft, von der Entstehung bis zur Archivierung, und diese ja auch angespeichert werden müssen.


----------



## JavaMeetsBlueJ (25. Feb 2015)

Danke für die Beiträge bisher. Eine Tabelle des Status ist eine gute Idee, die dann in Beziehung mit dem Auftrag gebracht wird.


----------

