1. ER 학습 모델 이해하기
1.1 ER 모델
ER 모델은 '개체'와 '관계' 집합으로 현실세계의 데이터를 개념적으로 표현하는 개념적 데이터 모델이다. 단순하여 가장 널리사용된다. 개체, 속성, 관계의 세 가지 요소로 구성되는 ER 다이어그램으로 표현된다. DB 설계자를 위한 모델로 DBMS는 이해할 수 없다.
- 개체(Entity) : DB가 표현하려고 하는 정보의 대상. '존재'하면서 서로 구별될 수 있는 요소
- 관계(Relationship) : 개체들 간의 의미있는 연결 또는 연관성을 나타내는 요소
- 속성(Attribute) : 개체나 관계의 특성. 이름을 가진 정보의 가장 작은 논리적인 단위
1.2 개체
개체의 종류
- 개념적 개체(무형의 개체) - 개념적으로는 존재하지만 눈에 보이지 않는 개체 ex) 약속, 사건, 승진 등
- 물리적 개체(유형의 개체) - 현실 세계에 존재하면서 눈에 보이는 개체 ex) 사람, 상품, 건물 등
개체의 표현 : 직사각형
개체의 특징
- 파일 시스템에서 '레코드(Record)'에 대응한다.
- 단독으로 존재 가능하고 정보로서의 역할이 가능하다
- 하나 이상의 속성(Attribute)로 구성된다. ex) 개체 : 학생, 속성 : 학번, 이름. 학과 등
개체의 관련 주요 개념들
- 속성(Attribute) : 개체의 특성
- 개체 타입(Entity Type) : 개체의 정의. 개체의 이름과 개체를 구성하는 속성을 정의한 것
- 개체 인스턴스(Entity Instance, Entity Occurrence 개체 출현) : 개체의 속성들이 구체적인 값을 가짐으로써 실체화된 것
- 개체 집합(Entity Set) : 개체 인스턴스들의 집합
1.3 속성
속성의 표현 : 개체에 연결된 타원
속성의 특징
- 파일 시스템의 '데이터 항목(Data Item)' 또는 '필드(Field)'에 대응한다
- 단독으로 존재할 때는 대개 무의미하다.
도메인 : 각 속성마다 가질 수 있는 값의 범위 ex) 학번의 도메인은 정수 10자리, 주소의 도메인은 문자 30자리
속성의 종류
- 상수 속성(Constant Attribute) / 시변 속성(Time Varying Attribute)
- 단순 속성(Simple Attribute, Atomic Attribute) / 복합 속성(Composite Attribute)
- 단일치 속성(Single-valued Attribute) / 다중치 속성(Multi-valued Attribute)
- 유도 속성(Derived Attribute) / 저장 속성(Stored Attribute)
- 널 속성(Null Attribute)
- 키 속성(Key Attribute, Identifier 식별자) / 부분 키 속성(Partial Key Attribute)
1.4 관계
관계의 표현 : 직사각형과 실선으로 연결된 마름모
관계의 특징
- 관계도 하나의 개체로 간주될 수 있다.
- 관계도 속성을 가질 수 있다.
- 두 개의 개체 사이에 두 개 이상의 관계가 존재할 수 있다. (다중관계)
관계타입
- 관계 타입은 관계의 특성을 나타내는 속성을 가질 수 있다.
- 관계타입은 키 속성을 가지지 않는다.
관계의 유형
- 일 대 일(1 : 1) : 어느 개체를 기준으로 보더라도, 한 개체가 한 개체와만 연관성이 있다.
- 일 대 다(1 : n) : 두 개체 가운데 어느 한 개체를 기준으로 보면 하나 이상의 개체와 연관성이 있고, 다른 개체를 기준으로 보면 한 개체와만 연관성이 있다.
- 다 대 다(m : n) : 두 개체 가운데 어느 개체를 기준으로 보더라도 하나 이상의 개체와 연관성이 있는 유형이다. 즉, 여러 개체가 여러 개체와 연관성이 있다.
관계의 구분
- 속성 관계(Attribute Relationship) : 한 개체 내의 속성과 속성 사이의 연관성
- 개체 관계(Entity Relationship) : 개체와 개체 사이의 연관성 (일반적으로 '개체'는 '개체 관계'를 의미한다)
카디널리티 (min, max) : 관계에 대응하는 개체의 수이다. ex) 교수는 최소 1개에서 3개의 강의를 하고 교과목 하나에 최소 1명에서 최대 1명의 교수가 있다. -> 일 대 다 관계
차수 : 관계로 연결된 개체 타입의 개수. 1진 관계, 2진 관계, 3진 관계, n진 관계로 구분
2. ER 다이어그램과 EER 모델
2.1 ER 다이어그램
ER 다이어그램은 개념적 데이터 모델인 ER 모델을 표현하는 그래프 방식의 표현 방법이다.
작성 지침
- 개체 타입은 KEY 속성 이외에 개체 타입을 설명하는 속성들을 가진다.
- 다중치 속성은 별도의 개체 타입으로 분류해야 한다.
- 개체 타입을 직접적으로 설명하는 속성들을 개체 타입과 연결해야 한다.
- 관계 타입은 일반적으로 독자적으로 존재할 수 없다.
- 키 속성에는 밑줄을 표시한다.
2.2 강한 개체 타입과 약한 개체 타입
강한 개체 타입과 약한 개체 타입
존재 종속 : 한 개체 타입(a)의 존재가 다른 개체 타입(b)의 존재에 영향을 받는 경우, a는 b에 '존재 종속'이다. 이 때 a는 종속 개체(Subordinate Entity)이고 b는 주 개체(Dominant Entity)타입 또는 소유 개체 타입이다. 아래 예시에서 상환개체에서 상환 번호만으로는 키가 될 수 없고 대출 번호와 상환번호가 결합해야 상환 개체 타입의 키가 될 수 있다.
구별자와 식별 관계 타입
2.3 부분 참여와 전체 참여
2.4 EER(Enhanced ER) 모델
EER 모델은 기본적인 ER 모델에 몇 가지 새로운 개념을 추가한 것이다. 기본적인 ER 모델의 모든 모델링 개념을 포함한다. 서브타입/슈퍼타입, 세분화/일반화, 카테고리, 속성 상속 등의 개념이 추가되었다. 상속과 같은 객체 지행 개념이 일부 포함된다.
서브타입과 슈퍼타입 개체
- 서브타입(Subtype) 개체 : 한 개체 타입에 속하는 개체들을 어떤 기준에 의해 몇 개의 소규모 그룹으로 나눈 것을 원래 개체의 서브 타입 개체라고 한다. 서브 타입 개체는 원래 개체 타입의 하위 개체 타입이며, 부분 집합이다. ex) 개체 타입 - 학부생, 서브타입 객체 - 여학생, 남학생
- 슈퍼타입(Super type) 개체 : 여러 개체 타입이 속하는 상위의 개체 타입을 슈퍼 타입 개체라고 칭한다. 상대적으로 결정되는 것으로 어떤 개체의 서브타입이면서 다른 개체의 슈퍼타입일 수 있다. ex) 슈퍼타입 개체 - 교직원, 개체타입 - 교수, 직원, 조교
- 서브타입 개체는 슈퍼타입 개체의 모든 속성을 상속받는다.
- ER 다이어그램에서 슈퍼-서브 관계(IS-A 관계)는 작은 역삼각형(∇) 또는 작은 원(● 혹은 ○)으로 표현한다.
세분화와 일반화
- 세분화(Specialization) : 개체의 서브타입을 결정하는 작업으로 기준에 따라 개체를 서브타입으로 나누고, 각 서브타입의 이름과 고유 속성을 결정하는 Top-down 방식의 모델링이다. 각 서브타입 개체는 다른 서브타입 객체가 가지고 있지 않은 고유한 속성을 가져야 한다. ex) 교직원을 세분화하여 교수, 조교, 직원의 서브타입 개체로 나눈다. 교수는 직급 속성, 조교는 지원과목 속성, 직원은 담당업무라는 고유 속성을 가진다.
- 일반화(Generalization) : 세분화와 반대로 여러 개체들의 슈퍼타입을 결정하는 작업이다. 여러 개체 타입의 공통점만 수집해서, 그 공통점에 근거해서 새로운 슈퍼타입을 만드는 것으로, 모델링을 단순화시킬 수 있다. Bottom-up 방식으 모델링이다. ex) 승용차, 트럭, 버스는 운송수단이라는 슈퍼타입 개체로 일반화할 수 있다.
카테고리 : 별개의 개체타입의 집합으로 합집합(Union)타입이라고도 한다.
e-koreatech 데이터베이스 강의 https://www.e-koreatech.ac.kr
'공부 > 데이터베이스' 카테고리의 다른 글
06. 관계 데이터 모델 (1) | 2017.11.27 |
---|---|
04. 데이터 모델링 개요 (0) | 2017.11.21 |
03. DB 시스템의 개요 (0) | 2017.11.20 |
02. DBMS 개요 (0) | 2017.11.15 |
01. 데이터베이스 개요 (0) | 2017.11.14 |