데이터 모델의 개념
1. 데이터 모델의 정의
정의
데이터 모델이란 현실에 있는 대상을 컴퓨터로 표현하기 위한 모형이다.
도구로써의 데이터 모델
- 데이터, 데이터의 관계, 의미, 일관성 제약조건 등을 기술하기 위한 도구이다.
- 현실 객체를 데이터베이스에 저장하기 위한 데이터 구조를 표현하기 위한 도구이다.
2. 데이터 모델의 종류
2.1. 개념적 데이터 모델
개념적 데이터 모델(정보 모델)
개념적 데이터 모델은 현실 세계의 개체를 추상화하는 모델이다.
- 현실 세계의 개념을 추상적 개념으로 표현하는 과정이 개념적 데이터 모델이다.
- 개념적 데이터 모델은 속성으로 이루어진 개체와 개체들 간의 관계로 현실 세계를 표현한다.
- 개념적 데이터 모델은 현실 세계를 인간이 이해할 수 있는 정보로 표현하는 것이므로 정보 모델이라고도 한다.
- 대표적인 개념적 데이터 모델은 E-R 다이어그램이다.
2.2. 논리적 데이터 모델
논리적 데이터 모델
논리적 데이터 모델은 실제 데이터가 데이터베이스에 저장되는 물리적 구조를 기술한다.
- 논리적 데이터 모델은 개념적 데이터 모델을 컴퓨터가 이해할 수 있는 구조로 바꾸는 과정이다.
- 논리적 데이터 모델은 필드로 표현된 데이터 타입과 데이터 타입들 간 관계로 현실 세계를 표현한다.
- 단순히 데이터 모델이라고 하면 일반적으로 논리적 데이터 모델이다.
- 특정 DBMS는 특정 논리적 데이터 모델만을 사용한다.
- 데이터 관계를 표현하는 방식에 따라 관계 모델, 계층 모델, 네트워크 모델
3. 데이터 모델의 구성 요소
3.1. 구조
구조란 논리적으로 표현된 개체들간의 관계를 표현한다.
3.2. 연산
- 연산이란 데이터베이스에 저장된 데이터를 처리하는 방법에 대한 명세이다.
- 연산은 데이터를 조작하는 기본 도구이다.
3.3. 제약 조건
제약 조건은 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건이다.
4. 데이터베이스 구성 요소
4.1. 개체(Entity)
- 개체는 현실 세계의 개체로 데이터베이스에 표현하고자 하는 대상이다.
- 개체는 독립적으로 존재하는 여러 개의 속성으로 구성된다.
- 파일 시스템에서는 레코드에 대응하며 정보를 제공한다.
- 개체는 독립적으로 존재하나 그 자체로도 구별이 가능하다.
4.2. 속성(Attribute)
- 속성은 데이터의 가장 작은 논리적 단위다.
- 파일 구조상에서는 데이터 필드, 데이터 항목이다.
- 속성들이 모여 개체를 구성한다.
- 교수 개체의 교수번호, 성명, 전공, 소속등은 속성이다.
4.3. 관계(Relationship)
관계는 두 가지가 있다.
- 개체 간의 관계
- 속성 간의 관계
그리고 관계는 대응되는 수에 따라
- 일대일(1:1) : 개체 집합 A의 각 원소가 개체 집합 B의 원소 한개와 대응한다.
- 일대다(1:n) : 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러개와 대응한다. 하지만 개체 집합 B는 집합 A의 각 원소에 하나씩만 대응한다.
- 다대다(m:n) : 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고, 집합 B의 원소도 A의 원소에 여러 개씩 대응한다.
스카마와 데이터 모델?
스키마는 데이터베이스의 개체, 속성, 관계에 대한 명세이다.
데이터 모델은 현실 세계의 개체를 컴퓨터로 표현하기 위한 과정이다.
어느 것이 더 상위 개념일까?
- 전체 메커니즘 상 데이터모델링 후 스키마를 작성하고, 실제 데이터를 저장한 결과가 인스턴스이다.