2017-05-05 1 views
0

간단한 웹 브라우저 게임을 만들었습니다. 이미 등록 및 로그인 양식이 작동합니다. - 자원 userId를 는 userName USEREMAIL userPass 내가 추가 데이터가 필요 다른 테이블과 사용자 데이터를 연결하는 방법은 무엇입니까?

: 나는 사용자 정보와 데이터베이스 및 테이블이 있습니다. 새 테이블 리소스를 만들어야하는데이 두 정보를 1 명의 사용자 (1 명의 사용자 ID)에 연결하려고합니다. userId를 (사용자 테이블과 동일해야합니다) 나무 철 돌

이 문제의 해결책은 무엇입니까 : 내 생각은 새로운 테이블 자원을 만드는 것입니다? 도와주세요.

답변

0

데이터베이스 디자인 선택은 대개 수행 할 쿼리의 종류에 따라 다르므로 두 가지 대안이 있다고 생각합니다.

첫 번째 옵션은 자원

resources 
user_id (fk for id of user) | wood_amount | iron_amount | stone_amount 

당신은 다른 유형을 추가 할 내일 경우는 단순한 디자인이지만, 각 유형에 대해 하나 개의 컬럼을 가지고있는 resources 테이블의 의미를, 당신이 설명하는 경로를 따르고있다 리소스를 사용하면 열을 추가해야합니다. 그럼 또 하나. 그럼 또 하나. 그럼 또 하나.

다른 옵션은 세 개의 테이블

user 
the one you already have 

resource 
resource_id | resource_desc 

user_resources 
user_id (fk to id of user) | resource_id (fk to id of resource | amount 

필요로하고 추가로 가입 할 수 있습니다 사용자의 자원에 대한 데이터베이스를 조회이 방법이있을 것이다 의미하는 표준 many-to-many 관계로 usersresources 사이의 관계를 설계되지만, 새로운 유형의 자원을 추가하는 것은 resource 테이블에 삽입하는 것입니다.

+0

고맙습니다. 나는 당신을 위해 간단하다는 것을 압니다. 그러나 저는 새로운 칼럼을 현재 사용자 테이블에 생성 할 것입니다. 새 사용자를 등록하면 userId userName userEmail userPass에 대한 모든 정보를 만들고 자원을 시작할 수 있습니다. wood_amount | iron_amount | stone_amount 한 번에. 나는 mysql과 php로 시작할 것이므로 아마도 이것을 개선 할 것이다. 이제 나는 내 동기 부여를 위해 그 일을 볼 필요가있다. 고마워, 나는 다른 시간에 당신의 길을 갈 것입니다. –

관련 문제