ER Model은 Conceptual Data Modeling을 위한 주된 도구로 사용되는데 그 이유는 아래 2가지와 같다.
ER Model은 Dr.Peter Chen에 의해 개발되었다. Dr.Peter Chen에 대한 자세한 내용은 하단의 참고를 확인하자.
ER Model은 3개의 가장 기초적인 구조를 가지고 있다.
Entity는 데이터로 만들기 원하는 실제로 사용되는 오브젝트이다.
홍길동, DB설계 및 구현2...
Entity Type은 일반적 특성 혹은 성격을 공유하는 entity들의 집합이다.
학생, 강의
우리가 ER Model에서 모델링하는 것은 entity가 아닌 entity type이다.
ER Model에서 사용하는 하나의 표준 표기법은 없기 때문에, 우리는 Dr.Peter Chen에 의해 만들어진 고전적인 표기법을 사용한다.
Relationship은 entity들 간의 연관관계를 표현한다.
홍길동이 DB설계 및 구현2 강의를 수강한다.
Relationship Type은 entity type들 간의 연관관계를 표현한다.
학생이 강의를 수강한다.
우리가 ER Model에서 모델링하는 것은 relationship이 아닌 relationship type이다.
Relationship Type은 동사를 이용하여 표현한다.
Attribute는 entity type 또는 relaionship type의 특징, 성격이다.
Field 혹은 column이라고도 불린다.
Attribute는 의미를 쪼갤 수 있느냐에 따라서 두 가지로 나눌 수 있다.
Attribute가 하나의 값만을 가지는지에 따라서 두 가지로 나눌 수 있다.
Attribute가 entity type의 각각의 entity에 대해 값이 유일한 경우, Identifier Attribute 혹은 Key Attribute라고 한다.
Relationship Type에 참여하는 entity type의 개수를 relationship type의 degree라고 한다.
하나의 entity type이 다른 entity type에 연관될 때, 각각의 연결되는 entity 개수.
- 1개의 Entity Type Name1은 여러 개의 Entity Type Name2와 relation 중이다.
- 1개의 Entity Type Name2는 1개의 Entity Type Name1과 relation 중이다.
- 1개의 Entity Type Name1은 여러 개의 Entity Type Name2와 relation 중이다.
- 1개의 Entity Type Name2는 여러 개의 Entity Type Name1과 relation 중이다.
각각의 entity eype의 entity들이 relation에 관여되어 있는지 아닌지를 의미한다.
예를 들어 부서와 직원이 있다고 하자. 모든 직원들이 부서를 위해 무조건 일하고 있지만, 주어진 부서 중에는 직원을 갖고 있지 않은 경우가 있다.
이 경우의 ER Model은 다음과 같다.
예를 들어 부서와 직원이 있다고 하자. 모든 부서들은 무조건 매니저인 직원을 가지고 있지만, 모든 직원들이 부서를 관리하고 있는 것은 아닌 경우가 있다.
이 경우의 ER Model은 다음과 같다.
Weak entity type은 일반적으로 Identifying owner entity와 연관된 Weak entity들을 유일하게 구별해주는 attribute 혹은 attribute 집합인 partial key를 가진다.