Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Datenbankmodell richtig

Begonnen von VT11.5, Februar 06, 2014, 23:47:48

⏪ vorheriges - nächstes ⏩

VT11.5

Ich habe für mein Projekt ein Datenbankmodell erstellt und möchte gerne eine Meinung darüber bekommen ob ich ein Gedankenfehler habe oder ob es so ok ist.
Die DB soll für mich sein und meine Aufträge zur Reparatur von Modelleisenbahn von erfassen des Auftrags über Ersatzteileverwaltung bis hin zur Rechnungsgestellung sein. Ebenfalls will ich darüber auch Ersatzteile nachbestellen.
Danke für eure Hilfe  und Berichtigungen

Hondo

Hallo,
also, was ist wenn ein Kunde mehrere Spurweiten besitzt? Was soll Auftragsnummer beim Kunden? Hat er etwa nur 1 Auftrag?
Verbindung Rechnung zum Kunden sowie Feld Kundennummer bei Rechnung überflüssig, da Beziehung über Auftrag besteht.
Ersatzteil-ID in der Rechnung ist nicht schlüssig - oder gibt es etwa pro Rechnung nur 1 Ersatzteil?
Was Fehlt ist eine Tabelle Rechnungspositionen, 1:n zur Tabelle Rechnung (Wo ist das Rechnungsdatum?)
In der Tabelle Rechnungspositionen steht der ID analog zur Tabelle Ersatzteile, wo es darüber eine Beziehung gibt.
Wird 1 Ersatzteil nur von 1 Hersteller hergestellt? wenn ja ok, ansonsten weitere Tabelle ErsatzteilHersteller mit 2x 1:n zu Ersatzteil und Hersteller.

Soweit in Kürze
Andreas

VT11.5

So habe das ganze mal geändert. Habe aber Probleme die die beiden m zu n Verbindungen zu benennen. Sind die überhaupt richtig?
"Was Fehlt ist eine Tabelle Rechnungspositionen, 1:n zur Tabelle Rechnung"
Verstehe ich nicht ganz sind die nicht in der tab_Rechnung
Ich habe nur jeweil 1 Lieferant für das jeweilige Ersatzteil.

Hondo

Hallo,
Eine Rechnung besteht immer aus Rechnungskopfdaten wie z.B. Rechnungsnummer, Rechnungsdatum, KundenID etc.

Danach gibt es die einzelnen Positionen auf einer Rechnung, diese werden immer! separat in einer 1:n verbundenen Tabelle gespeichert, z.B. namens Rechnungspositionen. Diese Tabelle enthält die Felder Rechnungsnummer, Artikelnummer, Artikelanzahl. Preis sollte aus einer separaten Tabelle "Artikel" kommen welche mit der Tabelle Rechnungsposition verknüpft ist.

In der TabKunden muss SpurweitenID raus. Statt dessen kommt in die Leere Tabelle links daneben die Felder ID (Autowert Primärschlüssel), SpurweitenID (Zahl) und Kunden_Nr (Zahl). Die Verbindung von dieser Tabelle "SpurweitenKunden" geht von Kunden_nr zu Kunden_nr in Tabelle Kunden 1_n.

Die leere Tabelle zwischen Kunden und Ersatzteile (entspricht der Artikeltabelle) ist die Tabelle Rechnungspositionen. Sie enthält die Felder ID (Autowert Primärschlüssel), Rechnungs_Nr (Zahl), Ersatzteil_ID (Zahl), Menge (Zahl). Verknüpfung nach links/rechts 1:n.

Feld Ersatzteil_ID aus Tabelle Rechnung entfernen, Verknüpfung geht auf Rechnungs_Nr!

Es fehlt die Tabelle Preisgruppe (id, Preisgruppe, Preis) da eine Preisgruppe kein Preis ist sondern irgendein Bezeichner für die Preisgruppe (siehe Obi Schrauben ... Preisgruppe A bis z.B. G)

Beziehung HerstellerName zu HerstellerID ist natürlich falsch, da unterschiedlicher Typ. Setze die Beziehung nur zwischen HerstellerID.
Gibt es für 1 Artikel mehrere Hersteller dann neue Tabelle "ErsatzteileHersteller", aber das hatte ich schon gesagt.

Tabelle Buchung enthält nur Lagerbuchungen, zu und abgang mit positiver und negativer Menge, oder?

Gruß Andreas

VT11.5

Tabelle Buchung enthält nur Lagerbuchungen, zu und abgang mit positiver und negativer Menge, oder?
Ja so habe ich das gedacht.

So die andren Änderungsvorschläge habeichhoffendlich richtig umgesetzt. Bitteum nochmalige Kontrolle.

