2012-12-01 2 views
1

Google+ 서클과 같은 데이터베이스 구조 (mysql)와 사용자 정의 서클 추적 방법에 대해 궁금합니다. 사용자가 특정 다른 사용자와 콘텐츠를 공유하도록 선택할 수있는 앱과 비슷한 것을 구현하고 싶습니다.Google+ 서클과 같은 기능 구현

기본적으로 사용자는 친구가 볼 수있는 콘텐츠를 필터링하기 위해 정의한 그룹에 친구를 배치 할 수 있습니다. 현재로서는 친구 시스템을 매우 간단하게 구현했습니다.이 테이블은 users 테이블과 friends 테이블을 포함하는 표준 정규화 된 데이터베이스입니다.

"그룹"또는 서클의 데이터베이스 구조를 설정하는 방법에 대해 알려줄 수 있습니까? 나는 Friends 테이블에 여분의 필드를 추가하는 것에 대해 생각했다.이 테이블은 그룹 테이블에 대한 외래 키일 것이다. 그러나 특히 사용자가 그룹을 정의하고 원하는 수의 그룹에 친구를 배치 할 수있는 경우 매우 신속하게 다루기가 어려워지는 것을 알 수 있습니다.

Google 서버의 컴퓨팅 성능을 필요로하지 않거나이를 신속하게 구현할 수 있습니까?

+1

그룹 테이블, 사용자 테이블, 사용자 그룹 관계 테이블이 있습니다. 그룹 테이블에는 그룹 작성자/소유자를 포함한 그룹 정보가 있습니다. 셋째, 그룹 ID와 사용자 ID가 필요합니다. 원하는만큼 많은 그룹의 사용자를 보유 할 수 있습니다. – sachleen

+1

Google의 구현은 [BigTable] (http://en.wikipedia.org/wiki/BigTable)입니다. 여기서 귀하는 SQL입니다. 하지만 실제로 다른 테이블이 없어도 그룹을 "숨겨진 사용자"로 취급하십시오. 사용자 _bgoers_group1의 친구는 친구의 group1 친구입니다. – ckhan

+0

@NullPointer - 고정 – ckhan

답변

0

내가 생각할 수있는 가장 좋은 방법은 다음

사용자 테이블
친구 테이블 (2 사용자 ID와 아마에 대한 하나 개의 필드 "아직" "허용"또는) - 나는 두 가지 방법으로 우정
추천 그룹 테이블

을 당신이 뭔가를 할당 할 때, 당신이 할 수있는 ("아직" "허용"나에 대한 GROUP_ID, USER_ID 어쩌면 하나 개의 필드) (GROUP_ID, 소유자 (여부), 설명)
group_participants 테이블 "그룹"을 포함한 다양한 옵션을 갖거나 그룹 목록을 l에 추가 할 수 있습니다. 같은 편지의 일종으로 사용자의 인도 표준시 :

  • 케이트
  • 연구소 (할머니)

또한

  • 친구 (할머니), 그룹에 내용을 할당 할 수 두 가지 방법으로 관리 할 수 ​​있습니다.
    1) 실제로 group_id에 권한을 할당하려면 (콘텐츠를 할당 한 후 편집 할 수 있도록)
    2) 즉각적으로 그룹의 각 사용자에게 권한을 할당하십시오 (이것은 할당을 그룹 밖으로 내쫓을 수 있도록합니다)

    옵션 1로 가면 "손으로 따기" "사람들은 숨겨진 맞춤 그룹처럼 작동합니다.

    그냥 내 2c