Database
Chapter 04. 데이터 모델링
JinWooHong Dev
2019. 10. 15. 18:17
1. 데이터 모델링과 데이터 모델의 개념
데이터 모델링(Data modeling) 이란?
- 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정.
- 일반적으로 개념적 모델링과 논리적 모델링을 명확히 구분하지는 않고 합쳐서 데이터 모델링이라 부른다.
데이터 모델(Data model) 이란?
- 데이터 모델링의 결과물을 표현하는 도구로, 개념적 데이터 모델과 논리적 데이터 모델이 있다.
- 일반적으로 데이터 구조(Data structure), 연산(Opertaion), 제약조건(Constraint)으로 구성된다.
2. 개체-관계 모델
2-1. 개체
개체(Entity)란?
- 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것.
- 개체를 고유의 이름과 속성들로 정의한 것을 개체 타입(Entity type)이라 한다.
2-2. 속성
속성(Attribute)이란?
- 개체가 가지고 있는 고유의 특성.
- 속성 자체만으로는 의미가 없지만 관련 있는 속성들을 모아 개체를 구성하면 하나의 중요한 의미를 표현할 수 있다.
- 일반적으로 의미 있는 데이터의 가장 작은 논리적 단위로 인식된다.
속성의 분류
- 속성 값의 개수 : 단일 값 속성, 다중 값 속성
- 의미의 분해 가능성 : 단순 속성, 복합 속성
- 기존 속성 값에서 유도 : 유도 속성
- 널 속성
- 키 속성
-유도 속성(Derived attribute) : 값이 별도로 저장되는 것이 아니라 기존의 다른 속성 값에서 유도, 유추되어 결정되는 속성을 유도 속성으로 분류한다.
-널 속성 : 널 값은 아직 결정되지 않았거나 모르는 값(Unknown value)을 의미한다. 또는 해당되는 값이 없는, 즉 존재하지 않는 값의 경우도 널 값이라고 한다. 공백이나 0과는 다르다.
2-3. 관계
관계(Relationship)란?
- 개체와 개체가 맺고 있는 의미 있는 연관성으로, 개체-관계 모델의 중요한 요소
- 개체 집합들 사이의 대응 관계(Correspondence), 즉 매핑(Mapping)을 의미.
관계의 유형
- 일대일 1:1 관계
- 일대다 1:n 관계
- 다대다 n:m 관계
관계의 참여 특성
- 개체 A와 B 사이의 관계에서, 개체 A의 모든 개체 인스턴스가 관계에 반드시 참여해야 된다면 개체 A가 관계에 '필수적 참여한다' 또는 '전체 참여한다'라고 하며 일부만 관계에 참여해도 되면 개체 A가 관계에 '선택적 참여한다' 또는 '부분 참여한다'라고 한다.
관계의 종속성
- 두 개체가 관계에 대해 종속적인 특성을 가지는 경우도 있다. 개체 B가 독자적으로는 존재할 수 없고 다른 개체 A의 존재 여부에 의존적이라면, 개체 B가 개체 A에 종속되어 있다고 한다.
- 다른 개체의 존재 여부에 의존적인 개체 B를 약한 개체(Weak entity)라 하고 다른 개체의 존재 여부를 결정하는 개체 A를 강한 개체(Strong entity)라 한다.
3. 논리적 데이터 모델
3-1. 논리적 데이터 모델의 개념과 특성
논리적 데이터 모델이란?
- 선택한 데이터베이스 관리 시스템에 따라 사용자 입장에서 E-R 다이어그램으로 표현된 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적인 구조
- 논리적 데이터 모델링의 결과물이고, 사용자가 생각하는 데이터베이스의 모습 또는 구조
3-2. 계층 데이터 모델
- 데이터 논리적 구조가 트리 형태.
- 다대다 관계를 직접 표현할 수 없어 별도의 개체를 추가로 생성하여 이를 표현.
3-3. 네트워크 데이터 모델
- 두 개체 간의 관계를 여러 개 정의할 수 있어 관계를 이름으로 구별.
- 일대다 관계만 직접 표현할 수 있으므로 두 개체 사이의 일대다 관계들을 이용해 다대다 관계를 표현.