Вообще любой тип учётной записи и есть роль.
Тут нужно отталкиваться от того, как это видно в самой базе данных. В базу данных вы не сможете закинуть ФУНКЦИОНАЛ либо ВОЗМОЖНОСТИ какого-то типа юзера, у вас есть только юзер. Отсюда выходит, что в БД у вас будет только одна таблица, где будут храниться ЮЗЕРЫ. В этой таблице будет колонка с типом юзера.
После получения рекорда из БД на сервере, вы сможете уже ставить условия через тот же if, имеет ли данных юзер доступ к тому или иному функционалу.
Так же на клиентской части (На разметке) вы можете определять, какие части интерфейса выводить юзеру в зависимости от роли, или к каким страницам давать доступ через тот же if или switch