Gruß Helge

Hondo

Hallo Helge,
war mir gar nicht aufgefallen dass du den Preis als EK/VK ja schon in der Ersatzteiltabelle hast. Wenn du Preisgruppen hast brauchst du eigentlich den VK nicht da dieser als Preis in einer Tabelle Preisgruppen stecken würde.
Ansonsten sieht es gut aus.
Einzig was mich persönlich stören würde ist der EK in Tabelle Ersatzteile. Ich würde diesen in die Tabelle Buchung setzten, da du im laufe der Zeit zu unterschiedlichen Einkaufspreisen einkaufen wirst. Spätestens wenn du bei der Steuer den Warenbestand bilanzieren musst, gibt es sonst Probleme.  Der anzusetzende Einkaufspreis ist eine Rechengröße aus EK und Menge zunahme und abnahme.

Das Finanzamt akzeptiert nur die gewogene und die gleitende Durchschnittsbewertung:
http://www.rechnungswesen-portal.de/Fachinfo/Umlaufvermoegen/Bewertungsvereinfachungsverfahren-fuer-Vermoegensgegenstaende-.html

Ich weiss ja nicht für wen die Anwendung mal sein sollte, dann gilt obiges entsprechend zu berücksichtigen.

Gruß Andreas

VT11.5

Also die Datei ist für mich. Ich habe im Nebenerwerb ein Reparaturbetrieb für Modelleisenbahn und bin zur Zeit nicht MwSt. Pflichtig. Zur Zeit ist nicht geplant das der Betrieb größer werden soll. Evtl ist es aber nicht schlecht das mit einzuplanen bin da für Vorschläge ganz offen.
Werde dein Vorschlag den EK in tab_Buchung zu verschieben umsetzen.

Hondo

Du kannst ja trotzdem zusätzlich das Feld EK in der Tabelle Ersatzteile belassen, nur würde ich es nach jeder Zubuchung automatisch berechnen lassen nach der gleitenden Durchschnittsmethode (siehe Link).

VT11.5

Wie mach ich eigentlich wenn ich Bilder von den Ersatzteilen mit einpflegen möchte? Eine weitere Tabelle mit eine Verbindung über die Ersatzteil_ID oder direkt in die Tab_Ersatzteile. Die Menge der Ersatzteile sind aber in 5stelligen Bereich es aber, wen überhaupt, nur von den wichtigen Bilder aufgenommen werden.
Ich habe mir schon so viele Gedanken über dieses Projekt gemacht und Ideen aufgeschrieben aber es kommt immer wieder was dazu was ich vergessen habe.
z.B.  das Bestellen von Ersatzteilen (schon eine Tab. Erstellt)
aber wie mach ich das mit am besten mit Briefen / eMail an Kunden / Lieferanten, Packetschein, Stornieren von Rechnungen, Inventurlisten (ist das evtl. Nur ein Bericht?) und wie mache ich es wenn ich eine neue Stammdatenliste mit Ersatzteilen bekomme wie pflege ich die ein?
Gibt es große Probleme die DB später zu erweitern?
Ich hoffe das du mir da evtl. ein Tipp geben kannst!

Gruß Helge

Hondo

Hallo,
gibt es mehrere Bilder zu einem Ersatzteil brauchst du eine zusätzliche Tabelle.
Ich würde alles was ausgedruckt wird mit Berichten machen, und alles was per Email verschickt wird per Outlook-Automatisation machen. Schickst du per Email Dokumente an Kunden dann würde ich das nur per PDF-Dokumente machen. Du kannst aber auch Berichte erstellen und diese per Code nach PDF Convertieren lassen.

Wenn du das Datengerüst sauber aufbaust ist dieses fast beliebig erweiterbar (bis 2GB Dateigröße)
Andreas

database

Hallo,

Zitatgibt es mehrere Bilder zu einem Ersatzteil brauchst du eine zusätzliche Tabelle
Ich würde hier empfehlen diese Tabelle auch dann zu implementieren wenn derzeit nur von einem Bild gesprochen wird.
Wer weiß was in 6 Monaten oder einem Jahr ist?  :-\ (siehe weiter unten...)
Ja, und die Bilder in einer Verzeichnisstruktur halten, nicht in der Datenbank - auch ganz wichtig.

ZitatIch habe mir schon so viele Gedanken über dieses Projekt gemacht und Ideen aufgeschrieben aber es kommt immer wieder was dazu was ich vergessen habe
Tja, dann war die Planungsphase (noch) nicht vollständig abgeschlossen ;)

