1. 데이터 모델링 이해하기
1.1 데이터의 구분
현실세계 : 오감으로 인지할 수 있는 실체로서, 하나 이상의 특성으로 구성된 개체로 표현
개념세계 : 개체의 의미로부터 얻은 개념으로서, 하나 이상의 속성으로 구성된 개체 타입으로 표현
컴퓨터세계 : 개념을 컴퓨터가 처리할 수 있도록 표현한 데이터로서, 하나 이상의 필드로 구성된 레코드 타입으로 표현
1.2 데이터의 모델링
현실세계의 데이터를 DB로 표현하기 위한 모델을 만드는 과정을 데이터 모델링이라 한다. 개념적구조에서 논리적 구조를 거쳐 디스크에 저장할 수 있는 물리적 구조로 변환하는 일련의 DB 설계 과정이다.
개념적 모델링 : 현실세계의 데이터를 추상화를 통해서 개념 세계의 데이터로 표현하는 것 = 정보모델링(Information Modeling), 개념적 설계(Conceptual Design)
- 개체와 관계라는 추상적 개념을 이용한 모델링
- ER(Entity-Relationship) 모델이라는 개념적 데이터 모델을 사용함
- 모델링 결과를 ER 다이어그램(Diagram)으로 표현
논리적 모델링 : 개념 세계의 개체 타입을 DBMS가 지원하는 논리적 모델로 변환시키는 것 = 논리적 설계
- 논리적 데이터 모델 : DBMS가 이해할 수 잇는 논리적 구조로 데이터를 표현하기 위한 도구. 관계형, 네트워크형, 계층형이 있다.
- ER 다이어그램으로 표현된 개념적 구조를 논리적 데이터 모델로 변환한다.
- 논리적 데이터 모델의 종류에 따라 변환하는 방법이 다르다.
물리적 모델링 : 디스크에 데이터가 저장될 수 있도록 논리적 데이터 모델을 물리적 데이터구조로 변환시키는 것 = 물리적 설계
- 저장 레코드 양식(각 필드의 이름, 데이터 타입, 크기 등) 정의 및 인덱스와 뷰 설계
1.3 데이터 모델의 이해
데이터모델은 현실 세계의 데이터를 쉽게 이해할 수 있도록 기술하는 개념적 도구이다. 개념적 모델링에 사용되는 개념적 데이터 모델과, 논리적 모델링에 사용되는 논리적 데이터 모델이 있다. 일반적으로 '데이터 모델'이라고 하면 '논리적 데이터 모델'을 말한다.
개념적 데이터 모델
- 개념적 모델링을 통해 얻을 수 있음
- '개체'와 '관계'라는 추상적인 개념으로 구성됨
- 대표적인 모델 : ER(Entity-Relationship 개체-관계) 모델
논리적 데이터 모델
- 논리적 모델링을 통해 얻을 수 있음
- '레코드'와 '관계'라는 논리적인 개념으로 구성됨
- 대표적 모델 : 관계형 데이터 모델
데이터 모델의 구성 "D = < S, O, C >"
- S (Structure 데이터 구조) : 데이터 모델의 정적인 성질(Static Properties). 개체 타입과 이들간의 관계
- O (Operation 연산) : 데이터 모델의 동적인 성질(Dynamic Properties). 개체 인스턴스를 처리하는 작업. 데이터 조작 방법
- C (Constraints 제약 조건) : 데이터 모델의 논리적 제약(Logical Constraints). 개체 인스턴스의 존재 조건. 데이터 조작의 한계를 표현 * 구조적 제약 조건 : 개체 인스턴스가 반드시 만족해야 하는 구조적 특성 ex) 학번은 구조적으로 8자리 숫자여야함
* 의미상 제약 조건 : 개체 인스턴스가 반드시 만족해야 하는 의미상 특성 ex) 성별은 구조적으로는 하나의 문자이지만 의미상으로는 M 또는 F의 값을 가져야만 함
2. 개념적 데이터 모델과 논리적 데이터 모델
2.1 개념적 데이터모델
개념적 데이터 모델 : 개념적 모델링을 통해 얻을 수 있는 추상화된 데이터 구조. 구성 요소가 '개체'와 '관계'라는 추상적 개념으로 구성된다. DB설계자의 이해를 돕기 위한 것으로 DBMS는 개념적 데이터 모델을 이해할 수 없다.
개념적 데이터 모델의 종류
- ER 모델 : 가장 대표적으로 쓰임. 개체 집합과 관계 집합을 이용해 표현. ER 다이어그램을 사용하여 표현
- 시멘틱 네트워크(Semantic Network) 데이터 모델
- 의미 객체(Semantic Object) 모델
- OMT(Object-Modeling Technique) 모델
2.2 논리적 데이터모델
논리적 데이터 모델 : 개념적 데이터 모델을 DB로 구현하기 위한 논리적 모델링을 통해 얻을 수 있는 데이터 구조. 구성요소가 '레코드'와 '관계'라는 논리적 개념으로 구성된다. DBMS는 논리적 데이터 모델을 이해할 수 있다.
논리적 데이터 모델의 종류
- 관계 데이터 모델(Relational Data Model)
- 네트워크 데이터 모델(Network Data Model)
- 계층 데이터 모델(Hierarchical Data Model)
- 객체지향 데이터 모델(Object-Oriented Data Model)
- 객체-관계 데이터 모델(Object-Relational Data Model)
- 확장 관계 데이터 모델(Extended Relational Data Model)
관계 데이터 모델 |
네트워크 데이터 모델 |
계층 데이터 모델 |
DB를 릴레이션(Relation 관계), 즉 테이블의 집합으로 모델링한 구조 |
DB를 그래프 형태로 모델링한 구조 |
DB를 트리 형태로 모델링한 구조 |
|
|
|
2.3 개념적 모델과 논리적 모델
e-koreatech 데이터베이스 강의 https://www.e-koreatech.ac.kr
'공부 > 데이터베이스' 카테고리의 다른 글
06. 관계 데이터 모델 (1) | 2017.11.27 |
---|---|
05. ER 모델 개요 (0) | 2017.11.22 |
03. DB 시스템의 개요 (0) | 2017.11.20 |
02. DBMS 개요 (0) | 2017.11.15 |
01. 데이터베이스 개요 (0) | 2017.11.14 |