2013-03-24 8 views
0

이 시나리오에서 관계를 알아내는 데 어려움이 있습니다.일대 다 또는 다 대다입니까?

소득 유형에 대한 체크 박스 목록을 만들고 싶습니다. UI는 "어떤 유형의 수입을 받습니까?"라고 표시됩니다. 상황을 단순하게 유지하기위한 선택은 풀 타임, 파트 타임 및 은퇴 일 수 있습니다.

본인은 이것이 일대 다 관계라고 생각하므로 한 개인이 하나 이상의 소득 유형을 가질 수 있으므로 연관 표가 필요하지 않습니다. 그러나 말 그대로, "정규직"고용은 많은 개인과 관련 될 수 있습니다. 이 경우, 나는 얼마나 많은 사람들이 "전임"인지에 대한 요약표를 보여주지 않을 것이며, 나는 한 사람을 상대하고 그들의 취업 상태가 무엇인지 결정한다.

하지만 저는 예를 들어 배우와 영화처럼 "전임"을 생각하지 않습니다. 많은 배우가 많은 영화에 출연 할 수 있고 많은 영화에는 다양한 배우가있을 수 있습니다.

나는 라디오 버튼 목록이나 드롭 다운 목록과는 달리 사용자가 하나 이상의 옵션을 선택할 수 있다는 사실을 깨닫는다.

이 경우, 어느 것입니까?

+0

확실히 많은 사람들이 있습니다. 어쨌든 연관 테이블을 원하지 않는다면, 비트 마스크를 사용할 수 있지만,이 시점에서 더 이상 DB 지향적이지 않습니다! – Teejay

+0

@Teejay, 대답에 정성을 기울여야하나요? –

+0

FYI : 연관 테이블을 사용하는 것에 불리한 점이 없으며 제대로 연결하려고합니다. –

답변

0

그것은 당신이 별도의 테이블로 소득 유형이 있는지 여부에 따라 달라집니다 아니면 그냥 문자열인지.

별도의 테이블의 경우 many-to-many입니다. 각 개인마다 여러 가지 소득 유형이 있습니다.각 소득 유형에는 여러 명이 있습니다.

1

many-to-many : Person-Employment Type.

많은 Person은 하나의 Employment Type을 공유 할 수 있습니다.

단일 Person은 여러 개의 Employment Type을 가질 수 있습니다.

내가 당신의 비즈니스 모델이 얼마나 풍부한 아무 생각도 없어,라고하는 데,하지만 난 엔티티에 Employment Typemany-to-one 협회 (보다는 Person에서 바로 그것을 참조)에 의해 Employment Type를 참조 것이라고 Employment라는 첨부 것입니다.

+0

좋아, 그게 좀 명확 해 - 내가 연관 테이블을 사용합니다. –

1

내 관점에서 보면 이것은 다 대다 관계입니다.

전일은 배우 또는 영화와 같은 엔티티입니다 (INCOME_TYPES 테이블이라고 가정).

  1. 스키마를 드-정상화 넣어 : 당신이 우리에게 있기 때문에

    , 당신은 일 수익 형 측개별 측을 보여주는하지 않습니다, 두 가지 대안이있다 INDIVIDUALS 테이블의 3 필드 이것은별로 좋지 않습니다.

  2. 코드면의 일부를 수행하는 경우 비트 마스크를 사용할 수 있습니다. 예를 들어

    • 1은 2 파트 타임 용이고 4는 은퇴를위한, 풀 타임입니다.