나는 "재능"을 기반으로 웹 사이트를위한 새로운 프로젝트를 시작하고있다 - 예를 들면 :관계형 데이터베이스 디자인 (MySQL의)
- 모델
- 배우
- 가수
- 댄서
- 음악가
내가 제안하는 방법은 이러한 재능이 각각 h 자체 테이블을 열어 특정 사용자에게 레코드를 매핑하는 user_id 필드를 포함합니다.
웹 사이트에 가입 한 모든 사용자는 이러한 재능 중 하나 이상의 프로필을 만들 수 있습니다. 재능에는 재능이있을 수 있습니다. 예를 들어 배우는 TV 배우 또는 극장 배우 또는 음성 배우가 될 수 있습니다.
예를 들어 나는 모델 (Catwalk Model)과 배우 (TV 배우, 연극 배우, Voiceover 배우) 인 사용자 A가 있습니다.
내 질문은 :
내가이 사용자의 하위 재능을 저장하는 별도의 테이블을 생성해야합니까?
이 사용자의 최상급 재능 조회는 어떻게해야합니까? 나는. 각 재능의 ID 필드가 있어야 사용자 테이블에 있습니까? 또는 각 최상위 재능 테이블에서 해당 user_id가 존재하는지 확인하기 위해 조회를 수행해야합니까?
내가 알아야 할 사항은 무엇입니까?
환호하는 친구 - 제 생각에는 아마도 제 3의 옵션을 생각할 것입니다. 분명히 데이터 복제 (각 사용자의 재능 목록 저장)가 있으므로 사용자 재능이 삭제 된시기를 확인해야하므로 두 테이블의 항목이 모두 삭제됩니다. 그러나 그것 이외에 그것은 모두 좋다! – GSTAR
안녕 친구, 그냥 마지막 질문 하나만 - 내 talent_user 테이블에서 "활성"필드를 포함 할 계획입니다. 사용자가 해당 재능을 켜고 끌지 결정합니다. 따라서 모든 모델을 찾기 위해 쿼리를 수행 할 때 모든 모델이 활성 = 1 인 곳을 찾고 싶습니다. 어떻게 이것을위한 가입을 만들까요? – GSTAR
나는 "활성"필드가 필요하다고 생각하지 않는다. 아이디어는 .. 사용자가 모델과 TvActor이고 Talent_User 테이블에서이 사용자는 재능 "모델"과 관련이있을 뿐이며 재능 "TvActor".. 그게 당신이 어떤 재능을 가지고 있는지를 아는 방법입니다. 사용자와 관련된 재능을 알았 으면 적절한 테이블을 물어보십시오. 복잡한 것입니다. – pleasedontbelong