Relacje, pomocy

Witam.

Prawdopodobnie mam braki z baz danych i potrzebuję pomocy. Rozchodzi się o model relacji oraz jej zaimplementowanie.

Sytuacja wygląda następująco:

W firmie jest pracownik. Pracownik ten należy do dwóch lub więcej działów w firmie. Z racji tego, że jest on informatykiem, ma dostęp do poruszania się po sektorze informatycznym. Druga jego rola polega na robieniu kawy, więc w tej roli uzyskuje dostęp do automatu z kawą.

Więc.

Mamy role (informatyk, nosiciel kawy). Jednego pracownika, oraz wiele uprawnień (poruszanie się, oraz robienie kawy).

W zależności od roli jakie spełnia pracownik, uzyskuje on uprawnienia w firmie.
Dodatkowo w firmie jest wiele ról oraz miliony pracowników, więc duplikowanie danych nie wchodzi w grę.

Proszę o pomoc, dziękuję.

Serio? kto taki pzykłąd wymyśla
no ok mam andzieje ze sobie jaj nie robisz

User - model
Role - model
Dział - model

User ma wiele ról, rola ma wielu userów
User -> Role (wiele do wielu)

Rola ma dział
jak dla mnie wiele do wielu
Czyli 1 rola moze należeć do wielu działów i na odwrót (wiele - wiele)

Ale można uprościć i dać rola - dział (1-wiele)

Dzięki temu User-dział połączeni są też relacją poprzez rolę.

W sumie chyba tyle.