http://somnode.com/database-deiteobeiseu-seolgyewa-ermodel/
ER 모델
- 실세계를 엔티티, 애트리뷰트, 엔티티들 간의 관계로 표현함
- 카디날리티 비율, 참여 제약조건을 표현하기도 함
엔티티
- 독립적으로 존재하면서 고유하게 식별 가능한 객체
- 실체가 명확히 존재하는 실재적, 개념적인 것(사람,조직,물건,설계,돈)
엔티티타입
- 일반적으로 엔티티라고 부르는 단어가 사실은 엔티티타입을 의미함
- 동일한 애트리뷰트들을 가진 엔티티들의 틀
- ER데이터 모델에서 직사각형으로 나타냄
- 엔티티타입 안에 엔티티가 존재하고, 엔티티 안에 어트리부트가 존재.
따라서, 엔티티타입안에 어트리부트가 존재한다고 심플하게 생각하면됨 - 실체가 명확히 존재하는 실재적, 개념적인 것(사람,조직,물건,설계,돈)
- 데이터베이스에서 최종적으로 테이블로 표현이 되는 요소
- 두 엔티티 간에 비슷한 애트리뷰트가 많이 있다면 두 엔티티를 하나로 통합
따라서, 엔티티타입안에 어트리부트가 존재한다고 심플하게 생각하면됨
엔티티집합
- 동일한 애트리뷰트들을 가진 엔티티들의 모임
- 관계 모델의 릴레이션의 외연에 해당
강한 엔티티타입
- 엔티티타입 내에서 자신의 키 애트리뷰트를 사용하여 고유하게 엔티티들을 식별할 수 있는 엔티티타입
- 예) 사원 엔티티타입
약한 엔티티타입
- 키를 형성하기에 충분한 애트리뷰트들을 갖지 못한 엔티티타입
- 소유 엔티티타입의 키 애트리뷰트와 결합해야만 고유하게 엔티티들을 식별할 수 있음
- 예) 부양가족 엔티티타입
애트리뷰트
- 엔티티의 특성들
- 엔티티는 독립적인 의미를 갖지만, 애트리뷰트는 독립적인 의미를 갖지 못함
- 애트리뷰트 도메인은 그 애트리뷰트가 가질 수 있는 값의 범위
- 타원형으로 나타냄
- 기본키 애트리뷰트는 밑줄을 그어 표시함
단순 애트리뷰트
- 더 이상 다른 애트리뷰트로 나눌 수 없는 애트리뷰터
복합 애트리뷰트
- 두 개 이상의 애트리뷰트로 이루어진 애트리뷰트
단일 값 애트리뷰트
- 각 엔티티마다 정확하게 하나의 값을 갖는 애트리뷰트
다치 애트리뷰트
- 각 엔티티마다 여러 개의 값을 가질 수 있는 애트리뷰트
저장된 애트리뷰트
- 다른 애트리뷰트와 독립적으로 존재하는 애트리뷰트
- 예) 사원 엔티티타입에서 사원이름, 급여는 다른 애트리뷰트와 독립적으로 존재함
유도된 애트리뷰트
- 다른 애트리뷰트의 값으로부터 얻어진 애트리뷰트
- 유도된 애트리뷰트는 관계 데이터베이스에서 릴레이션의 애트리뷰트로 포함시키지 않는 것이 좋음
관계
- 두 개 이상의 엔티티 타입들 사이의 사상
관계집합
- 동질의 관계들의 집합
관계타입
- 동질의 관계들의 틀
관계의 애트리뷰트
- 관계타입은 관계의 특징을 나타내는 애트리뷰트를 가질 수 있음
- 키 애트리뷰트는 갖지 않음
차수(degree)
- 관계에 연결된 엔티티타입들의 개수
카디날리티
- 한 엔티티가 참여할 수 있는 관계의 수
카디날리티의 최소값과 최대값
역할(role)
- 관계 타입의 의미를 명확하게 하기 위해 사용
- 하나의 관계타입에 하나의 엔티티타입이 여러번 나타나는 경우, 반드시 역할을 표기해야함
전체참여
- 엔티티타입 E1의 모든 인스턴스가 관계에 참여해야 하는 것
부분참여
- 엔티티타입 E2의 인스턴스 중 일부만 관계에 참여해도 되는 것
다중 관계
- 두 엔티티타입 사이에 두 개 이상의 관계 타입이 존재할 수 있음
순환적 관계
- 하나의 엔티티 타입이 자기 자신과 관계를 맺는 것
새발 표기법(crow-feet)
1:1 관계
1:N 관계
M:N 관계
엔티티 타입과 애트리뷰트
ER 스키마를 관계 모델의 릴레이션으로 사상
단계1: 정규 엔티티타입과 단일 값 애트리뷰트
- 정규 엔티티타입에 있는 단순 애트리뷰트들을 릴레이션에 포함시킴
단계2: 약한 엔티티타입과 단일 값 애트리뷰트
- 약한 엔티티타입에 있는 단순 애트리뷰트들을 릴레이션에 포함시킴
- 소유 엔티티타입의 기본 키를 외래키로 포함시킴
- 릴레이션의 기본 키는 약한 엔티티타입의 부분 키와 소유 엔티티타입에 해당하는 릴레이션을 참조하는 외래 키 조합으로 이루어짐
단계3: 2진 1:1 관계 타입
단계4: 정규 2진 1:N 관계 타입
단계5: 2진 M:N 관계 타입
단계6: 3진 이상의 관계 타입
단계7: 다치 애트리뷰트
'DataBase > DataModeling' 카테고리의 다른 글
[데이터모델링]개념적 설계를 실제로 해보자. 개념적설계, 엔티티추출, 관계설정, 커디널리티설정, 키어트리뷰트설정, 관계타입 어트리뷰트설정 (0) | 2017.12.26 |
---|---|
[데이터모델링]요구사항 분석 (0) | 2017.12.26 |
[데이터모델링]데이터베이스 설계 과정(라이프 사이클) (0) | 2017.12.26 |
[데이터모델링]개념적 데이터모델, 논리적 데이터모델, 물리적데이터 모델 (0) | 2017.12.26 |
[데이터 모델링]데이터 모델링의 기초(DBMS/DBS/DB의 구분,스키마,데이터베이스 언어,추상화,데이터독립성 ) (0) | 2017.12.26 |