Announcement

Collapse
No announcement yet.

Zwei ID Einträge in eine Spalte

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zwei ID Einträge in eine Spalte

    Hey,
    bin gerade dabei ein kleine Tool für mich zu schreiben. Funktioniert alles auch recht prächtig nur hab ich ein Problem. Ich hab zwei Tabellen (Mitarbeiter, Job)
    In Mitarbeiter sind die ganzen Daten (MitarbeiterID, Vorname, Nachname,...) und Job(JobNr, Beschreibung, MitarbeiterID,..).
    Das Update/Insert mit einer MitarbeiterID in der Anforderung geht ja auch. is ja nicht so schwer, aber mein problem, dass mehrere Mitarbeiter einem Job zugeordnet werden können. Also ich speicher nur die MitarbeiterID in die JobTabelle und würd dort gerne nur eine Spalte haben, wo ich die ID´s reinspeicher. Kann mir da jemand helfen wie ich das umsetzen kann? ev. auch gleich mit einer Abfrage obwohl ich mir die dann selber zamschachteln kann auch
    btw handelt sich um einen MS SQL Server 2008 r2
    danke schonmal im voraus

  • #2
    Wenn du mehrere Mitarbeiter in eine Spalte schreibst geht dir jede relationale Funktionalität in der Datenbank verloren. Du bist dann selbst dafür verantwortlich die Liste auseinander zunehmen Jobs und Mitarbeiter zuzuordnen und was da sonst noch noch nötig wäre. Reine SQL Mittel sind dir dann weitgehend versperrt.

    Wenn du schon eine relationale Datenbank verwendest solltest du auch relationale Methoden anwenden und das heißt in diesem Fall das du du eine n-n Relation zwischen Job und Mitarbeiter (und keine 1-n wie deine Beschreibung deiner Datenbankstruktur impliziert) hast. Üblicherweise werden die mit einer eigenen weiteren Mapping Tabelle dargestellt. Also wirf die MitarbeiterID aus der Job Tabelle und erzeuge dir eine weitere Tabelle in der du Paare von JobNr-MItarbeiterId aufnimmst. Die Tabellen Mitarbeiter, MappingTabelle und Jobs kannst du dann wieder relational verknüpfen.

    Comment


    • #3
      allerdings auch wieder richtig, auf das hab ich noch gar nicht gedacht
      danke für hilfe

      Comment

      Working...
      X