Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

ER Diagram의 최소화

<시간/>

문제 설명

ER 다이어그램은 다양한 테이블과 그 사이의 관계를 그림으로 표현한 것입니다. ER 다이어그램 우리는 데이터베이스의 수를 줄일 수 있습니다.

일대일 카디널리티

일대일 카디널리티가 있는 아래 다이어그램을 살펴보겠습니다. -

ER Diagram의 최소화

위의 ER 다이어그램은 3개의 엔티티를 나타냅니다 -

  • 직원 엔터티에는 emp_name이라는 2개의 속성이 있습니다. emp_id는 기본 키입니다.
  • 회사 엔터티에는 cmp_name이라는 2개의 속성이 있습니다. cmp_id는 기본 키입니다.
  • 작업 엔터티의 기본 키는 emp_id 또는 cmp_id일 수 있습니다.
  • 3개의 테이블을 하나의 테이블로 결합할 수 없으며 Work를 Employee 또는 Company로 병합할 수 있습니다. 일대일 카디널리티 시나리오에는 최소 2개의 테이블이 필요합니다.

일대다 카디널리티

일대다 카디널리티가 있는 아래 다이어그램을 살펴보겠습니다. −

ER Diagram의 최소화

이 ER 다이어그램에서 직원은 한 회사에서 일할 수 있지만 회사에는 그러한 직원이 많이 있을 수 있습니다. 위의 ER 다이어그램은 3개의 엔티티를 나타냅니다 -

  • 직원 엔터티에는 emp_id 및 emp_name의 2가지 속성이 있습니다. emp_id는 기본 키입니다.
  • 회사 엔터티에는 emp_id 및 cmp_name의 2가지 속성이 있습니다. cmp_id는 기본 키입니다.
  • 여러 직원이 동일한 cmp_id에 대해 작업할 수 있으므로 cmp_id를 기본 키로 만들 수 없습니다. 그러나 Employee와 Work 테이블을 결합할 수 있습니다. 따라서 일대다 카디널리티 시나리오에서는 최소 2개의 테이블이 필요합니다.

다대다 카디널리티

일대다 카디널리티가 있는 아래 다이어그램을 살펴보겠습니다. −

ER Diagram의 최소화

이 ER 다이어그램에서 직원은 여러 회사에서 일할 수 있습니다. 회사에는 그러한 직원이 많이 있을 수 있습니다. 위의 ER 다이어그램은 3개의 엔티티를 나타냅니다 -

  • 직원 엔터티에는 emp_id 및 emp_name의 2가지 속성이 있습니다. emp_id는 기본 키입니다.
  • 회사 엔터티에는 emp_id 및 cmp_name의 2가지 속성이 있습니다. cmp_id는 기본 키입니다.
  • 이전 예와 달리 Work 테이블을 Employee 또는 Company와 병합할 수 없습니다. 병합하려고 하면 중복 데이터가 생성됩니다. 따라서 다대다 카디널리티 시나리오에서는 최소 2개의 테이블이 필요합니다.