[Database] 데이터 독립성
[Database] 데이터 독립성
1. 데이터 독립성에 대한 정의
데이터 독립성의 개요
- DBMS의 궁극적 목적
- 하위 단계의 데이터 구조가 변경되더라도 상위 단계에 영향을 미치지 않는 속성
- 파일시스템의 경우 응용 프로그램과 데이터가 상호 밀접하게 연관되어 있어 데이터의 종속성과 중복성이 발생
- 데이터 종속성 : 데이터가 변경되면 응용 프로그램이 수정되어야 한다.
- 데이터 중복성 : 데이터의 일관성 문제 발생
데이터 독립성의 종류
논리적 데이터 독립성
- 응용 프로그램에 영향을 주지 않고 데이터베이스 논리적 구조를 변경할 수 있는 능력
- DBMS가 하나의 논리적 데이터 구조를 가지고 많은 응용 프로그램이 제각각 요구하는 다양한 형태의 논리적 구조로 mapping시킬 수 있는 능력이 있을 때 가능
- 데이터베이스를 확장(새로운 레코드 타입이나 데이터 항목 추가)히거나 데이터베이스를 축소(기존의 레코드 타입이나 데이터 항목 삭제)하면서 개념 스키마를 변경할 수 있으며, 후자의 경우 남아있는 데이터만 참조하는 외부 스키마들이 영향을 받으면 안됨
- 즉, 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원
- 외부스키마에 영향을 미치지 않으면서 개념스카마에 적용되는 제약조건들을 변경가능
물리적 데이터 독립성
- 응용 프로그램이나 데이터베이스의 논리적 구조에 영향을 미치지 않고 데이터의 물리적 구조를 변경할 수 있는 능력
- 하나의 논리적 구조로부터 여러 가지의 상이한 물리적 구조를 지원할 수 있는 mapping 능력이 있을 때 가능
- 내부 스키마가 변경되어도 외부/개념 스키마가 영향을 받지 않도록 지원
데이터 독립성의 기대효과
- 데이터베이스 관리자는 데이터베이스를 사용하는 응용 프로그램을 수정하지 않고도 데이터의 구성, 표기방법, 저장위치를 변경 가능
- 데이터를 접근하는 응용프로그램에 영향을 미치지 않고도 데이터를 처리하는 하드웨어나 소프트웨어를 보다 발전된 형태로 변경 또는 대체 가능
2. 데이터독립성 구현방법: 3레벨 스키마 구조
3단계 스키마 구조의 개념
- 하나의 데이트베이스를 데이터를 이용하는 각 개인의 관점,
- 개인의 관점이 모두 종합된 조직의 관점
- 물리적 저장 장치의 입장에서 보는 저장 장치의 관점 3단계로 나누어 데이터베이스를 기술하고 이들간의 관계를 정의한 것
3단계의 내용
- 외부 스키마 레벨
- 데이터베이스 사용자 그룹별 뷰 기술(= 뷰 레벨). 즉, 개개 사용자가 보는 개인적 DB 스키마
- DB의 개개 사용자나 응용프로그래머가 접근하는 DB 정의
- 사용자 그룹이 관심 있는 데이터베이스 부분만 기술하고 나머지 데이터베이스 부분은 감춘다.
- 복수개의 스키마로 구성
- 개념 스키마 레벨
- DB에 저장되는 데이터와 그들간의 관계를 표현하는 스키마
- 전체 사용자 그룹을 위한 전반적인 데이터베이스 구조 기술
- 외부스키마의 각 뷰들을 통합한 전체적인 DB의 개념적 묘사
- 개체, 관계성, 제약조건 등을 나타내는데 중점 (예: ER 모델)
- 자세한 물리적 저장장치는 감추고 데이터베이스의 골격에만 관심을 둠
- 고급 데이터모델이 주로 사용됨.(예: 관계형 모델, 네트워크 모델 등)
- 내부 스키마 레벨
- 데이터베이스의 물리적 저장구조 기술
- 물리적 데이터모델을 사용하여 저장구조의 액세스 패스를 처리
- 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마
사상(Mappigg)
- 상호 독립적인 개념을 연결 시켜주는 다리를 뜻함
- 외부적/개념적 사상, 개념적/내부적 사상
외부적/개념적 사상 = 논리적 사상
- 외부 화면이나 사용자에게 인터페이스를 하기 위한 스키마 구조는 전체가 통합된 개념적 스키마와 연결된다는 것
개념적/내부적 사상 = 물리적 사상
- 통합된 개념적 스키마 구조와 물리적으로 저장된 구조의 물리적인 테이블 스페이스와 연결되는 구조
출처
댓글
댓글 쓰기