굥의 컴공일지
[DB] 2장 / 3단계 스키마 아키텍처 본문
2장 데이터베이스 시스템 개념과 아키텍처
3단계 스키마 아키텍처
: 데이터가 어떻게 정의되고 관리되는지 세 가지 관점에서 구분하는 것을 의미한다.
- 내부단계, 개념단계, 외부단계로 DBMS 스키마를 정의한다.
- 각각의 스키마는 사용자와 시스템 간의 복잡성을 줄여주고, 데이터의 독립성을 높이는 역할을 한다.
- 쉽게 말해 데이터베이스를 3개의 서로 다른 시각으로 보는 것, 이를 통해 DB를 더 효율적이게 관리 가능하게 함
( 외부스키마-사용자 시각 / 개념스키마-전체 그림 / 내부스키마-저장방식 )
1. 외부 단계 – 사용자 관점
: 사용자나 응용 프로그램이 보는 관점에서 데이터를 정의
- 외부스키마나 사용자 뷰들을 포함
- 특정 사용자 그룹이 관심을 갖는 부분을 나타내고 나머지는 은폐시킴
2. 개념단계 – 전체적 관점
: 데이터베이스의 전체 구조를 논리적으로 정의하는 단계, 조직 전체에서 데이터를 어떻게 표현하고 관리할지 정의
- 개념 스키마(논리적 구조)를 사용
- 전체 사용자를 위한 데이터베이스 구조를 기술 (물리적 저장 구조의 세부 사항은 은폐)
3. 내부 단계 – 시스템 관점
: 데이터가 저장 매체에 어떻게 저장되고 접근되는지를 정의하는 단계
- 내부 스키마를 사용함 (내부스키마 : 내부 단계에서의 구체적인 설계를 정의한 스키마 )
- 데이터 저장 구조의 세부 사항과 데이터베이스에 대한 접근 경로들을 기술
사상(mapping)
: 각 단계의 스키마가 서로 연결되고 변환되는 과정을 의미
즉, 서로 다른 스키마 간의 데이터를 어떻게 매핑하고 변환할지 정의하는 것
- 3단계 스키마 아키텍처에서 두가지 주요사상
1. 외부/개념 사상 : 외부 단계의 뷰를 사용해서 입력된 사용자의 질의를 개념 단계의 스키마를 사용한 질의로 변환하는 것
2. 개념/내부 사상: 변환한 것을 다시 내부 단계의 스키마로 변환하여 디스크의 데이터베이스에 접근하는 것
3단계 스키마 장점, 단점
장점: 물리적 및 논리적 독립성 확보가 용이하다 → 사상만 변경되어서 각 단계의 독립성이 유지된다
단점: 두 번의 사상에 따른 DBMS의 비효율성 초래 (질의/프로그램 컴파일/실행에 많은 오버헤드 발생)
데이터 독립성
: 상위 단계의 스키마 정의에 영향을 주지 않으면서 어떤 단계의 스키마 정의를 변경 가능한 것
- 한 단계에서 데이터 구조를 바꿔도 다른 단계에 영향을 주지 않는 것을 의미, 즉, 데이터베이스의 한 부분을 수정하더라도 전체 시스템이 망가지지 않도록 설계된 것
두가지 데이터 독립성의 유형
1. 논리적 데이터 독립성: 외부 스키마나 응용 프로그램들을 변경하지 않으면서 개념 스키마를 변경하는 것
- 개념 단계와 외부 단계 간의 독립성
- 쉽게 말해 데이터베이스 구조를 바꾸더라도 사용자가 보는 화면(뷰)에는 변화가 없도록 하는 것
2. 물리적 데이터 독립성: 개념 스키마를 변경하지 않으면서 내부 스키마를 변경할 수 있는 것
- 물리 단계와 개념 단계 간의 독립성
- 데이터가 저장되는 방식이나 저장 위치를 변경하더라도 논리적 구조에는 영향을 미치지 않도록 합니다
- 쉽게 말해 데이터를 어디에 어떻게 저장하든 논리적인 데이터베이스 구조는 변하지 않도록 하는 것
추가개념 (내가 추가적으로 공부하면서 정리한 부분)
아키텍처 : 어떤 시스템이 어떻게 구성되고, 각 구성요소가 어떤 역할을 하며 서로 어떻게 상호작용하는지 정의한 전체적인 청사진
- 쉽게 말해 설계도, 설계도구 라고 생각
ex) 컴퓨터 아키텍처 : CPU, 메모리, 저장장치 등 하드웨어의 설계 구조
ex) 데이터베이스 아키텍처 : 데이터가 어떻게 저장되고 관리되는지 정의
'[ 학교 ] > [ 데이터베이스 ]' 카테고리의 다른 글
[DB] 3장 / ER모델 (0) | 2024.10.19 |
---|---|
[DB] 2장 / 데이터베이스 언어, 인터페이스, 시스템 환경 (1) | 2024.10.18 |
[DB] 2장 / 데이터 모델, 스키마 (0) | 2024.10.18 |
[DB] 1장 / DBMS 기능, DB의 응용, DB 사용자의 분류 (0) | 2024.10.04 |
[DB] 1장 / 데이터베이스의 장점 (0) | 2024.10.04 |