Вот ситуация: у меня есть «пользователь», у которого много атрибутов.Например, «имя», «электронная почта», «пароль», «телефон».
Есть некоторые атрибуты, которые открыты для публики, например, «имя», «электронная почта».Эта информация открыта для всех, кто посещает сайт.
Но некоторые, только для органа доверия в системе, например, «телефон».Эта информация открыта для людей, которым пользователь доверяет .... (Предположим, у пользователя есть список доверия, который может принять другого пользователя в список доверия.)
И личный "пароль".Эта информация только для пользователя, другие люди не могут получить к ней доступ.
Пользователь может изменять различные уровни безопасности в зависимости от своих потребностей, например, пользователь хочет изменить «электронную почту» только для доверенного тела, он может это сделать.Это также позволяет пользователю изменить свой «телефон» на общедоступный.
Я использую три числа, чтобы представить три уровня права.Первый с 3, второй с 2, а частный с 1. Итак, я проектирую базу данных следующим образом:
User
id(PK)
nameId(FK)
emailId(FK)
passwordId(FK)
phoneId(FK)
Name:
id(PK)
name(String)
securityLevel(int)
Email:
id(PK)
email(String)
securityLevel(int)
Phone:
id(PK)
phone(int)
securityLevel(int)
Password:
id(PK)
password(String)
securityLevel(int) //It must be 1
Вопрос в том, что я могу это сделать, но в моей базе данных будет много таблицЕсть ли простой способ сделать это?Кроме того, есть ли какие-либо книги о подобных разработках баз данных?спасибо.