Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbankstruktur - wieviele Tabellen sind richtig (https://www.delphipraxis.net/33768-datenbankstruktur-wieviele-tabellen-sind-richtig.html)

mr_chrome 12. Nov 2004 11:09


Datenbankstruktur - wieviele Tabellen sind richtig
 
Hallo,

ich sitze jetzt schon eine ganze Weile über einem generellen Problem zum Aufbau einer Datenbank.
Ich soll eine Datenbank für ein Unternehmen schreiben, welches Reparaturen von elektronischen Geräten durchführt.
Dazu gibt es eine Tabelle t_repAuftrag, in der sämtliche Informationen zum Reparaturauftrag gespeichert werden.
Es kann zu diesem Reparaturauftrag nun verschiedene Vorgänge geben - ich hab' das mal Aktionen genannt:
z.B. kann es sein, dass ein Kostenvoranschlag für die Reparatur erstellt werden,
also schaut sich Mitarbeiter A das Gerät an und trägt für den Auftag ein, was er für einen Fehler gefunden hat.
Mitarbeiter B schaut sich das nun an, und erstellt daraus einen Kostenvoranschlag.
Irgendwann wird das Geräte dan unter Umständen von Mitarbeiter A repariert und Mitarbeiter B erstelle einen Reparaturschein/Lieferschein.
Meine Frage ist nun, verwende ich für diese Aktionen eine einzige Tabelle, die sämtliche Aktionen zu einem Auftrag erfasst, oder verwende ich mehrere Tabellen, für jeden Aktionstyp (Kostenvoranschlag, Reparaturdurchführung, Memo/Notiz)?

Ich hoffe es ist einigermaßen klar, was ich meine. Kann sein, dass es etwas verwirrend ist.

Viele Grüsse,
Thomas

Sharky 12. Nov 2004 11:27

Re: Datenbankstruktur - wieviele Tabellen sind richtig
 
Hai mr_chrome,

entscheidend ist wohl die Frage welche Informationen für die einzelnen Aktionen gespeichert werden müssen. Wenn diese immer die gleichen sind (z.B. Artikelnummer, Menge, Preis) dann würde ich die Aktionen in eine Tabelle schreiben. Wenn die Informationen zu unterschiedlich sind dann musst Du für die jeden Aktionstyp eine eigene Tabelle nehmen.

Hansa 12. Nov 2004 11:43

Re: Datenbankstruktur - wieviele Tabellen sind richtig
 
Du mußt die Tabellen so aufbauen, wie es eben logisch ist. Fangen wir mal an. Woraus besteht die Reparatur ?

Ein Kunde kommt mit einem Gerät, also braucht man 1. Kundentabelle. Was will er ? Eine Reparatur. Das wollen aber auch andere, also 2. Auftragstabelle Diese muß einen Verweis auf den Kunden enthalten und eine fortlaufende Nr., Datum usw. Vielleicht bringt er ja auch 2 Geräte. Jetzt kommt die eigentlich Reparatur. Woraus besteht nun die ? Aus Ersatzteilen und der Arbeitszeit. Diese müssen für jeden Auftrag separat erfaßt werden können. Jetzt wirds schon schwieriger : eine Tabelle dafür oder 2 ?

Da die Ersatzteile aber nun mit der Arbeitszeit recht wenig zu tun haben tendiere ich hier zu 2 Tabellen, also Tabelle Ersatzteile und Tabelle Arbeitszeit wieder jeweils mit Verweis zum Auftrag.

Aus letzterem kann nun schon mal ein Kostenvoranschlag erstellt werden. Ist die Arbeitszeit letztenendes anders oder werden doch mehr Kleinteile benötigt so müssen diese Werte vor Rechnungsschreibung angepaßt werden.

Aber es kommt schon noch mehr : die Ersatzteile müssen noch in eine Artikel-Tabelle. Erstens, um sie nicht jedesmal im Klartext eingeben zu müssen, sondern vor allem wegen der Preise. Es könnte Rabatte geben usw.

Na dann, viel Vergnügen. :mrgreen:

kiar 12. Nov 2004 11:51

Re: Datenbankstruktur - wieviele Tabellen sind richtig
 
hallo,


grundsätzlich sollten in einer DB keine info's zweimal auftauchen.

wenn wie hier eine reparaturdatenbank erstellt werden soll, sollte diese db auch den genannten ansprüchen gerecht werden, also jede information die es im realen ablauf gibt sollte es auch in deiner DB geben.

das heisst eine tabelle für mitarbeiter, eine für kunden, eine für fehler und deren möglichen reparaturanweisungen, eine für geräte usw.

der reparaturverlauf wird aus allen diesen tabellen seine informationen brauchen und somit solltest du es in eine tabelle legen, um somit eine schelle suche realisieren zu können.

noch ein tip. lege große sorgfalt auf dein datenbankdesign, es hilft bei der späteren implementierung in deine anwendung.

raik

mr_chrome 12. Nov 2004 12:57

Re: Datenbankstruktur - wieviele Tabellen sind richtig
 
Hallo und herzlichen Dank für die schnelle Rekation,

Der generelle Aufbau, mit Kunden-Tabelle, Artikel-Tabelle etc. ist mir eigentlich klar.
Mir geht es jetzt wirklich um die Sache mit den "Aktionen".
Meiner Meinung hab' ich die Wahl (vielleicht hab' ich die ja auch gar nicht) die Aktionen in
eine Tabelle zu packen:

t_repAktionen - folgende Felder bräuchte ich (vereinfacht)

- ID (Primärschlüssel)
- Datum
- Aktionsart (Kostenvoranschlag, Memo, Reparaturdurchführung, Lieferschein)
- Betreff
- Inhalt (Memo)
- Bearbeiter
- Preis
- Arbeitszeit

"Preis" und "Arbeitszeit" bräuchte ich z.B. nicht bei allen Aktionsarten.

oder in mehrere Tabellen:

- t_repMemo
- t_repLieferschein
- t_repKostenvoranschlag
- t_repReparatur


Was ist sinnvoller?

jim_raynor 12. Nov 2004 13:02

Re: Datenbankstruktur - wieviele Tabellen sind richtig
 
Ich würde es auf jeden Fall in einer Tabelle machen. Die Felder Preis und Arbeitszeit bleiben dann eben auf NULL. Ist aber später einfacher, wenn du neue Aktionen anbietest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz