sql >> Database >  >> RDS >> Mysql

Hoe een gecategoriseerde veel-op-veel databaserelatie weer te geven waarbij categorieën specifiek zijn voor één kant van de relatie

Voeg een ID-veld toe aan je Job Titles tabel - laten we het JobTitleID noemen

Nu je Assignments tabel heeft Employee ID en JobTitleID .

Dit betekent natuurlijk dat om de projecten voor een medewerker te vinden, je moet deelnemen via de Assignments tafel en de Job Titles tafel

BEWERKEN

Na discussie in de opmerkingen, negeer het bovenstaande alsjeblieft, ik heb het alleen als geschiedenis achtergelaten.

Hier is nu de nieuwe versie:Uw Assignments tafelbehoeften (zoals je al hebt overwogen)

  • Werknemers-ID
  • Project-ID
  • Titel-ID
  • Opdracht-ID

Maar het heeft ook een UNIQUE INDEX(EmployeeID, ProjectID) nodig - dit maakt het onmogelijk voor één medewerker om dezelfde . te zijn project onder verschillende titels.

Meerdere werknemers onder dezelfde titel zijn nog steeds toegestaan, evenals meerdere titels in verschillende projecten voor één medewerker.



  1. Variabele in while-lus krijgen op basis van wat de gebruiker kiest?

  2. SQL GROUP_CONCAT opgesplitst in verschillende kolommen

  3. Hoe maak je een 'tweezijdige' unieke index op twee velden?

  4. Kopieer een tabel met gegevens van de ene MySQL-server naar de andere