To, co należy wziąć pod uwagę przy projektowaniu tabel, niekoniecznie dotyczy tego, do czego będą mieli dostęp i jak to jest podobne/odmienne, ale raczej to, jak same poziomy użytkowników są podobne/różne.
Na przykład, jeśli typy użytkowników będą miały te same atrybuty (imię i nazwisko, adres e-mail, data urodzenia itp.), wówczas należą one do jednej tabeli wraz z kolumną wskazującą ich poziom uprawnień.
Ułatwia to również zmianę poziomów uprawnień dla użytkownika, dzięki czemu można zmienić zwykłego pracownika na administratora, na przykład, aktualizując rekord w tabeli użytkowników.
Jeśli Dostawcy są innym typem obiektu z innymi atrybutami niż pozostali dwaj, Dostawcy mogą należeć do własnej tabeli.
Lub jeszcze jedna rzecz do rozważenia:możesz użyć users
tabela, która przechowuje tylko bardzo ograniczone informacje o użytkownikach wszystkich trzech typów, a jeśli typy mają rozszerzone atrybuty, które nie są ze sobą dobrze powiązane, możesz przechowywać je w innych tabelach z kluczem obcym z powrotem do głównych użytkowników users
tabela.