AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbankstruktur - wieviele Tabellen sind richtig
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankstruktur - wieviele Tabellen sind richtig

Ein Thema von mr_chrome · begonnen am 12. Nov 2004 · letzter Beitrag vom 12. Nov 2004
Antwort Antwort
mr_chrome

Registriert seit: 30. Sep 2004
Ort: Markneukirchen
14 Beiträge
 
Delphi 7 Professional
 
#1

Datenbankstruktur - wieviele Tabellen sind richtig

  Alt 12. Nov 2004, 11:09
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
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Datenbankstruktur - wieviele Tabellen sind richtig

  Alt 12. Nov 2004, 11:27
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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Datenbankstruktur - wieviele Tabellen sind richtig

  Alt 12. Nov 2004, 11:43
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.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: Datenbankstruktur - wieviele Tabellen sind richtig

  Alt 12. Nov 2004, 11:51
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
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
mr_chrome

Registriert seit: 30. Sep 2004
Ort: Markneukirchen
14 Beiträge
 
Delphi 7 Professional
 
#5

Re: Datenbankstruktur - wieviele Tabellen sind richtig

  Alt 12. Nov 2004, 12:57
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?
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#6

Re: Datenbankstruktur - wieviele Tabellen sind richtig

  Alt 12. Nov 2004, 13:02
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.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:46 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