2012-06-02 4 views
1

회사에 속한 "본사"및 "지사"라는 엔티티가 두 개인 있습니다. 본사에는 1 개 이상의 지사가있을 수 있습니다.ER 다이어그램 모델링 상황

그러나 회사에는 다른 모든 주요 사무실의 중심 장소 인 하나의 본사 만있을 수 있습니다. 이 상황을 어떻게 모델링해야합니까?

  1. 사용 2 개체, Main 부울 속성 Central이있을 것이다 MainBranch. 전이 의존성으로 이어질 것이므로 이것이 나쁘다고 생각합니까?
  2. 엔티티가 Main, BranchCentral 인 경우 Central 사무실 테이블에는 행이 하나만 있습니까?
  3. 또는 결국 MainBranch 인 두 엔터티가 있습니다. 여기에서 Main은 그 자체와 관계가 있습니다.

편집 : 회사는 둘 이상의 본사를 가질 수 있습니다.

+0

본사와 본사의 차이점은 무엇입니까? 그리고 엔터티에 대한 논리적 다이어그램을 설정하는 방법이나 데이터베이스에 어떤 테이블을 포함 시킬지에 대한 질문은 무엇입니까? –

+0

편집 내용이 앞에서 말한 내용과 모순됩니다. * 회사는 본사가 하나뿐입니다 *. 게시물의 일관성을 유지할 수 있도록 Yout 요구 사항을 제시하십시오. – Quassnoi

+0

아마도 엔티티의 이름을 다시 방문해야하며 모호한 경향이 있습니다. – Kjir

답변

0

Main officeCompany 사이에 일대일 관계를 만든 다음 Branch officeMain office 사이의 many-to-one을 만듭니다.

Branch officeCompany 사이에 직접적인 관계는 없지만 Main office을 통해 쉽게 전이 할 수 있습니다.

0

E-R 모델에서 상속을 사용할 수 있습니다. 일반 Office 수퍼 클래스 및 분기/주 하위 클래스가 있습니다. 회사는 본사와의 다 대일 관계 및 본사와의 일대일 관계를 통해 본사를 대표하게됩니다.

1

모델링 목적으로 회사, 본사, 지사의 세 엔티티가있을 수 있습니다. 회사는 본사와 1 대 1로 많은 관계를 맺습니다. 본사는 지사와의 관계가 0 대 많을 것입니다. 이것은 논리 데이터 구조를 캡처하는 것 같습니다.

나는 또한 당신이 물리적 구조에 대해 질문하고 있다고 생각합니다. 논리적 구조는 물리적 구조에 직접 매핑 될 수 있지만 반드시 필요한 것은 아닙니다. 문제는 데이터가 어떻게 사용 될지에 관한 것입니다.

을 가진 회사 테이블과 하나의 사무실 테이블 것이다 논리적 모델 중 하나 합리적인 구현 :

  • 그것이 본사 또는 지사
  • A는 여부를 지정하는 플래그 자체 조인 지사가 본사를 가리켜 야한다는 조건으로 "match back"이 본사가되어야한다는 제약 조건이 있습니다.
  • 모든 사무실에 공통된 필드 묶음
  • 소수의 필드가 하나 또는 다른 유형

또 다른 적절한 구현은 본사와 지사를 다른 테이블에 배치하는 것입니다. 이것은 데이터의 논리적 모델에 더 가깝습니다. 그러나 많은 쿼리가이 두 테이블을 결합하여 단일 테이블 접근 방식을 실제로는 더 효율적으로 만들 것이라고 상상합니다 (반드시 그런 것은 아닙니다).

불행히도 관계형 데이터베이스는 클래스 상속 개념을 잘 구현하지 못합니다.

1

엔터티 만들기 CompanyEntity Office. Company에서 Office까지 1 - M 관계를 만듭니다. 사무실의 유형은 Main 또는 Branch입니다. Office에서 1로 M 관계를 작성하십시오. 이 재귀 관계는 지점과 본사를 연결 한 것입니다. 마지막으로 Office에서 Company로 다시 1 대 1의 관계를 추가하고 역할 이름을 사용하여 Central Office를 식별하는 관계를 구별합니다.

Office를 수퍼 유형으로 만들고 기본 및 분기 하위 유형을 만들 수도 있습니다. 이를 통해 1에서 M 관계를 기본에서 지점으로 모델링하고 비즈니스 규칙을보다 명확하게 표시 할 수 있습니다.

여기에 ER 모델 조각을 붙여 넣을 수 있다면 좋을 것입니다! 요점은 Office가 여기있는 유일한 실제 엔터티이며, 주 및 지점은 Office의 하위 유형입니다. Central은 엔티티가 아니지만 사무실과 회사 간의 관계 역할입니다.

관련 문제