
스키마
스키마는 형태, 모양을 뜻하는 단어로 정보통신 분야에서는 자료의 구조와 표현 방법, 관계등을 일정한 형식으로 정의한
설계 혹은 구조를 의미합니다.
데이터베이스의 스키마구조

데이터베이스는 저장 데이터의 독립성을 유지하기 위해 3단계의 스키마로 구성되어 있습니다
- 데이터베이스를 바라보는 방식에 대한 정의(외부스키마)
- 데이터 베이스를 구성하는 데이터의 논리적인 구조에 대한 정의(개념스키마)
- 데이터가 물리정 장치에 저장되는 구조에 대한 정의(내부스키마)
Q. 데이터 베이스의 3단계 구조 중 아래 내용이 설명하는 스키마구조로 가장 적절한 것은?
- 모든 사용자 관점을 통합한 조직 전체 관점의 통합적 표현
- 모든 응용시스템들이나 사용자들이 필요로 하는 데이터를 통합
- 조직 전체의 DB를 기술한 것으로 DB에 저장되는 데이터와 그룹간의 관계를 표현
A. 개념스키마

외부스키마는 사용자가 데이터를 바라보는 방식에 관한 정의입니다.
사용자마다 관점이 다르기 때문에 하나의 데이터를 바라보는 다양한 방식이 있습니다.
그렇기 때문에 하나의 데이터베이스에 다수의 외부 스키마가 존재합니다.
사용자가 데이터를 보는 곳을 '사용자 View' 라고합니다. 사용자의 관점에 따라 사용자 View 또한 다양하게 존재합니다.
외부스키마는 사용자 뷰와 같은 개념으로 사용자에 따라 개인화 된 뷰, 즉 다수의 외부 스키마가 존재합니다.
예를 들어 어떤 사용자는 Java 프로그램을 통해 데이터베이스에 간접적으로 접근할 수 있고 특정 사용자는 SQL을 통해 직접적으로 접근할 수 있습니다. 이때 두 사용자의 외부 스키마는 달라집니다.

개념 스키마는 데이터베이스를 구성하는 데이터의 구조를 인간의 관점에서 논리적으로 정의한 것입니다.
데이터베이스는 논리적 구조와 물리적 구조로 나뉘는데 논리적 구조에 해당하는 부분이 개념 스키마입니다.
논리적 구조는 데이터베이스를 이루는 데이터에 대한 데이터 개체, 관계, 제약조건, 접근권한, 무결성 규칙 등을 명세한 것입니다.
이를 통해 사용자는 데이터베이스에 데이터가 어떻게 구성돼 있는지 알 수 있습니다.

내부 스키마는 데이터베이스를 구성하는 데이터의 구조를 컴퓨터의 관점에서 물리적으로 정의한 것입니다.
디스크나 물리적 저장장치에 데이터가 저장되는 방식을 정의합니다.
개념스키마는 내부스키마에 정의된 저장인터페이스를 통해 세분화 되어 물리적인 저장장치에 구조적으로 저장됩니다.
데이터 독립성
데이터베이스를 3단계의 스키마(외부-개념-내부)로 분리하는 이유는 데이터의 독립성을 유지하기 위해서 입니다.
데이터의 독립성은 크게 두가지로 구분할 수 있습니다.
논리적 독립성
개념 스키마와 외부 스키마를 분리해서 데이터가 데이터 사용하는 방식에 종속되지 않게 합니다.
즉, 논리적 구조가 변경되어도 응용 프로그램에 영향을 주지 않게 합니다.
물리적 독립성
개념 스키마와 내부 스키마를 분리하여 데이터를 저장하는 방식이 데이터의 논리적 구조에 영향을 주지 못하도록 합니다.
즉, 저장장치의 구조변경은 응용 프로그램과 개념 스키마에 영향을 주지 않게 합니다.
Mapping(사상)
데이터 독립성을 위해 분리한 스키마 3계층에서는 크게 두 가지의 매핑(사상)이 도출됩니다.
외부-개념 매핑 (논리적 사상)
사용자와 데이터베이스의 상호 관련성을 정의합니다.
외부 화면이나 사용자와 데이터베이스를 연결하기 위해 사용자의 관점과 전체가 통합된 개념적 스키마를 연결합니다..
개념-내부 매핑 (물리적 사상)
데이터 베이스를 구성하는 데이터의 논리적인 구조와 물리적인 구조의 상호 관련성을 정의합니다.
통합된 개념적 스키마와 물리적인 테이블 스페이스와 연결되는 구조가 물리적 사상입니다.
데이터 독립성을 보장하기 위해서는 DBA는 Mapping Script(DDL)을 필요할 때마다 변경해 주어야 합니다.
각 단계의 독립성을 보장하기 위해서 변경 사항이 발생했을 때, 적절한 변경작업을 해줘야 독립성이 유지됩니다.
'DB > 데이터모델링' 카테고리의 다른 글
| 데이터모델링이론 - 엔터티의 관계와 관계명, 관계차수, 필수선택사양 (0) | 2024.01.10 |
|---|---|
| 데이터모델링이론 - 엔터티 개념 정리 (0) | 2024.01.09 |
| 데이터모델링 Part 3 - 엔터티, 관계, 속성, 이해관계자, ERD (0) | 2024.01.02 |
| 데이터모델링 Part1 - 데이터모델링의 중요성, 유의점, 구성, 생명주기 (0) | 2023.12.18 |
| 데이터 모델링이론 - 엔터티가 갖는 공통적인 성질을 표현하는 속성 (0) | 2023.06.13 |