1. 정의
ER diagram 이란 Entity-Relationship Model을 표현하는 것으로,
현실세계의 요구사항(Requirements)들로 부터 Database를 설계과정에서 활용된다.
즉, 개념을 모델링하는 것으로 개체(entity)와 속성(attribute), 관계성(relationship) 을 표현한다.
일반적으로, Peter Cheng's Notation으로 표현한다(기타 방법은 맨 아래 참고)
1) 개체(Entities)
-
표현할 정보를 가지고 있는 독립적인 객체 또는 실체
- 비슷한 속성의 개체 타입을 구성하며 개체 집합으로 묶임
- 약한 개체(Weak Entity) : 고유적으로 구분될 정보를 가지고 있지 않은 개체. 이러한 Weak Entity는 의존하고 있는 주인 개체(Owner Entity)가 존재하며, Weak Entity의 구분자는 (Owner Entity의 구분자, Weak Entity의 Partial key) 로 구성된다.
2) 속성(Attributes)
- 속성은 개체(Entity)가 지니고 있는 특성, 성질 (ex. 학생(개체)의 학번, 학과 등 )
-
속성은 기본적으로 타원으로 표현하며 개체(직사각형)와 실선으로 연결
- 속성 도메인(Attribute Domain)이란 해당 속성이 가질 수 있는 집합 (ex. 성별(속성)의 도메인 : 남, 여)
- Key attribute는 개체를 고유적으로 구분할 수 있는 속성 (ex. 사원 - 사번, 국민 - 주민등록번호 등)
- Multivated attribute는 속성값이 여러 개 존재할 수 있는 속성 (ex. 부서의 위치가 1층과 4층 등 여러 곳에 존재할 수 있다면 Location 속성은 다중값 속성이 될 수 있음)
- Partial key attribute는 약한 개체를 구분할 수 있는 속성
- Composite attribute는 여러 속성들이 함께 구성하고 있는 속성(ex. FamilyName + FirstName = Name )
- Derived attribute는 다른 속성으로부터 유도되어 가지게 된 속성 (ex. 전체 직원 수 속성, 직원 월급 속성 으로 부터 유도된 전체 직원 총 월급 예산 속성)
3) 관계성(Relationship)
- 관계성은 ER Diagram의 가장 큰 목적 중의 하나로 개체(Entity)들 간의 관계를 표현
- 관계를 통해 Entity를 이해하고, DB를 이해할 수 있다.
- Strong Relationship은 개체가 다른 개체를 통해 존재할 수 있는 의존적인 관계를 뜻한다(부모 개체가 있어야 자식 개체도 존재 가능한 경우) 마름모로 표현
- Weak Relationship은 개체가 다른 개체와 독립적으로 존재할 수 있는 독립적인 관계를 뜻한다(부모 개체와 상관없이 자식 개체가 존재 가능한 경우) 이중 마름모로 표현
- Participation constraints(참여 제약 조건) : 전체참여(Total Participation)와 부분참여(Partial Participation)으로 나뉜다. 전체참여는 관계에 개체 집합의 모든 개체가, 부분 참여는 일부의 개체만 참여하는 것이다.
- 다시 말해, 전체참여는 관계 (최솟값, 최댓값)에서 최솟값 >=1 , 부분참여는 최솟값 >=0 을 뜻한다.
- Degree of Relationship(Cardinality) : 차수라고도 표현되는 관계의 정도는 1:1(One to One), 1:N(One to Many), N:1(Many to One), M:N(Many to Many)가 있다.
참고)
1. Crow's Foot Notation
관계성 표현법이 까마귀 발처럼 생겨서 이렇게 부른다.
2. Barker's Noation
3. UML class notation
'Archived(CSE Programming) > Database(Oracle)' 카테고리의 다른 글
B+ Tree의 삽입 (0) | 2019.10.16 |
---|---|
Oracle Table Index (0) | 2019.10.16 |
관계대수 & 관계해석 (0) | 2019.09.28 |
System Catalog 대상 SQL문 (0) | 2019.09.20 |
Oracle 연동 및 접속하기 (0) | 2019.09.19 |