2012-12-09 5 views
0

나는 사용자가 자신의 사용자가 될 회원 가입 사이트를 만들고 등록 할 수있는 webapp를 만들고 있습니다. 다음은 내 db 스키마의 시작입니다. https://dl.dropbox.com/u/558799/schema.pdf데이터베이스 스키마 도움말 - 회원 사이트를 만드는 회원 사이트 만들기

사용자는 많은 사이트에 속할 수 있으며 사이트에는 많은 사용자가있을 수 있습니다. 그러나 사용자는 각 사이트마다 별도의 사용자로 입력해야하므로 서로 다른 암호와 프로필을 가질 수 있습니다. 예제 사용자 A는 사이트 A와 B의 구성원입니다. 사용자 A는 사이트 B의 암호에 영향을주지 않고 사이트 A에서 암호를 변경할 수 있어야합니다. 사용자가 두 번있을 수 있도록 user_id에 외래 키로 site_id를 추가 할 수 있다고 생각합니다.

또한 다른 테이블에 대해 각 테이블에 site_id 외래 키를 넣어야합니까? 따라서 webapp의 모든 쿼리에는 site_id가 매개 변수로 사용됩니다. 따라서 사용자를 위해 주문을 검색 할 때 params로 site_id 및 user_id를 갖게됩니다.

이 유형의 응용 프로그램을 설계하는 가장 좋은 방법은 무엇입니까?

답변

0

아마 연관 테이블로 암호를 이동하는 것을 고려하십시오.

user 
------ 
user_id 

site 
------- 
site_id 

user_site 
---------- 
user_id 
site_id 
password <--- here you will get a different password per site 

도 연관 테이블 user_site_id 또는 무언가에 또 하나 개의 ID를 추가하는 것을 고려 - 당신은 다른 모든 참조에 열쇠로 그것을 사용할 수 있습니다

관련 문제