У меня есть база данных и обычно пользователи являются центральным объектом.
В базе данных у меня есть таблицы roles
и users in roles
, поэтому я могу предоставить пользователям разные разрешения на сайте.
Но теперь у меня есть одно сомнение.
я видел перед одной базой данных со структурой, как это (Пользователь в соотношении 1: 1 по отношению к другим таблицам):От 1 до 1 проекта базы данных
User{UserId, Username, Email etc.}
Admin{UserId, some specific columns}
Child{UserId, some specific columns}
Admin{Parent, some specific columns}
и другие таблицы подключены к пользователю не через таблицу пользователя, а через Admin, Child and admin.
Потому что теперь я дизайн моей базы данных У меня есть Пользователи и пользователи могут быть Admin, CompanyManager and Professor
.
Интересно, должен ли я проектировать стол, как показано выше, или просто полагаться на роли?
Что является преимуществом первого подхода?
А также в моей бизнес-модели Пользователь не обязательно должен быть CompanyManager или Professor, так что это на самом деле от 1 до 0 или 1 дизайн.
Что такое хороший способ создать базу данных со сценарием вроде этого?
Это не соотношение 1: 1, это 1: 0/1 –