Relacje pomiędzy tabelami a implementacja w javie

0

Witam. Banalne pytanie, ale chciałem się upewnić

Mam klase pracownik , która dziedziczy po user. W bazie mam również takie relacje

user image

1

Przecież zespół to nie rodzaj pracownika tak samo jak kategoria. Wg mnie dziedziczenie tutaj nijak nie pasuje.

0

Rozumiem, dlatego nie dawało mi to spokoju. To jaką relacja mógłbym to połączyć ?

1

@balu jak zawsze w formie :D
Te powiązania nie maja sensu ani na poziomie Javy (co już wspomniano wyżej) ani na poziomie bazy danych. Pracownik -> Zespół to powinno być n:1 albo n:m zależnie od dziedziny, ale na pewno nie 1:1. Jeśli chodzi o kategorię to trudno powiedzieć bo nie wiem czym jest Kategoria pracownika. Że jeden jest gorszego sortu a drugi lepszego?
Pracownik powinien być częścią zespołu, więc na diagramie bazy danych powiązanie 1:wiele a w Javie w klasie Zespół powininen mieć Set<Pracownik>

Abstrahuje tu już nawet o tego że u ciebie pracownik z diagramu dopasowuje sobie kategorię po jej nazwie zamiast po jej ID (po co komu klucze obce? ;]) i że generalnie znów, jeśli pracownik może miec wiele kategorii to powinnu tu być n:m, a jeśli pracownik może mieć tylko jedną kategorię to powiązanie na diagramie powinno być w drugą stronę... U ciebie póki co jeden pracownik może niby mieć wiele kategorii, ale jednocześnie potrafi zapamiętać tylko jedną (i to z nazwy a nie z ID). Sensu to wielkiego nie ma. Żeby to działało, to kategoria musiałaby pamiętać ID pracownika...

0

@Shalom dziękuję za miły wstęp :D

No więc tak:

co do Pracownik -> Zespół - pełna zgoda poprawnione
kategoria - chodzi mi o kategorie prawa jazdy (może niezbyt opisane) i dlatego dopasowuje po nazwie ale fakt to nie jest do konca dobrze, no i zmiana wiele do wielu bedzie potrzebna

user image

1 użytkowników online, w tym zalogowanych: 0, gości: 1