데이터 모델이란?
- 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화 하여 체계적으로 표현한 개념적 모형이다.
- 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임이다.
데이터모델의 종류
개념적 데이터 모델
- 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다.
- 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하기 때문에 정보 모델이라고도 한다.
- 대표적인 개념적 데이터 모델로는 E-R모델이 있다.
논리적 데이터 모델
- 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정이다.
- 단순히 데이터 모델이라고 하면 논리적 데이터 모델을 의미한다.
- 데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분한다.
관계 데이터 모델
- 관계 데이터 모델은 사람들이 직관적으로 생각하기에 표 형태의 데이터를 저장하기 위한 그릇
데이터모델의 구성요소
엔티티(=개체)(Entity)
- 데이터베이스에 표현하려는 것으로 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다.
- 파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을 수행한다.
- 독립적으로 존재하거나 그 자체로서도 구별 가능하다.
속성(Attribute)
- 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다.
- 개체를 구성하는 항목이다.
위 그림은 교수번호, 성명, 전공, 소속으로 구성된 교수 개체이다.
관계(Relation)
- 엔티티(개체) 간의 관계 또는 속성 간의 관계이다.
위 그림은 교수가 학생을 지도하는 관계이다.
관계의 형태
- 일대일 : 개체 집합 A의 각 원소가 개체 집합 B의 원소 한개와 대응하는 관계
- 일대다 : 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고 있지만, 개체 집합 B의 각 원소는 개체 집합 A의 원소 한 개와 대응하는 관계
- 다대다 : 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러개와 대응하고 개체 집합 B의 각 원소도 개체 집합 A의 원소 여러개와 대응하는 관계
참고