2012-01-05 2 views
0

Я изо всех сил найти лучший способ понять это:Что бы лучшую структуру базы данных для этого ...:

Допустим, я являюсь разработчиком на Facebook, и мне пришлось перепроектировать базы данных MySQL Facebook, (фокусировка только по их функции «Действия», где вы можете видеть, что ваши друзья поделились). Что было бы лучшим способом магазин статуса сообщений, комментарии по этим сообщениям, любит и другие вещи имея в виду, что пользователи должны иметь доступ только посты своих друзей. Не все остальные.

Может ли кто-нибудь предложить любой возможный способ справиться с этим. Структура базы данных или что-то было бы очень оценено.

Прежде, чем я забуду: я фактически проводил исследование (для моего личного роста в webdev). Я не собираюсь работать в Facebook или создавать новый Facebook или что-то в этом роде. Я просто хочу получить более глубокое понимание того, как эта ситуация была бы решена. Если это хорошо со всеми ... :-)

+1

Это вопрос, который лучше подходит для http://programmers.stackexchange.com/ – DaveRandom

+0

Спасибо DaveRandom. Я посетил этот сайт. – Sthe

+0

Когда я впервые прочитал это, я подумал о большинстве своих клиентов: «Сделайте мне приложение. Это должно быть так же, как и Facebook. Не стоит больше недели». – dar7yl

ответ

1

Это довольно субъективный вопрос, но я бы поставил его что-то вроде этого:

3 таблицы:

status_messages

id (PK) | user_id (FK) | message | timestamp 

status_comments

id (PK) | status_id (FK) | user_id (FK) | comment | timestamp 

status_likes

id (PK) | status_id (FK) | user_id (FK) | timestamp 

PK = первичный ключ FK = внешний ключ

Очевидно, что это не было бы полное решение, но вы можете получить точку из структуры. Вам также понадобится какая-то таблица участников/пользователей, и Facebook, очевидно, делает намного больше, чем то, что я изложил выше, но выше было бы достаточно для очень простой реализации системы.

+0

Благодарим вас за указание «субъективной» части и благодарю вас за ваш вклад. Я закрываю вопрос, прежде чем нарушу больше правил :-) – Sthe