ER Model(Entity-Relationship Model)
▷ 현실 상황과 조건을
엔티티 집합, 속성 집합, 엔티티 집합 간의 관계 집합을 이용하여 추상적으로 표현한 것.
▷ 특정 DBMS를 고려하지 않는 사람이 이해하기 위한 개념적 구조임.
표현 방법 : ERD
ER 모델 기반 CASE 도구: ERWin, DataArchitect 등 (표시법이 다를 수 있음)
구성요소
1. 엔티티(entity set)
▷ 현실에 물리적으로 존재하는 대상(유형 개체) 또는 개념적으로 존재하는 대상(무형 개체) 중 유용한 필수 정보
▷ 여러 개의 속성을 지닌 명사(속성은 서비스의 요구 사항에 맞춰 정해짐)
※ 인스턴스(entity instance): 엔티티가 실현된 형태, 집합의 원소
- 엔티티 명명 규칙
(1) 현업 업무에서 사용하는 용어 사용
(2) 약어는 되도록 지양
(3) 단수 명사 사용
(4) 엔티티의 이름은 동일하면 안됨
(5) 엔티티 생성 의미대로 부여
- 발생 시점에 따른 분류
(1) 기본 엔티티
발생: 다른 엔티티와의 관계에 의하지 않고 독립적으로 생성(원래 업무에 존재하는 정보)
특징: 다른 엔티티의 부모 역할
ex) 학과, 교수, 학생
(2) 중심 엔티티
발생: 기본 엔티티에서
특징: 데이터 양이 많음
해당 업무에서 중심적인 역할
다른 엔티티와의 관계를 통하여 행위 엔티티를 생성하기도 함
ex) 등록, 수강
(3) 행위 엔티티
발생: 두 개 이상의 부모 엔티티에서/ 분석 초기에는 거의 나타나지 않고, 상세 설계 단계에서 등장
특징: 내용이 빈번하게 변경되거나 데이터 양이 증가됨.
ex) 등록내역, 수강진행
※엔티티를 명확하게 분류하면 업무 분석에 효과적 ex) DB설계팀 내부 인원과 대화, 협업과 대화 등
- 종속성에 따른 분류
(1) 강한 엔티티: 독립적으로 존재 가능한 엔티티
ex) 건물
(2) 약한 엔티티: 하나 이상의 부모 엔티티로부터 물려받은 속성으로 자신의 존재 여부를 결정하는 엔티티
ex) 방(방은 건물 안에만 존재)
2. 속성(Attribute set)
▷ 엔티티의 특성이나 상태를 구체적으로 기술한 것 ex) 기숙사
※ 속성 값
▷ 엔티티의 특성이나 상태가 현실화한 값 ex) 그리핀도르
▷ 관계 데이터 모델에서 데이터의 가장 작은 논리적 단위
▷ 더 이상 분해할 수 없는 원자값으로 데이터 모델에 관한한 내부적 구조가 없음.
※ 도메인
▷ 하나의 속성이 가질 수 있는 같은 형식의 모든 원자 값들의 집합
- 식별자(identifier)
다른 인스턴스와 구별할 수 있게 하는 하나 또는 그 이상의 속성
ex) 학번
- 설명자(descriptor)
엔티티를 설명하기 위해서 존재하는 속성
ex) 머리색
- 다중값 속성(multivalued attribute)
하나의 속성이 여러 개의 속성 값을 갖는 것
ex) 취미
- 복합 속성(composite attribute)
속성 자체가 속성을 포함하는 경우
ex) 생년월일 (년, 월, 일, 시간)
3. 관계(relationship set)
▷ 엔티티와 엔티티 사이의 의미 있는 연관
▷ 존재의 행태나 행위로서 서로에게 영향을 주는 형태
존재에 의한 관계
행위에 의한 관계
> 특성
- 차수(degree)
특정한 관계에 연결된 엔티티의 개수
n차(1차: 자기 자신과, 2차: 두 개의 엔티티, 3차: 3개의 엔티티와 관계)
- 카디낼리티 (cardinality)
하나의 관계에 실제로 참여할 수 있는 인스턴스의 수
모델링하려는 현실의 시나리오로부터 유도, 관계에 참여하는 인스턴스들의 가능한 조합 제한
1 : 1, 1 : M, M : N
- 존재성 (existence)
필수적인 참여 관계(mandatory) vs 선택적인 참여 관계(optional)
예시 그림: https://jun2ee22.tistory.com/entry/%EC%97%94%ED%8B%B0%ED%8B%B0-%EC%98%88%EC%8B%9C
'일기' 카테고리의 다른 글
[ER모델] 기본_엔티티 예시 (3) | 2023.02.10 |
---|---|
[관계 데이터 모델] 기본( ex_MySQL) (0) | 2023.02.05 |
.. (0) | 2023.02.03 |
.. (0) | 2023.02.03 |
.. (3) | 2023.02.03 |