bvsn
Goto Top

Normalisierungsfrage

Hi Leute,

ich bin dabei ein kleines Programm für die Zeiterfassung zu entwickeln und habe zur Normalisierung eine Frage. Bisher sieht das ganze so aus:

tab_mitarbeiter:

MAR_ID (PK); Name, Anschrift, etc.

tab_tagesbericht:

TBT_MID (PK);TBT_Datum (PK);TBT_Beginn; TBT_Ende
(Der Schlüssel setzt sich aus der Mitarbeiter-Nr und dem aktuellen Datum zusammen)

tab_tagesbericht_detail:

TBT_MID (PK);TBT_Datum (PK);TBT_Pos (PK);AFT_ID (FK);TSK_ID (FK)
(Der Schlüssel setzt sich aus der Mitarbeiter-Nr, dem Datum und einer Positionsnr zusammen)

tab_task:
TSK_ID (PK); TSK_Beschreibung

tab_auftrag:

ADT_ID (PK), Auftragsdaten

Ich habe ein Problem mit der Detailtabelle. Es kann auch Positionen geben, die nicht speziell einem Auftrag zugeordnet werden können. Zum Beispiel, wenn ein Mitarbeiter das Lager fegt etc. und somit könnte ich, so wie die DB im Moment aufgebaut ist, für dieses Feld keine referenzielle Integrität erstellen. Prinzipiell müsste ich aus dieser Tabellen noch einmal zwei machen, oder nicht?

Also:

tab_tagesbericht_detail1:

TBT_MID (PK);TBT_Datum (PK);TBT_Pos (PK);TSK_ID (FK)

und:
tab_tagesbericht_detail2:

TBT_MID (PK);TBT_Datum (PK);TBT_Pos (PK);AFT_ID (FK)

Kommt mir aber irgendwie auch seltsam vor, weil die Schlüssel jeweils gleich sind...wobei es halt in der unteren Tabelle nicht für jede Position, die es in der ersten Tabelle gibt, einen Datensatz gäbe. Die nächste Frage wäre dann inwiefern es problematisch wäre, eine Zeile im DataGrid an verschiedene Tabellen zu binden...

Ich hoffe, ich habe mich nicht ganz dusselig ausgedrückt.

Gruß

Christoph

Ps.: Bevor gleich jemand eine endlose Debatte über Cross-Postings startet. Ja, dieser Beitrag wurde auch unter www.mycsharp.de gepostet und ja, ich bekenne mich schuldig in allen Anklagepunkten.

Content-Key: 32463

Url: https://administrator.de/contentid/32463

Printed on: April 25, 2024 at 17:04 o'clock

Member: filippg
filippg May 15, 2006 at 14:17:17 (UTC)
Goto Top
Hallo,

Betriebswirtschaftlich gesehen kann es durchaus Sinn machen, die von dir erwähnten Positionen einer Art "Dummy"-Auftrag zuzuordnen. Letzendlich geht es ja um Kostenerfassung, und da möchte man ja auch Gemeinkosten erfassen und bestimmten Konten zuordnen können. Bei Einrichtung entsprechender Konten könntest du so jederzeit überprüfen, wieviel Aufwand in einem Zeitraum für Bodenpflege, für Maschinenwartung, für Mitarbeiterschulung... getätigt wurde.

Filipp
Member: bvsn
bvsn May 15, 2006 at 14:23:57 (UTC)
Goto Top
Ja, das habe ich auch schon überlegt...allerdings kann man das ja auch hinterher anders rausfiltern. Der Weg über nur eine Tabelle und einen Dummy Auftrag lässt sich allerdings wohl am einfachsten realisieren...
Member: Supaman
Supaman May 15, 2006 at 15:40:56 (UTC)
Goto Top
also, wenn ich dich richtig verstanden habe, willst du abrechnungsfähige und nicht-abrechnungsfähige zeiten differenzieren.

üblicherweise macht man für allgemeine hilfszeiten (hof fegen etc) einen dummy auftrag, auf den solche zeiten gebucht werden.

zusätzlich gibt es immer noch spzielle arbeitsvorgangs-kennziffern für auftragsbezogene kosten, die jedoch dem kunden nicht belastet werden. (z.b. für arbeiten die aufgrund von eigenverschulden doppelt ausgeführt worden sind)

gruß,

supa
Member: bvsn
bvsn May 15, 2006 at 15:46:47 (UTC)
Goto Top
Ja, ich habe mich jetzt auch zu der Dummy-Auftrag Variante hinreißen lassen. Die von dir angesprochenen Nacharbeiten werden entsprechend berücksichtigt.

Vielen Dank und Gruß

Christoph
Member: Supaman
Supaman May 15, 2006 at 16:00:16 (UTC)
Goto Top
was ich noch vergessen habe: es gibt übelicherweise noch eine 3t art an kosten, und zwar kundenbedingte mehrarbeit, z.b. durch nachträgliche änderungswünsche oder kundenseitiges verschulden z.b. durch lieferung falscher daten etc.

du willst ja sicherlich die vorkalkulierten kosten den tatsächliche angefallenen gegenüberstellen. mit der differenzierung kann man dann sehr eifnach die kosten ausweisen, die man dem kunden zusätzlich zu den kalkuleirten abrechnet - sofern die mitarbeiter die zeiten korrekt einbuchen.

je feiner man die hilfszeiten diefferenziert, desto besser kann man die effiziente nutzung der einzelnen kostenstellen nachhalten.
Member: Biber
Biber May 15, 2006 at 16:08:19 (UTC)
Goto Top
Member: Biber
Biber May 16, 2006 at 18:45:42 (UTC)
Goto Top
Ps.: Bevor gleich jemand eine endlose Debatte über Cross-Postings startet.
Ja, dieser Beitrag wurde auch unter www.mycsharp.de gepostet und ja,
ich bekenne mich schuldig in allen Anklagepunkten.

Moin Christoph,
habe gerade gelesen, dass Deine Frage in mindestens einem anderen Forum ebenso wortreich, aber verständlicher beantwortet wurde.

Kannst Du dann bitte hier diesen Beitrag auf "Gelöst" setzen und/oder schließen?

Danke
Biber