SQL Doppelte Zuweisung von Personalnummern

Plauzi92

Aktives Mitglied
Hi Leute,
ich stehe gerade ziemlich auf dem Schlauch. Mal angenommen ich habe eine Datenbank mit Personalnummern und den entsprechenden Namen und durch irgendeinen Fehler werden einer Personalnummer mehrere Personen zugeordnet, wie kann ich das dann abfragen? Das Problem ist, dass die Einträge mehrfach auftauchen können. Das heißt ein Mitarbeiter kann mit Namen und Personalnummer mehrfach enthalten sein. Beispielsweise bei einer Art Stechuhr.
Wäre letzteres nicht der Fall könnte ich einfach schauen ob eine Personalnummer mehrfach vorkommt, so geht es jetzt aber leider nicht.

Bin dankbar für jeden Tipp :)
 

Plauzi92

Aktives Mitglied
Hat sich erledigt, ich kann beim hinzufügen eines Mitarbeiters ja einfach überprüfen ob die Nummer mit einem anderen Namen schon vorhanden ist.. Wie gesagt, ich stand auf dem Schlauch.. :D
 

Plauzi92

Aktives Mitglied
Geht leider nicht. Das tatsächliche Projekt sieht auch etwas anders aus, das hier war nur ein Beispiel um es verständlicher zu machen. Es soll nicht ausgeschlossen werden, dass es passiert, sondern es soll festgestellt werden falls es passiert.
Aber danke dir für die Antwort :)
 

LimDul

Top Contributor
Die Lösung ist "eigentlich" einfach. Ein saubere normalisiertes Schema.

Dann gibt es eine Tabelle die einem Mitarbeiter eine Personalnummer zuordnet. In dieser Tabelle darf es pro Personalnummer nur einen Eintrag geben.

Die Tabelle mit den Stechuhreinträgen hat natürlich mehrere Einträge pro Personalnummer - aber dort stehen keine Mitarbeiterinformationen (wie z.B. Name) drin, die stehen ja schon in der Mitarbeitertabelle drin.

Ein Datenbankschema was Verletzungen solcher Art zulässt hört sich inhärent falsch modelliert an.
 

Plauzi92

Aktives Mitglied
Eigentlich macht es das ziemlich unverständlich, denn warum sollte man Fehler zulassen? Was ist denn der tatsächliche Anwendungsfall?
Die Datenbank dient im Moment lediglich als eine Art WhiteBox-Test für ein Programm zur Nutzererkennung. Im Moment werden bestimmte Gesichtsmerkmale inklusive dem zugehörigen Namen gespeichert. Um zu testen ob es funktioniert wollte ich natürlich wissen ob mehrere Nutzer die gleichen Gesichtsmerkmale haben. In dem Fall können sie später nicht eindeutig zugeordnet werden. Aber für eben diesen Test sollen sie natürlich trotzdem gespeichert werden, mit dem Hinweis, dass diese Merkmale schon vorhanden sind. Das Beispiel mit den Personalnummern habe ich lediglich gewählt damit direkt klar ist was ich abfragen möchte. Außerdem können die Leute mehrfach vorkommen, weil die Personen logischerweise mehrfach an den Tests teilnehmen. Ich hoffe das ist einigermaßen verständlich formuliert :D
 

Ähnliche Java Themen


Oben