2021. 10. 11. 21:32ㆍMajor`/DB
ER 모델
- DB 설계를 용이하게 하기 위해 피터 첸이 제안
데이터 모델 표기법 (ERD)
- Chen - 대학 교재에서 많이 이용 / 실무적으로 사용 안 함
- IE/Crow's Foot - 가장 많이 사용하는 표기법
- Barker - Crow's Foot을 적용하는데 일부 다름
ER 모델의 구성 요소
- 개체 (Entity)
- 관계 (Relationship)
개체 (Entity) ≥ 1
- 사람, 사물, 개념, 사건과 같이 독립적으로 존재하면서 고유하게 식별이 가능한 실세계의 객체
- 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등
- 각 개체만의 고유한 특성이나 상대, 즉 속성을 1개 이상 가지고 있음
※ ER 다이어그램 표기법 : 직사각형
개체 인스턴스, 개체 타입, 개체 집합
- 개체 타입 (Entity Type)
- 개체를 고유의 이름과 속성들로 정의한 것
- 동일한 속성들을 가진 개체들의 틀(구조)
- 개체 인스턴스 (Entity Instance)
- 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
- 동의어 : 개체 어커런스 (Entity Occurrence)
- 개체 집합 (Entity Set)
- 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것
Example)
속성 (Attribute) ≥ 0
- 개체나 관계가 가지고 있는 고유의 특성
- 하나의 개체는 연관된 속성들의 집합으로 설명됨
- 한 속성의 도레인은 그 속성이 가질 수 있는 모든 가능한 값들의 집합을 의미
- 여러 속성이 동일한 도메인을 공유할 수 있음
- 키 속성은 한 속성 또는 속성들의 모임으로서 한 개체 타입 내에서 각 개체를 고유하게 식별함
※ ER 다이어그램 표기법
- 속성은 타원형으로 나타냄
- 속성은 개체와 실선으로 연결
- 기본 키에 속하는 속성은 밑줄을 그어 표시
속성의 분류
1. 속성 값의 개수
- 단일값 속성
- 1개의 값을 가지는 속성
- 대부분의 속성은 단일 값 속성
- 실선 타원으로 표현
- 다중값 속성
- 여러 개의 값을 가질 수 있는 속성
- 이중선 타원으로 표현
2. 의미의 분해 가능성
- 단순 속성
- 의미를 분해할 수 없는 속성
- 실선 타원으로 표현
- 복합 속성
- 의미를 분해할 수 있는 속성
- 큰 타원 아래 작은 타원으로 연결
3. 기존 속성 값에서 유도
- 저장 속성
- 다른 속성의 값으로부터 얻어질 수 없는 속성
- 실선 타원으로 표현
- 유도 속성
- 다른 속성의 값으로부터 유도되어 결정되는 속성
- 점선 타원으로 표현
관계 (Relationship)
- 개체들 사이에 맺고 있는 연관이나 연결
- 개체들 사이의 대응 관계, 즉 매핑(Mapping)을 의미
※ ER 다이어그램 표기법 : 마름모
ex) '구매' 관계
관계 인스턴스, 관계 타입, 관계 집합
- 관계 인스턴스 (Relationship)
- 개체 인스턴스들간에 맺어진 연관
- 관계 타입 (Relationship Type)
- 개체 타입과 개체 타입 간의 연결 가능한 관계를 정의한 것
- 관계 집합 (Relationship Set)
- 동질의 관계 인스턴스들의 집합
Example)
관계의 속성
- 관계는 관계의 특징을 설명하는 속성들을 가질 수 있음 / '설명 속성'으로 부름
관계의 유형
- 관계 차수 (Degree) : 관계에 참여하는 개체 타입의 수
- 매핑 카디날리티 (Mapping Cardinality) : 관계를 맺는 개체 타입에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 타입의 개체 인스턴스 개수
매핑 카디날리티 (Mapping Cardinality) 유형
1. 일대일(1:1) 관계
2. 일대다(1:n) / 다대일(n:1) 관계
3. 다대다(n:m) 관계