2011-02-02 1 views
0

코어 데이터가 데이터베이스가 아니므로 핵심 데이터에서 찾아보기 테이블을 생성, 관리 또는 구현하는 방법에 대해 혼란스러워집니다.코어 데이터의 찾아보기 테이블

다음은 내 프로젝트와 관련된 구체적인 예입니다.

직원 (1) -> (대부분의) 특성 (1)

talents 테이블로 구성

TalentSkillName (문자열)

TalentSkillLevel (INT)

하지만 계속 유지하고 싶지는 않습니다. TalentSkillName을 입력하면이 정보를 다른 별도의 테이블/엔티티에 넣을 수 있습니다.

핵심 데이터가 실제로 데이터베이스가 아니기 때문에 관계가 어떻게 생겼는지, 또는 조회 테이블을 핵심 데이터에 저장해야할지에 관해 혼란스러워집니다.

내가 생각하는 한 가지 해결책은 모든 TalentSkillNames의 PLIST를 사용한 다음 Talents 엔티티에서 단순히 PLIST 버전을 나타내는 숫자 값을 사용하는 것입니다.

감사합니다.

나는 당신이하고자하는 것을 믿는 다이어그램을 추가했지만, 이것이 정확한지 확신 할 수 없습니다.

Entity

+0

당신이 설명한 시나리오에서 AbilityCategories는 능력과 많은 관계를 가져야한다고 생각합니다. 또한, 관습은 일반적으로 엔티티를 단수 즉 Person, Ability, AbilityCategory로 명명하는 것입니다. – paulbailey

답변

1

난 당신이 세 번째 엔티티, Skill을 제안 것입니다. 이것은 Talent과 1 : 1의 관계를 가질 수 있습니다.이 관계는 단지 속성으로서의 레벨을가집니다.

실제로는 엔티티를 통해 StaffTalent 사이의 다 대다 관계를 모델링한다는 것을 의미합니다. 논리적으로, 그것은 당신이 묘사하고있는 상황에 맞아 보인다.

+0

이것은'Article' - <'Category'에 대해서도 효과가 있습니까? 범주 이름을 계속 반복하지 않으려 고합니다. 감사. – zardon

+0

Article 및 Category와 같은 관계의 경우, 여러면에서 (즉, Article이 많은 범주를 가질 수 있고 Category가 많은 기사를 가질 수 있음) to-many로 만들 수 있습니다. 핵심 데이터 모델링은 간단합니다. – paulbailey

+0

알겠습니다. 고마워요. 나는 당신이 주요 질문 스레드에 의미하는 것이라고 생각하는 다이어그램을 추가했습니다. – zardon