Hilfe bei der Erstellung von einer Datenbank (ERM)

Tobias M.

Neuer Benutzer
Beiträge
2
Guten Morgen liebes Forum,

ich brauch Hilfe bei der Erstellung eines ERM.

Ich habe vor kurzem begonnen mich mit Datenbanken zu beschäftigen und habe mir dafür ein klassisches Anwendungsgebiet als ersten Versuch rausgesucht.
Und zwar möchte ich Bauteile in einem Betrieb mit einer Datenbank verwalten, angefangen von der Bestellung eines Kunden bis zur Wiederbeschaffung bei einem Lieferanten.


Mein ERM habe ich folgendermaßen Aufgebaut:

Kunde 1:n Bestellung
Bestellung 1:n Geräte

so und jetzt habe ich ein Problem in den Geräten sollen Bauteile z.B. Schraube Typ1 und Baugruppen verbaut werden in den Baugruppen können sowohl wieder Baugruppen als auch Bauteile verbaut sein, das heißt z.B. können in alle drei Ebenen Schrauben Typ 1 eingebaut werden, für die einzelnen Geräte und Baugruppen sollen Stücklisten generiert werden können, ebenso eine Gesamtliste (Inventurliste).

Die Bauteile können also an verschieden Baugruppen eingebaut werden, diese wiederum kann ich bei verschiedenen Lieferanten bestellen, die dann unterschiedliche Preise und Bezeichnung haben, zudem kann aber ein Teil bei einem Lieferant auch unterschiedliche Preise haben z.B. Mengenrabatt oder Verteuerung.

Wie kann ich das alles in eine Datenbank (ERM) umsetzen.
Ich habe mal versucht meine Überlegungen in ein ERM zu übertragen.

Allerdings stellen mich diese Bezeichnung bei den Baugruppen, Teilen und Listen vor Herausforderungen.

Ich wäre dankbar für eure Hilfe, Vielen Dank im vorraus.

Tobias M.
 

Anhänge

  • ERM.pdf
    625,9 KB · Aufrufe: 4
Werbung:
Das ist durchaus ein komplexes Vorhaben, ich hoffe du willst das nicht mit Access machen :) .

Dein Bauteile / Baugruppen-Problem würde ich mit einem hierarchischen Ansatz lösen. Du hast das im Prinzip schon angedeutet und der Tabelle Baugruppe eine n:m Beziehung mit sich selbst gegeben. Nur würde ich Baugruppe, Bauteil und Gerät auf der Ebene gar nicht unterscheiden. Du kannst ja auch Bauteile, Baugruppen und Geräte in gleicher Weise auf Lager haben und an Kunden verkaufen. Daher wäre es sehr umfangreich das alles getrennt in Relation zu setzen, besser du nimmst eine zentrale Tabelle (wie hier Baugruppe) und definierst die Eigenschaften der Einträge (also um was es sich handelt) in einer anderen Tabelle.

Und richtig, Stichworte sind Rekursion und Stücklisten.
 
Hallo Danke für die schnellen Antworten,

Ich hatte es schon vor mit Access bzw. mit der Freeware von LibreOffice Base umzusetzen.

Ich habe mal versucht eure Vorschläge in das ERM umzusetzen, bin mir aber nicht sicher ob ich eure Ansätze richtig verstanden habe (siehe Anhang).

Ich bin kein Programmiere daher fällt es mir schwer SQL zu verstehen.

Besten Dank Tobias M.
 

Anhänge

  • ERM_Version2.pdf
    520,7 KB · Aufrufe: 4
Ich hatte es schon vor mit Access bzw. mit der Freeware von LibreOffice Base umzusetzen.
Dann sind Stücklisten wohl eher nicht realisierbar, Access kann keine Rekursion und auch sonst vieles nicht was richtige SQL DBMS beherrschen. Da wirst du das alles "zu Fuß" erledigen müssen, sprich dir VBA aneignen müssen. Natürlich hast du in anderen DBMS Systemen kein Front End mit Eingabemasken, da muss schon in beiden Fällen noch irgendwas programmiert werden oder irgend eine Software zum Einsatz kommen.
Ich habe mal versucht eure Vorschläge in das ERM umzusetzen, bin mir aber nicht sicher ob ich eure Ansätze richtig verstanden habe (siehe Anhang).
Dein geändertes ERD zeigt auch das du das nicht richtig verstanden hast. Im Prinzip nimmst du eine Tabelle her, ich nenne sie mal einfach "Objekte" die auf sich selbst eine n.m-Beziehung hat, wie aktuell deine Tabelle "Baugruppen". Dann gibt es noch eine 1:1 oder 1:n Beziehung auf eine Tabelle "Objektdetails".

In Objekte hast du dann z.B. eine Baugruppe A die aus zwei Baugruppen B und C besteht die je wiederum aus 2x 2 unterschieden Schrauben bestehen. Du hast dann 5 Einträge in der Tabelle, Baugruppe A, B, C und Schraube Typ 1 und 2. Was in was steckt und wie viel davon steht in der Zwischentabelle (die die n:m-Beziehung abbildet. Um jetzt alle benötigten Teile der Baugruppe A zu ermitteln kannst du rekursiv abfragen was in A steckt und was in dem steckt was in A steckt. Auch kannst du von Tabellen "Bestellungen", "Bestand" oder sonst was auf "Objekte" referenzieren und so kann dein Kunde nicht nur Baugruppe A, Baugruppe B oder C sondern auch Schrauben einzeln kaufen, ohne das du einen Bezug von der Bestellung auf mehrere Tabellen machen musst.

Damit die Tabelle nicht unnötigen Ballast in verschiedenen Spalten rum schiebt kannst du in Objektdetails Eigenschaften mit Referenz auf Objekte abbilden, z.B. das die Schraube Grün ist. Da Baugruppe A immer die selbe Farbe hat, die schraube aber nur wirklich hält weil sie grün ist, wäre es blöd jetzt eine Spalte Farbe in Objekte zu machen sondern es gibt nur einen Eintrag in Objektdetails für diese Eigenschaften.
 
Werbung:
Zurück
Oben