в SQL, как я могу моделировать что-то вроде пользователя, который может быть бухгалтером, менеджером или работником, где они имеют разные атрибуты в зависимости от своей роли, но имеют одинаковые стандартные атрибуты пользователя (например, имя пользователя, пароль, адрес электронной почты) , разрешения и др. c). Например, у бухгалтера есть DailyBooks, а у рабочего нет. Я думал о чем-то вроде этого:
htt_ps: //i.st_ack.imgur.com/pzoDv.png (не может публиковать изображения)
Но users
будет иметь по крайней мере 2 NULL
поля всегда (например, менеджер не может быть ни работником, ни бухгалтером). Есть ли лучший способ сделать это? Я думал о создании таблиц managers
, accountants
и workers
с пользовательскими атрибутами и без выделенной таблицы users
, но что если мне нужно использовать стороннюю библиотеку для аутентификации пользователя, такую как devise
в RoR ? У них есть таблица users
, и вы можете расширить ее позже, поэтому я думаю, что мне нужна эта таблица.
Есть идеи? Спасибо.