Data Models: Conceptual, Physical, Implementation, Self-describing
포스트 난이도: HOO_Junior
# Data Models
데이터 모델(Data models)란 데이터베이스(Database)에 대한 특징에 대한 설명을 담고 있다.
데이터 모델을 통해 데이터베이스에 대한 구조, 과정, 제약 등을 확인할 수 있다.
이를 Data model에서 structure, operaitons, constraints 등을 확인할 수 있다고 말한다.
한마디로 Data model이라는 의미는 Database에서 이 세 가지를 합쳐서 부르는 명칭인 셈이다.
# Database Structure
Database structure는 특정 데이터베이스가 가진 구조적인 부분에 대한 부분을 나타낸다.
예를 들어 데이터베이스 안에는 Data types 또는 Elements라고 부르는 요소가 있는데 Data types에 대한 relationships을 보여주는 것이 바로 Database strucuture이다.
Data typeㄴ의 경우에는 하나의 data types일 수도 있지만 group으로 된 data types 또는 elements들도 존재하며, 이들에 대한 relationship을 나타내는 것 또한 Data model에서 Data struture에 해당한다.
# Database operations
Database operations는 데이터베이스 내에서 데이터가 어떤 조건으로 분류되어지는지를 나타낸다.
따라서 operations의 경우에는 database의 상황에 따라서 바뀔 수 있다.
Database operations는 data model에서 제공하는 기본적인 basic model operations도 있지만 사용자의 따라서 만들어진 User-defined operations도 있다.
Basic model operations라고 한다면 데이터를 입력하거나 삭제하고 업데이트하는 기본적인 기능을 의미하며, User-defined operations의 경우에는 기본 기능 외적으로 계산을 통한 특정 값을 산출할 때 사용자가 지정하여 사용하는 것을 의미한다.
# Constraints
Constraints는 Database에서 제한적인 부분을 나타내주는 Data model의 한 부분이다.
Database을 구성하는 과정에서 제한적인 조건을 두거나 조건에 맞는 타당한 데이터를 구성하는 과정에서 Constaints을 통해 원하는 database를 구성하고 사용할 수 있다.
Constraints로 지정된 내용은 Database에 예외 경우 없이 상시 적용되어 있다.
# Data Models 종류
Data model에도 크게 4가지의 종류별 데이터 모델이 있다.
- Conceptual data models
- Physical data models
- Implementation data models
- Self-describing data models
# Conceptual Data Models
Conceptual data models는 high-level data model 또는 semantic data model이라고도 불린다.
또는 Entity based data models, Object based data models이라고도 불리는데 사용자가 데이터베이스에 대한 특징을 Conceptual data models를 통해서 확인할 수 있기 때문이다.
한마디로 개발자 뿐만 아니라 데이터베이스 개발에 직접적인 지식을 가지고 있지 않은 사용자도 Conceptual data models에 대해서 특정 데이터베이스의 전반적인 특징에 대해서 파악할 수 있다.
따라서 Conceptual data models의 경우에는 데이터베이스를 개발하기 전에 기획 과정에서 많이 사용되는 방식이다.
대표적인 data model 방식으로는 ER model이 있다.
# Physical data models
Physical data models는 low-level 또는 internal data models라고 불린다.
high-level인 Conceptual data models와 달리 Physical data models는 구체적이고 실질적으로 data가 특정 database에 어떤 식으로 저장되는지를 설명해주는 data models이다.
그렇다 보니 사용자보다는 개발자에게 더 관련성이 큰 data model이 Physcial data model이다.
# Implementation Data Models
Representational data models라고도 불리는 Implementation data models는 논리적 구조를 설명하는 데 사용하는 Data model 방식이다.
따라서 Relational data models라고도 부르며, Physcial data models에서의 실질적인 기능적인 면은 제외하고 데이터베이스 내의 관계와 논리성을 중점적으로 나타내는 방식을 의미한다.
# Self-describing Data Models
Self-describing data models의 경우에는 데이터 뿐만 아니라 데이터 값에 대한 설명을 모두 담고 있는 데이터 모델이다.
대표적으로 XML, key-value stores, NOSQL systems 등이 있다.
'Computer Science' 카테고리의 다른 글
[Database] Schema Architecture (0) | 2022.02.21 |
---|---|
[Database] Schema vs Instance(State) (0) | 2022.02.21 |
[Database] Entity Relation Diagrams(ER Diagrams) (0) | 2022.02.21 |
[Database] EER Diagram: Disjoint와 Overlap (0) | 2022.02.20 |
[Machine Level Data ] Floating Point Number Examples (0) | 2022.02.09 |
댓글