Я создаю профили пользователей и имеют несколько вопросов, относящихся к схеме для уровней секретности:Социальная сеть - уровни конфиденциальности - схема базы данных
Для более детально -> Есть несколько полей, как на facebook - день рождения, пол, место , интересы, отношения, полное имя пользователя и т. д. С точки зрения базы данных - как это делается? Я использую MySQL, так что, прежде всего, могут ли уровни конфиденциальности работать в MySQL или мне нужна нереляционная БД? Затем, чтобы назначить приватность на полевом уровне это следующим образом:
Таблица объектов -> Профиль поле 1, поле профиля 2, .....
конфиденциальности таблицы поиска -> Друзья = 1, Друг друга = 2, Everyone = 3, Заблокированный список = 4, ...
Таблица объектов пользователя -> Поле профиля 1 имеет поиск в режиме конфиденциальности 1 (что означает, что поле 2 установлено только для друзей)?
Вышеупомянутые работы хорошо подходят для уровня конфиденциальности фиксированного списка, но если у нас есть уровни конфиденциальности не в списке, например: я хочу заблокировать человека X, Y & Z и разрешить одному пользователю по имени A видеть его, нет фиксированного уровней для этого, так как представить это на уровне схемы?
Это уровень подачи, но конфиденциальность даже на более высоком уровне объекта, например, отдельные фотографии, отдельные видео и т. Д. Итак, какие-либо общие предложения по использованию БД для использования/базовой схемы, чтобы вести меня о том, как это сделать?
Спасибо.
Таблица конфиденциальности - таблица конфиденциальности, которую я предполагаю? Но это не доходит до уровня поля. Как я мог бы представить свой день рождения, чтобы быть видимым, чтобы сказать «Только друзья» и мой Пол «Каждому, но только с г-ном Х и г-м Y заблокирован»? – Dia
Затем на таблице isPrivacyActivated вы добавляете два поля: friendid (varchar (36)) и isViewable (boolean), которые представляют, кому разрешено его видеть. Таким образом, вы можете удалить поле isActivated. – Spredzy