굥의 컴공일지

[DB] 2장 / 3단계 스키마 아키텍처 본문

[ 학교 ]/[ 데이터베이스 ]

[DB] 2장 / 3단계 스키마 아키텍처

abcde_127 2024. 10. 18. 14:22

2장 데이터베이스 시스템 개념과 아키텍처


3단계 스키마 아키텍처 

: 데이터가 어떻게 정의되고 관리되는지 세 가지 관점에서 구분하는 것을 의미한다. 

- 내부단계, 개념단계, 외부단계로 DBMS 스키마를 정의한다.

- 각각의 스키마는 사용자와 시스템 간의 복잡성을 줄여주고, 데이터의 독립성을 높이는 역할을 한다.

- 쉽게 말해 데이터베이스를 3개의 서로 다른 시각으로 보는 것, 이를 통해 DB를 더 효율적이게 관리 가능하게 함

 ( 외부스키마-사용자 시각 /  개념스키마-전체 그림 /  내부스키마-저장방식 )

 

 1. 외부 단계 – 사용자 관점

: 사용자나 응용 프로그램이 보는 관점에서 데이터를 정의
- 외부스키마나 사용자 뷰들을 포함
- 특정 사용자 그룹이 관심을 갖는 부분을 나타내고 나머지는 은폐시킴

 2. 개념단계 – 전체적 관점

: 데이터베이스의 전체 구조를 논리적으로 정의하는 단계, 조직 전체에서 데이터를 어떻게 표현하고 관리할지 정의
- 개념 스키마(논리적 구조)를 사용  
- 전체 사용자를 위한 데이터베이스 구조를 기술 (물리적 저장 구조의 세부 사항은 은폐)

 3. 내부 단계 – 시스템 관점

: 데이터가 저장 매체에 어떻게 저장되고 접근되는지를 정의하는 단계
- 내부 스키마를 사용함  (내부스키마 : 내부 단계에서의 구체적인 설계를 정의한 스키마 )

- 데이터 저장 구조의 세부 사항과 데이터베이스에 대한 접근 경로들을 기술

사상(mapping)

: 각 단계의 스키마가 서로 연결되고 변환되는 과정을 의미
즉, 서로 다른 스키마 간의 데이터를 어떻게 매핑하고 변환할지 정의하는 것

   - 3단계 스키마 아키텍처에서 두가지 주요사상
   1. 외부/개념 사상 : 외부 단계의 뷰를 사용해서 입력된 사용자의 질의를 개념 단계의 스키마를 사용한 질의로 변환하는 것
   2. 개념/내부 사상: 변환한 것을 다시 내부 단계의 스키마로 변환하여 디스크의 데이터베이스에 접근하는 것

스키마 아키텍처, 사상

 


3단계 스키마 장점, 단점

장점: 물리적 및 논리적 독립성 확보가 용이하다 → 사상만 변경되어서 각 단계의 독립성이 유지된다
단점: 두 번의 사상에 따른 DBMS의 비효율성 초래 (질의/프로그램 컴파일/실행에 많은 오버헤드 발생)

 


데이터 독립성 

:  상위 단계의 스키마 정의에 영향을 주지 않으면서 어떤 단계의 스키마 정의를 변경 가능한 것
-  한 단계에서 데이터 구조를 바꿔도 다른 단계에 영향을 주지 않는 것을 의미, 즉, 데이터베이스의 한 부분을 수정하더라도 전체 시스템이 망가지지 않도록 설계된 것

 

두가지 데이터 독립성의 유형

1. 논리적 데이터 독립성: 외부 스키마나 응용 프로그램들을 변경하지 않으면서 개념 스키마를 변경하는 것

     - 개념 단계와 외부 단계 간의 독립성

     - 쉽게 말해 데이터베이스 구조를 바꾸더라도 사용자가 보는 화면(뷰)에는 변화가 없도록 하는 것

2. 물리적 데이터 독립성: 개념 스키마를 변경하지 않으면서 내부 스키마를 변경할 수 있는 것

    -  물리 단계와 개념 단계 간의 독립성

    - 데이터가 저장되는 방식이나 저장 위치를 변경하더라도 논리적 구조에는 영향을 미치지 않도록 합니다

   -  쉽게 말해 데이터를 어디에 어떻게 저장하든 논리적인 데이터베이스 구조는 변하지 않도록 하는 것


추가개념 (내가 추가적으로 공부하면서 정리한 부분)

아키텍처 : 어떤 시스템이 어떻게 구성되고, 각 구성요소가 어떤 역할을 하며 서로 어떻게 상호작용하는지 정의한 전체적인 청사진

- 쉽게 말해 설계도, 설계도구 라고 생각

ex) 컴퓨터 아키텍처 : CPU, 메모리, 저장장치 등 하드웨어의 설계 구조

ex) 데이터베이스 아키텍처 : 데이터가 어떻게 저장되고 관리되는지 정의