문제 설명
ER 다이어그램은 다양한 테이블과 그 사이의 관계를 그림으로 표현한 것입니다. ER 다이어그램 우리는 데이터베이스의 수를 줄일 수 있습니다.
일대일 카디널리티
일대일 카디널리티가 있는 아래 다이어그램을 살펴보겠습니다. -
위의 ER 다이어그램은 3개의 엔티티를 나타냅니다 -
- 직원 엔터티에는 emp_name이라는 2개의 속성이 있습니다. emp_id는 기본 키입니다.
- 회사 엔터티에는 cmp_name이라는 2개의 속성이 있습니다. cmp_id는 기본 키입니다.
- 작업 엔터티의 기본 키는 emp_id 또는 cmp_id일 수 있습니다.
- 3개의 테이블을 하나의 테이블로 결합할 수 없으며 Work를 Employee 또는 Company로 병합할 수 있습니다. 일대일 카디널리티 시나리오에는 최소 2개의 테이블이 필요합니다.
일대다 카디널리티
일대다 카디널리티가 있는 아래 다이어그램을 살펴보겠습니다. −
이 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 다이어그램에서 직원은 여러 회사에서 일할 수 있습니다. 회사에는 그러한 직원이 많이 있을 수 있습니다. 위의 ER 다이어그램은 3개의 엔티티를 나타냅니다 -
- 직원 엔터티에는 emp_id 및 emp_name의 2가지 속성이 있습니다. emp_id는 기본 키입니다.
- 회사 엔터티에는 emp_id 및 cmp_name의 2가지 속성이 있습니다. cmp_id는 기본 키입니다.
- 이전 예와 달리 Work 테이블을 Employee 또는 Company와 병합할 수 없습니다. 병합하려고 하면 중복 데이터가 생성됩니다. 따라서 다대다 카디널리티 시나리오에서는 최소 2개의 테이블이 필요합니다.