ERD(Entity Relationship Diagram)
개체 또는 데이터 간의 관계를 표현한 도식화된 그림을 말합니다.
글로 표현되어 있는 관계를 그림으로 나타낸 것입니다.
Entity
데이터의 집합을 의미하는 추상적인 의미를 뜻합니다.
Entity는 여러 속성(Attribute)를 가집니다. 예를 들어 사람, 자동차 등등
Attribute
구체적인 데이터를 말합니다.
예를 들어 사람의 Entity일경우 팔, 다리, 머리 등이 데이터가 될 수 있을 것 입니다.
Relationship
관계를 의미합니다.
관계는 Mandatory(무조건) 또는 Optional(있을수도 있고 없을수도 있음)이 있습니다.
ERD 표기 방법
관계(Relationship)
1. 관계의 정의
- 관계란, 두 엔티티 사이의 논리적인 관계, 쉽게 표현해서 두 엔티티 간의 업무적인 연관성
1) 관계의 명명
- 이러한 관계를 정의할 때는 애매한 동사는 피하고 현재형으로 표현한다.
2) 관계차수(Cardinality)
- 두 개의 엔티티간 관계에서 참여자의 수를 표현하는 것.
- 1:1, 1:M, N:M 이 있다.
■ 1:1 관계
- 한 개의 구매신청서에 대해 한 개의 구매주문을 신청한다.
- 한 개의 구매주문에 대해 한 개의 구매신청서 내용을 작성한다.
■ 1:M 관계
- 한 부서에는 여러 사원을 포함한다.
- 한 명의 사원은 한 부서에 소속된다.
■ N:M 관계
- 하나의 주문에는 여러 개의 제품을 포함한다.
- 한 제품은 여러 개의 주문을 통해 주문된다.
3) 선택성
- 두 엔티티 간에 관계가 설정되었을 때, 항상 두 엔티티의 모든 인스턴스간에 관계가 존재해야 하는지(Mandatory) 아니면 모든 인스턴스에 대하여 존재할 필요가 없는지(Optional)를 나타낸다.
- 일반적이고 상식적인 선에서 먼저 판단한다.
- 각 부서에는 여러 사원을 포함할 지도 모른다. (Optional)
- 각 사원은 단 하나의 부서에 소속된다. (Mandatory)
2. 관계의 종류
1) 정상 관계
- 엔티티와 엔티티가 독립적으로 분리되어 있으면서, 상호간에 한 가지 관계만 존재하는 형태
2) 재귀적 관계
- 하나의 엔티티 내에서 엔티티와 엔티티가 관계를 맺고 있는 형태.
- 부서, 부품, 메뉴 등과 같이 계층 구조 형태를 표현할 때 유용하다.
- 부품은 다른 부품으로 조립된다.
3) 병렬 관계
- 엔티티와 엔티티가 독립적으로 분리되어 있으면서 두 개 이상의 관계가 상호간에 존재하는 형태
- 주문을 신청한 주문자로써의 관계와 주문한 물건을 받는 수신자로써의 관계
4) 슈퍼타입 서브타입 관계
- 공통 속성을 가지는 슈퍼타입과, 공통 부분을 제외하고 두 개 이상의 엔티티간의 속성에 차이가 있을 때 별도의 서브타입으로 존재할 수 있다.
- 배타적 관계 : 슈퍼타입의 엔티티가 반드시 하나의 서브타입에는 속하는 관계
- 포함 관계 : 슈타타입의 엔티티가 두 개 이상의 서브타입에 포함될 수 있는 관계
- 직원은 반드시 일반직원이나 촉탁직원 중 하나에만 속할 수 있다.
- 인터넷 접수를 한 사람이 다시 방문 접수할 수 있다.
- 슈퍼타입 서브타입 모델에서는 자료 원천 구분 표시(직원구분코드, 접수구분코드)가 반드시 있어야 한다.
- 직원은 반드시 일반직원이나 촉탁직원 중 하나에만 속할 수 있다.
- 인터넷 접수를 한 사람이 다시 방문 접수할 수 있다.
- 슈퍼타입 서브타입 모델에서는 자료 원천 구분 표시(직원구분코드, 접수구분코드)가 반드시 있어야 한다.
5) 식별/비식별 관계
- 식별 관계 : 부모 엔티티의 주식별자가 자식 엔티티의 주식별자로 상속
- 비식별 관계 : 부모 엔티티의 주식별자가 자식 엔티티의 일반속성으로 상속
3. 관계정의서 작성
- 관계에서 중요한 세 가지는 방향, 관계차수( 1:1, 1:N, N:M), 선택성(옵션, 필수) 이다.
1) 다음과 같이 질문하는 것은 관계를 도출하는데 유용할 수 있다.
- 각각의 사원은 한 부서에만 속할 수 있습니까?
- 각 부서에는 여러명의 사원이 항상 소속되어 있습니까?
2) 관계 정의서 작성
기준 엔티티 | 관계형태(방향, 관계차수, 선택성) | 선택성 | 관련 엔티티 |
회원 | - 각각의 회원은 여러 번의 주문을 할 수 있다. - 각 주문은 한 회원에 의해 주문될 수 있다. | 선택 필수 | 주문 |
주문 | - 각각의 주문에는 여러 개의 주문목록을 포함한다. - 각각의 주문목록은 하나의 주문내용에 포함된다. | 필수 필수 | 주문목록 |
주문목록 | - 각각의 주문목록은 한 개의 도서와 연결된다. - 각각의 도서는 여러 주문목록에 주문될 수 있다. | 필수 선택 | 도서 |
3) 관계정의서를 이용하여 ERD를 그린다.














