1. ER (Entity & Attributes)
Entity(엔티티)
ER 모델링의 기본 컨셉이다.
엔티티는 mini world의 특정 사물이다 오브젝트를 나타낸다. (사람, 차, 집 등 물리적인 것이나, 회사, 직업, 강의 등 개념적인 것)
Attribute(속성)
어트리뷰트는 엔티티의 특성을 나타낸다. 이름, 주민번호, 집주소, 성별 등을 어트리뷰트로 쓸 수 있다.
2. Attribute
Simple(Atomic) Attribute
atomic한 하나의 value를 갖는 어트리뷰트다. 주민등록번호, 주민번호 등이 여기에 해당 할 수 있다.
Composite Attribute
여러 어트리뷰트가 합쳐진 어트리뷰트다. 주소(아파트 동번호 + 아파트 호수 + 지역구 명 + 도시 명 + 국가 명), 이름(First name, Last name) 등이 있을 수 있다.
Multi-valued Attribute
배열처럼 여러개의 값을 가지는 어트리뷰트다.
이전 학력(초등학교, 중학교, 고등학교, 대학교...) 등이 있을 수 있다.
Composite + Multi-valued 어트리뷰트도 있을 수 있고, Composite, Multi-valued 어트리뷰트는 다양한 레벨에 존재 할 수 있다.(Composite 어트리뷰트를 여럿 가지는 Multi-valued 어트리뷰트, Multi-valued 어트리뷰트를 가지는 Composite 어트리뷰트 등)
2.1 Stored Attribute VS Derived Attribute
Stored Attribute
값이 저장된 어트리뷰트.
Derived Attribute
Stored Attribute로부터 도출될 수 있는 어트리뷰트.
ex) 직원들 개개인의 정보만 저장된 DB에서, 직원의 나이는 Stored Attribute, 직원들의 숫자는 Derived Attribute.
3. Entity Type and Entity Set
Entity Type(intension)
같은 어트리뷰트들을 가진 엔티티들의 집합. 스키마 같은 개념적인 것.
Entity Set(extension)
어떤 엔티티 타입의 모든 엔티티들의 집합.
이름 그대로 엔티티 타입은 타입, Set은 엔티티 인스턴스들의 집합이다.
4. Key Attribute(키 속성)
어떤 엔티티 타입에서 각각의 엔티티가 unique한(서로다른 값을 가지는) 값을 가져야하는 어트리뷰트를 Key Attribute라고 부른다.
5. Value Sets(Domain)
모든 Simple 어트리뷰트들은 특정 Value Set(Domain)과 연관된다.
예를 들어 MM-DD-YYYY 형식의 Date라는 어트리뷰트의 M,D,Y는 모두 정수이고, 나이 어트리뷰트는 16~70 범위의 도메인을 가진다.
Value Set은 수학적으로 다음과 같이 표현한다.
P(V) : Power Set of V
A(e) : 엔티티 e의 어트리뷰트 A 값
이 정의는 싱글 밸류 어트리뷰트, 멀티 밸류 어트리뷰트에 모두 적용될 수 있다.
컴포지트 어트리뷰트는 다음처럼 표현한다.
V1,V2,...,Vn은 A의 Simple Component Attrubute의 Value Set이다.
6. ER 다이어그램
다이어그램 구성요소
다이어그램 예시
7. Relationship
Relationship은 둘 이상의 엔티티를 연관시킨다.
ex)
EMPLOYEE 홍길동 works on the SpaceX PROJECT
EMPLOYEE 안철수 works for the H&R DEPRATMENT
n개의 엔티티 E_1, E_2, E_3,... E_n 타입들 사이의 Relationship set R(관계집합)은 E_j(1 <= j <=n)에 속하는 엔티티 n개(e_1, e_2, ... , e_n)와 관계를 갖는 r_i의 집합이다.
7.1 Relation Type의 Degree
왼쪽의 WORKS_ON Relationship은 두 가지 엔티티를 관계시키므로 Degree가 Binary고, 오른쪽의 SUPPLY 엔티티는 세가지 엔티티를 관계시키므로 Degree가 Ternary라고 한다.
7.2 Cardinality Ratio
Cardinality Ratio는 한 엔티티가 Relationship 인스턴스에 참여할 수 있는 최대 숫자를 나타낸다.
1:1, 1:N, N:1, M:N 이 있다.
1 : 1 |
N:1 |
왼쪽 그림은 EMPLOYEE 하나당 DEPARTMENT 하나와 관계를 맺는 1:1관계, 오른쪽 그림은 DEPARTMENT 하나당 EMPLOYEE N개가 관계를 맺는 N:1 관계의 예시다.
7.3 Binary Relationship의 Structural Constraint
Binary Relationship에는 다음과 같은 구조적 제약사항들이 존재한다.
Participation Constraint
엔티티가 존재하려면 또다른 엔티티와 관계되어야한다. Total Participation이든 Partial Participation이든 말이다.
8. Weak Entity
위크 엔티티 타입은 자기 자신을 위한 키 어트리뷰트를 가지지 않는 엔티티 타입을 말한다.
자기 자체로는 존재 할 수 없고, 다른 엔티티와의 Partial Relationship 관계를 통해서만 존재할 수 있다.
ER 다이어그램에서는 다음과 같이 표현한다.