제 4절 관계(Relationship)
1. 관계의 개념
가. 관계의 정의
사전적 정의 : 상호 연관성이 있는 상태
데이터 모델에 의한 정의 : 엔티티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태
나. 관계의 패어링
각각의 엔티티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태를 관계 패어링(Relationship Paring)이라 한다. 관계는 엔티티 안에 인스턴스가 개별적으로 관계를 가지는 것(패어링)이고 이것의 집합을 관계로 표현한다는 것이다.
최초의 ERD 모델에서는 관계는 속성을 가질 수 있었으나 요즘의 ERD 에서는 관계를 위해 속성을 도출하지 않는다.
관계의 표현에는 이항관계(Binary Relationship), 삼항관계(Ternary Relationship), n항관계가 존재 할 수 있다.
2. 관계의 분류
존재의 의한 관계 / 행위에 의한 관계
ex) 사원은 부서에 항상 속해있다 / 주문은 고객이 주문을 할 때 발생된다
3. 관계의 표기법
- 관계명(Membership) : 관계의 이름
- 관계차수(Cardinality) : 1:1, 1:M, M:N
- 관계선택사양(Optionality) : 필수관계(Mandatory), 선택관계(Optional)
4. 관계의 정의 및 읽는 방법
가. 관계 체크 사항
- 두 개의 엔티티 사이에 관심있는 연관규칙이 존재하는가?
- 두 개의 엔티티 사이에 정보의 조합이 발생되는가?
- 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가?
나. 관계 읽기
- 기준(Source) 엔티티를 한 개 또는 각으로 읽는다.
- 대상 엔티티의 관계참여도 즉 개수를 읽는다.
- 관계선택사양과 관계명을 읽는다.
'Computer Science > SQL-D' 카테고리의 다른 글
[SQLD] 6. 성능 데이터 모델링의 개요 (0) | 2016.08.04 |
---|---|
[SQLD] 5. 식별자(Identifiers) (0) | 2016.08.01 |
[SQLD] 3. 속성(Attribute) (0) | 2016.08.01 |
[SQLD] 2. 엔티티(Entity) (0) | 2016.08.01 |
[SQLD] 1. 데이터 모델의 이해 (0) | 2016.08.01 |