Data Models, Schemas, Instances

Giheon Do·2024년 10월 21일
0
post-thumbnail

Data Model

데이터 모델은 데이터 추상화를 위해 structure, operation, constraints를 제공한다.

structure (구조)

  • 데이터베이스의 구조

operation (동작)

  • 데이터베이스의 구조를 조작하는 동작

constraints (제약)

  • 데이터베이스가 따라야만 하는 제약
  • 데이터가 유효한지에 대해 확인

Categories of Data Models

Conceptual data models

high-level(사람이 이해하기 쉽고)이고, semantic, 즉 데이터 모델이 데이터의 의미(entity, attribute, relationship)를 제공한다는 뜻이다.
주로 데이터의 의미와 논리적인 구조에 초점을 맞추고 사용자가 데이터를 이해하고 상호작용할 수 있도록 돕는 구조를 제공한다.

Physical data models

low-level(사람이 이해하기 어렵고)이고, 데이터가 컴퓨터 스토리지에 어떻게 저장되어 있는지를 표현한 개념이다. 예를 들어 파일 저장 형식이 row-oriented인지 column-oriented인지, 그리고 접근 경로가 primary/non-/clustering indexes 등인지를 제공한다.
주로 DBMS에서 데이터가 물리적으로 어떻게 저장되고 효율적으로 접근되는지를 설계하는 과정에서 사용된다.

Implementation data models

데이터베이스의 논리적 구조를 설명하는데 사용되는 방식으로, 데이터베이스 내의 관계와 논리적인 부분을 주로 나타내는 방식을 의미한다.


Schemas vs Instances

간단하게 말하자면 Schema는 데이터베이스의 description, Instance는 데이터베이스에 저장되어 있는 실제 데이터를 의미한다.

Schemas

데이터베이스의 메타 데이터를 의미한다. 데이터베이스의 구조, 데이터 타입, 제약(constraints)가 포함되며, 변화가 잘 일어나지 않는다.

Instances

특정 시점에 데이터베이스에 저장된 실제 데이터를 의미하며 데이터베이스 State라고도 불린다.


Three-Schema Architecture

Internal schema

물리적 스토리지 구조와 접근 경로를 describe한다. 보통 physical data model을 사용한다.

Conceptual schema

logical schema라고도 불리고 전체 데이터베이스에 대해 구조와 제약(constraint)를 describe한다. conceptual(e.g. ER)implementation(e.g. relational) data model을 사용한다.

External schema

다양한 user view(i.e. various user applications)를 describe한다. 즉, 사용자가 데이터베이스의 전체 구조를 알 필요 없이, 필요한 데이터만 볼 수 있도록 부분적인 뷰를 제공한다. 개념적 스키마와 동일한 데이터 모델(conceptual, implementation data model)을 사용할 수 있다.


Data Independence

더 상위 계층의 스키마를 변경하지 않고도 현재 스키마를 변경할 수 있음을 뜻한다.

Logical data independence

External schema와 관련된 응용 프로그램을 변경하지 않고 Conceptual schema를 변경할 수 있다.

Physical data independence

Conceptual schema를 변경하지 않고 Internal schema를 변경할 수 있다. 예를 들어 데이터베이스 성능을 향상시키기 위해 구조가 변경될 수 있지만 상위 계층인 Conceptual schema는 변하지 않는다.

profile
Think Twice Code Once

0개의 댓글

관련 채용 정보