IT 지식/데이터베이스(DB Database)

[DB] Database 요약 & 정리 Data Abstraction and Data Model

나아가는중 2021. 2. 20. 00:13
반응형

[DB] Database 요약 & 정리 Data Abstraction and Data Model 데이터 추상화 및 데이터 모델

 

Schema

DB에 대한 논리적(logical) 혹은 (physcical) 구조

프로그래밍에서 타입(type)에 대응되는 개념

Istance

스키마에 실질적으로 들어가는 값

프로그래밍에서 변수의 값에 대응되는 개념

 

데이터 추상화 레벨

DBMS는 DB에 대한 추상화를 제공한다.

DB는 실제적으로 컴퓨터에 저장되어 있는지는 매우 복잡하여 이를

물리적(physical), 논리적(logical), 뷰(View) 레벨(level)로 추상화하여 설명한다.

동일한 DB를 단른 레벨에서 3가지 형태로 추상화를 하지만, 실은 이는 같은 장소에 저장되어 있는 DB임을 기억해야 한다.

Three-schema Architecture

3단계 높이에서 추상화 하는 것에 따라서 구조(schema)가 생성된다.

 

Physical level

실제 데이터 레코드가 어떻게 저장되어 있는지를 나타낸다.

데이터 필드 길이, 필드간의 간격 길이, 레코드의 전체 길이 등이 포함되기도 한다.

Logical level

DB에 저장되어 있는 데이터와 데이터간의 관계를 논리적인 관점에서 추상화하는 것. 예시로

Type professor = record // professor는 하나의 레코드이고,

    ID : string; // id 데이터는 string 타입

  name : string; // name 테이터는 string 타입

  department : string; // department 데이터는 string 타입

  salary : integer; // salary 데이터는 integer 타입

end; // 등 4 가지 구성요소로 이루어짐을 기술하는 것이다.

View level

사용자가 보는 데이터의 추상화, 사용자가 관심 있어하는 데이터만을 추상화한다.

이는 보안상의 이유로도 사용되는데, salary 필드가 개인 정보 보안상의 이유로 특정 사용자에게 보이지 않게 하기 위해, 나머지 필드만 추상화한다.

동일한 논리적 레벨 추상화에 대한 여러 뷰 레벨 추상화가 가능하다.

 

데이터 독립성

3단계 스키마 구조는 데이터 독립성이 제공되기 쉽다.

데이터 독립성은 물리적(physcial)과 논리적(logical) 두 가지로 구분이 가능하다.

뷰 스키마는 사용자가 보는 DB 스키마로서, DB 내부에 변화로 물리적 스키마가 변경되어도, 물리적 데이터 독립성에 의해 논리적 스키마 변경이 없고, 논리적 스키마가 변경되어도, 논리적 데이터 독립성에 의해 뷰 스키마의 변화가 없게 된다. 

이는 논리적 스키마를 기반으로 사용자가 DB 프로그램 및 응용을 개발하는데, 개발 프로그램이 수정 없이 계속 사용될 수 있다.

physical data independence

논리적 스키마의 변화 없이 물리적 스키마를 변화할 수 있는 기능을 의미한다.

logical data independence

뷰 스키마의 변화 없이 논리적 스키마를 변화할 수 있는 깅을 의미한다.

 

Data Model

데이터를 추상화하여 나온 결과이다.

데이터, 데이터 관계성, 데이터 의미, 데이터 제약 조건 등을 기술하는 명세 또는 도구이다.

데이터 모델을 이용하여 데이터를 기술하거나 조작이 가능하다.

 

데이터 모델의 종류

  • Relational data model
  • Object-relational data model
  • Object-oriented data model
  • Entitiy-Relationship data model
  • XML
  • Hierarchical data model
  • Network data model
반응형