Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Normalisierungsfrage

Frage Entwicklung Datenbanken

Mitglied: bvsn

bvsn (Level 1) - Jetzt verbinden

15.05.2006, aktualisiert 16.05.2006, 3965 Aufrufe, 7 Kommentare

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.
Mitglied: filippg
15.05.2006 um 16:17 Uhr
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
Bitte warten ..
Mitglied: bvsn
15.05.2006 um 16:23 Uhr
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...
Bitte warten ..
Mitglied: Supaman
15.05.2006 um 17:40 Uhr
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
Bitte warten ..
Mitglied: bvsn
15.05.2006 um 17:46 Uhr
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
Bitte warten ..
Mitglied: Supaman
15.05.2006 um 18:00 Uhr
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.
Bitte warten ..
Mitglied: Biber
15.05.2006 um 18:08 Uhr
Bitte warten ..
Mitglied: Biber
16.05.2006 um 20:45 Uhr
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
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...