Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak reprezentować skategoryzowaną relację bazy danych wiele-do-wielu, w której kategorie są specyficzne dla jednej strony relacji?

Dodaj pole identyfikatora do Ciebie Job Titles tabela - nazwijmy ją JobTitleID

Teraz Twoje Assignments tabela zawiera Employee ID i JobTitleID .

Oznacza to oczywiście, że aby znaleźć Projekty dla pracownika, musisz dołączyć poprzez Assignments tabela i Job Titles stół

EDYTUJ

Po dyskusji w komentarzach proszę zignorować powyższe, zostawiłem to tylko jako historię.

Oto nowa wersja:Twoje Assignments potrzeby stołu (jak już rozważyłeś)

  • Identyfikator pracownika
  • Identyfikator projektu
  • Identyfikator tytułu
  • Identyfikator zadania

Ale potrzebuje również UNIQUE INDEX(EmployeeID, ProjectID) - uniemożliwi to jednemu pracownikowi przebywanie w tym samym projekt pod różnymi tytułami.

Wielu pracowników pod tym samym tytułem będzie nadal dozwolonych, a także wiele tytułów w różnych projekty dla jednego pracownika.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Moja konwersja SQL na Int, gdy nie powinna być O.o

  2. Czy mogę połączyć wiele wierszy MySQL w jedno pole?

  3. Pokazuje � zamiast £

  4. MySQL:Trwałe oczekiwanie na blokadę metadanych tabeli

  5. Błąd składni MySQL do Oracle (limit / przesunięcie / aktualizacja)