2010-06-17 3 views
0

Таблица usersКак разрешить пользователям получать доступ к своим различным элементам профиля?

User_id, username, display_name, date_of_birth, email, telephone, website 

На некоторых сайтах социальных сетей, я могу контролировать, кто может просматривать свою электронную почту, date_of_birth или display_name, например, друзья могут просматривать свою электронную почту, но не гости и т.д. Если я должен предложить что-то подобное на моем веб-сайте, где пользователи могут отслеживать электронную почту, телефон, отображаемое имя (или другие поля) и разрешать его всем или только членам, то какая структура таблицы данных мне нужна для хранения этой информации.
Я думал добавить такие поля, как .. email_public_access (0,1), email_members_access (0,1) для каждого столбца, в котором мне нужен контроль!

Любые другие идеи?

ответ

0

Вы можете посмотреть схему базы данных для Facebook[1], чтобы получить вдохновение от того, насколько сложной будет структура базы данных.

Я не думаю, что вам нужно несколько столбцов для хранения типа доступа к электронной почте, достаточно одного столбца integer. Вы должны использовать enumaration с возможными значениями для типа доступа, например:

EMAIL_PUBLIC_ACCESS = 1 
EMAIL_MEMBER_ACCESS = 2 
EMAIL_FRIEND_ACCESS = 3 
EMAIL_NO_ACCESS = 4 

Еще один интересный article, что стоит читать.

Смежные вопросы