При разработке таблиц необходимо учитывать не обязательно то, к чему у них будет доступ и как они похожи / не похожи, а то, как сами уровни пользователей похожи / не похожи.
Например,если типы пользователей будут иметь одинаковые атрибуты (имя, адрес электронной почты, дата рождения и т. д.), то они принадлежат одной таблице вместе со столбцом, указывающим их уровень привилегий.
Это также облегчает изменение уровней привилегий для пользователя,посредством чего вы можете превратить обычного сотрудника в администратора, например, просто обновив запись в пользовательской таблице.
Если поставщики - это объект другого типа с атрибутами, отличными от двух других, поставщики могут принадлежатьих собственная таблица.
Или еще одна вещь, которую следует учитывать: вы можете использовать таблицу users
, которая содержит только очень ограниченную информацию о пользователях всех трех типов, и если типы имеют расширенные атрибуты, которые нехорошо связаны друг с другом, вы можете хранить их в других таблицах с переднимключ зажигания возвращается к основной таблице users
.