사용자는 프리랜서 및 회사와 같은 두 가지 프로필 유형 중 하나를 만들 수 있습니다. 이 프로필 유형에는 여러 공통 필드와 여러 고유 필드가 있습니다. 회사는 많은 사용자를 근로자로두고 있습니다.사용자 프로필 용 데이터베이스 디자인
더 명확히 말하면 : 사용자 HAS_ONE 프로필 (프리랜서 또는 회사); 회사 HAS_MANY 사용자;
이 상황에 가장 적합한 데이터베이스 디자인에 대한 제안 사항이 있으십니까?
사용자는 프리랜서 및 회사와 같은 두 가지 프로필 유형 중 하나를 만들 수 있습니다. 이 프로필 유형에는 여러 공통 필드와 여러 고유 필드가 있습니다. 회사는 많은 사용자를 근로자로두고 있습니다.사용자 프로필 용 데이터베이스 디자인
더 명확히 말하면 : 사용자 HAS_ONE 프로필 (프리랜서 또는 회사); 회사 HAS_MANY 사용자;
이 상황에 가장 적합한 데이터베이스 디자인에 대한 제안 사항이 있으십니까?
ProfileTypeID
값 외래 키와
하나 개의 데이터베이스 테이블이 하나 개의 필드가 도움이 될 것입니다
상속. 이 경우에는 3 가지 옵션이 있습니다.
첫 번째 옵션은 회사 및 프리랜서인지 알 수있는 typeid
테이블이있는 회사 및 프리랜서 용 큰 테이블이지만, 귀하의 경우에는 nulls
으로 끝납니다.
두 번째 옵션은 company 테이블과 freelancer 테이블과 사용자 테이블의 공통 속성에 대한 두 개의 개별 테이블입니다. 그런 다음 사용자 테이블에 typeId
을 추가하여 회사 또는 프리랜서인지 알아야합니다.
세 번째 옵션은 사용자, 프리랜서 및 회사에 대해 1 개의 큰 테이블을 만드는 것이지만 대부분의 null이있는 옵션입니다.
여러 개의 공통 필드와 여러 개의 고유 필드가 있기 때문에 두 번째 옵션이 가장 좋습니다.
사용자는 프로필이 없습니까? 당신은 확실히 여기에 테이블 상속을 사용해야합니다. –
예, 사용자는 프로필이 없어도 회사에 속할 수 있습니다. – breethe