데이터 독립성의 필요성
상호간 영향에서 벗어서 개별 형식이 가지는 고유의 기능을 유지시키며 그 기능을 극대화 시키는 것
- 컴포넌트 기반의 모듈 구성도 각각이 고유한 기능을 가지면서 다른 기능을 가지고 있는
컴포넌트와 인터페이스를 가지게 하는 모습으로 정의할 수 있다.
- 어떤 단위에 대해 독립적인 의미를 부여하고, 그것을 효과적으로 구현하게 되면
자신이 가지는 고유한 특징을 명확하게
할 뿐만 아니라 다른 기능의 변경으로부터 쉽게 변경되지 않고
자신의 고유한 기능을 가지고 기능을 제공하는 장점을 가지게 된다.
- 데이터 독립성을 이해하기 위해서는 ANSI 표준 모델을 살펴보면 된다.
- 특히 3단계인
구조, 독립성, 사상(Mapping)
3가지를 이해
출연 배경
- 데이터 독립성 ↔ 데이터 종속성
- 여기서 종속의 주체는
응용(Application)
을 지칭한다.
- 응용은 사용자 요구사항을 처리하는 사용자 접점의 인터페이스 오브젝트 이다.
사용자가 접근하는 방법 (트랜잭션)
에 따라
- 파일의 정렬 순서, 인덱스의 정렬순서, 파일 구성 등을 제공하기 쉽게 별도로 구성한다.
- 즉, 사용자 접근 방법에 따라 데이터를 구성하는 방법이 영향을 받게 된다.
목적
- 지속적으로 증가하는
유지보수 비용을 절감
- 사용자 요구 사항에 대해 화면과 데이터베이스 간에 서로 독립성을 유지하기 위함.
이러한 목적으로 데이터 독립성 개념이 출현.
효과
- 각 뷰의 독립성을 유지하고 계층별 뷰에 영향을 주지 않고 변경이 가능
- 단계별 스키마에 따라 데이터 정의어(DDL)와 데이터 조작어(DML) 차이를 제공
데이터 독립성 3단계 구조
- ANSI/SPARC의 3단계 구성의 데이터 독립성 모델은
외부/개념적/내부적 단계
로 구성
- 서로
간섭되지 않는 모델
을 제시
외부 단계
(Eternal Schema)
- 사용자와 가장 가까운 단계
- 사용자 개개인이 보는 자료에 대한 관점과 관련이 있다.
- 사용자가 처리하고자 하는 데이터 유형과 관점, 방법에 따라 다른 스키마 구조를 가지고 있다.
개념 단계
(Conceptual Schema)
- 사용자가 처리하는 데이터 유형의 공통적인 사항을 처리하는 통합된 뷰를 스키마 구조로 디자인한 형태
- 우리가 쉽게 이해하는 데이터 모델은 사용자가 처리하는 통합된 뷰를 설계하는 도구하고 이해해도 무방.
내부 단계
(Internal Schema)
- 데이터가 물리적으로 저장된 방법에 대한 스키마 구조를 말한다.
데이터 독립성 요소
외부 스키마
- 외부 단계
- View 단계
여러 개의 사용자 관점
으로 구성
- 즉, 개개 사용자 단계로서 개개 사용자가 보는
개인적 DB 스키마
- DB의 개개 사용자나 응용 프로그래머가 접근하는 DB 정의
- 사용자 관점 / 접근하는 특성에 따른 스키마 구성
개념 스키마
- 개념 단계
- 하나의 개념적 스키마로 구성
모든 사용자 관점을 통합
한 조직 전체의 DB를 기술하는 것
- 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한
조직 전체의 DB
를 기술한 것
- DB에 저장되는
데이터와 그들간의 관계
를 표현하는 스키마
- 통합 관점
내부 스키마
- 내부 단계
- 내부 스키마로 구성
- DB가
물리적으로 저장
된 형식
- 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마
- 물리적 저장 구조
데이터 베이스 스키마 구조는 3단계로 구분되고 각각은 상호 독립적인 의미를 가진다.
또한, 고유한 기능을 가진다.
데이터 모델링은 통합관점의 뷰
를 가지고 있는 개념 스키마를 만들어가는 과정으로 이해할 수 있다.
두 영역의 데이터 독립성
3단계로 개념이 분리되면서 각각의 영역에 대한 독립성을 지정하는 용어가
→ 논리적 독립성
과 물리적인 독립성
이다.
논리적 독립성
- 개념 스키마가 변경되어도
외부 스키마에는 영향을 미치지 않도록
지원하는 것
- 논리적 구조가 변경되어도 응용 프로그램에 영향이 없다.
- 개별 화면이나 프로세스에 의해 변화된다기 보다 전체 업무적인 요건을 고려하여 종합적으로 영향을 받음
- 특징
- 사용자 특성에 맞는 변경 가능
- 통합 구조 변경 가능
물리적 독립성
- 내부스키마가 변경되어도
외부/개념 스키마는 영향을 받지 않도록
지원하는 것
- 저장장치의 구조변경은 응용 프로그램과 개념 스키마에 영향 없음
- 특징
- 물리적 구조 영향 없이 개념 구조 변경 가능
- 개념 구조 영향 없이 물리적인 구조 변경 가능
사상 (Mapping)
상호 독립적인 개념을 연결시켜주는 다리를 뜻한다.
- 데이터 독립성을 보장하기 위해서는 매핑을 하는 스크립트 (DDL) 를 DBA가 필요할 때마다 변경해줘야한다.
- 즉, 변경사항이 발생했을 때 DBA가 적절하게 작업을 해주기 때문에 독립성이 보장이 된다.
- 외부적/개념적 사상
- 논리적 사상
외부적 뷰
와 개념적 뷰
의 상호 관련성을 정의
- 사용자 인터페이스 뷰를 만들기 위한 스키마 구조는 전체가 통합된 개념적 스키마와 연결된다.
- 예
- 사용자가 접근하는 형식에 따라 다른 타입의 필드를 가질 수 있음
- 개념적 뷰의 필드 타입은 변화가 없음.
- 개념적/내부적 사상
- 물리적 사상
개념적 뷰
와 저장된 데이터베이스
의 상호 관련성을 정의
- 통합된 개념적 스키마와 물리적인 테이블 스페이스와 연결된다.
- 예
- 만약 저장된 데이터 베이스 구조가 바뀐다면 개념적/내부적 사상이 바뀌어야 함
- 그래야 개념적 스키마가 그대로 남아있게 됨