2017-12-15 35 views
0

나는 지금까지 네 개의 테이블을 가지고있다. 그들은 이름은 다음과 같습니다모든 테이블에 대해 user의 외래 키를 사용해야합니까?

사용자 갱, gang_business, gang_members, gang_weapons

나는 내가 "사용자"또는 "깡패"테이블로 하나의 기본 키를 사용해야하는 경우 알아 내려고 노력하고 있어요 "gang_business", "gang_members"및 "gang_weapons"테이블의 외래 키입니다. "갱"테이블에는 사용자의 기본 키가 외래 키로 있습니다. 나는 어느 길을 택해야하는지 알아 내려고 노력 중이다. 제게 최고의 조언과 피드백을주십시오. 감사.

  • 사용자 테이블 (USER_ID, USER_NAME, USER_EMAIL, user_password)
  • 갱 테이블 (gang_id 266 gang_name, gang_color, gang_idelogy)
  • gang_business (business_id, USER_ID 및/또는 gang_id 바 , 레스토랑,
    카지노 등)
+0

데이터를 더 잘 보여 주거나 설명해 주실 수 있습니까? –

+0

나는 게시물을 편집했다. – BlackCoder

+0

이 링크는 데이터베이스 정규화에 대한 빠른 소개를 제공합니다. 데이터베이스 문제를 기반으로하는 응용 프로그램을 수정하는 것은 매우 비쌉니다. 즉 모래 또는 단단한 바닥에 집을 짓는 것과 같습니다. https://www.essentialsql.com/get-ready-to-learn-sql-database-normalization-explained-in-simple-english/ –

답변

0

에만 갱-sters는 gang_business 및 gang_members의 구성원이 될 수 있다면, 당신은 갱 테이블의 PK를 사용해야합니다. gang 테이블이 하위 그룹 인 수퍼 그룹이므로 사용자 PK를 사용하면 안됩니다.

+0

갱단 테이블은 갱단의 이름과 색과 이데올로기 같은 다른 속성으로 구성되어 있습니다. 나는 갱단원을 위해 gang_members 테이블을 사용할 것입니다. 전통적인 마피아 갱단과 같지 않습니다. gang_members는 모집 한 AI이며 다른 갱단 (그리고 모집 한 AI 회원)과 싸우기 위해 사용됩니다. . – BlackCoder

+0

@BlackCoder 의견이 아닌 게시물에 명확히 기재하십시오. – philipxy

1

사용자 및 갱단 테이블 내의 관계에 따라 다릅니다.

나는이 테이블에 함께 할 것입니다 :

사용자 (ID, 이름, 이메일, 비밀번호)

갱 (ID, 이름, 색상, idelogy)

gang_members : (USER_ID , gang_id)

user_weapons (USER_ID, weapon_id)

gang_business (gang_id, business_id)

무기 (ID, 이름, ...)

사업 (ID, 이름, ...)

나는 그들이 외래 키가있는 경우에만 접두사 열 것입니다.

무기는 사용자에게 속하고 사업체는 갱단에 속한다고 가정합니다.