Zitatwie mache ich es wenn ich eine neue Stammdatenliste mit Ersatzteilen bekomme wie pflege ich die ein
Das kommt in erster Linie darauf an in welchem Datenformat du diese Liste zur Verfügung hast.
Als 2. Kriterium würde ich den Aufbau dieser Liste sehen, Dateninhalt, Reihenfolge der Spalten etc. und ob sich dieser Listenaufbau ändert.
Günstigstenfalls lässt sich ein 'Automatismus' implementieren, bei dem du lediglich den Speicherort der neuen Liste angibst
und Access erledigt den Rest automatisch.

VT11.5

So ich glaube das ich es nun endlich habe  ::)
Die letze Veränderungen sind:

tab_Bestellung, tab_Explosionszeichnung, tab_Arbeit

tab_bestellung dient zur Bestellung von Ersatzteilen (es gibt jeweils nur ein Hersteller)

tab_Explosionszeichnung dienst dazu Erstzteilnummer herauszufinden da es Konstruktive Änderungen bei gleicher Artikelnummer gibt, sind u.u. mehrere Zeichnungen vorhanden

tab_Arbeit hier sollen Standartarbeiten gespeichert werden (Decoder einbau, kleine/große Inspektion usw.)

Optional tab_ET_Bilder

Würde mich erneut über notwendige Korrekturen/Berichtigungen freuen.
Nun hoffe ich, dass ich an alles gedacht habe. 

database

Hallo,

ich hab dein Datenmodell ein wenig umgeändert ... ;-)
Achte auch auf die Feldnamen - wie schon so oft ... KEINE Sonderzeichen, Leerzeichen, Umlaute reservierte Worte ....
Auch den Hinweis beachten - Fremdschlüsselfelder mit _F bezeichnen.

Bezüglich Explosionszeichnungen ... wenn's mehrere für einen Artikel/Ersatzteil gibt dann ist das auch in der DB so abzubilden (n:M)
Aufträge haben Auftragspositionen, daher die Tabelle
Berechnete Felder haben in Tabellen nix verloren - VKMit MWSt - ist so ein Feld

Überlege mal ob du nicht ein Preishistory für die Ersatzteile führen solltest - die werden sich ja mal ändern oder?

Zitat(es gibt jeweils nur ein Hersteller)
und was, wenn sich das mal ändert?

Tab_Bestellungen dient ...
Ich glaube du wirst mit der Lösung SO nicht recht viel Freude haben.
Auch hier solltest du eine Bestelltabelle + Bestelldetails erfassen ... mehrere Ersatzteile auf einer Bestellung?

Ich hoffe du findest in dem Liniengewirr in deinem Datenmodell jetzt auch noch zurecht :-)
Es wäre besser zu bearbeiten, wenn du Tabellen im Access anlegen würdest.
Ja, ja ich weiß ... zuerst der Entwurf ... aber zum Nachbearbeiten ist es weit leichter.
Ich hoffe, dass ich nichts übersehen habe

VT11.5

Ich glaube das ich damit zurecht komme aber die Explosionszeichnung muss sich auf die Artikelnummer beziehen. Es gibt eine Artikelnummer auf die sich 1 oder mehrere Explosionszeichnungen beziehen aus denen ich die Ersatzteilnummer herauslesen kann.
Der Gedanke dahinter ist der, wenn ich ein Auftrag habe und den Hersteller mit Artikelnummer eingegeben habe wird mir eine Explosionszeichnung (Bild/Bilder) angezeigt aus der ich dann die Ersatzteilnummer der defekten / fehlenden Ersatzteile herausschreiben kann und dann in der Tab_Ersatzteile nachsehe ob ich das Teil habe oder Bestellen muss.
Hier ein Beispiel für eine Explosinszeichnung:
http://www.maerklin.de/service/produktservice/listengenerator.php?brand=1&artikelnummer=3000

database

Aha, na dann fehlt ja sowieso eine Tabelle - nämlich die Artikeltabelle und dazu eine Zwischentabelle zu den Ersatzteilen, da ein Artikel aus vielen Teilen besteht.
Und dann kann die Explosionszeichnung für einen bestimmten Artikel mit dessen ArtikelID gespeichert werden.
Weiter ist es dann aber dennoch möglich mehrere Zeichnungen für einen Artikel abzulegen - allerdings analog zu meinem Vorschlag im Datenmodell.


Verstehst, wie ich das meine?
Im Anhang in einer kleinen Datei veranschaulicht.
So kannst du einen Artikel (z.B. die Dampflok 3000) auswählen und bekommst eine komplette Liste aller für diesen Artikel vorhandener Ersatzteile angezeigt