Bae

[SQLD] 데이터 모델링에서 데이터 독립성의 이해 본문

SQL

[SQLD] 데이터 모델링에서 데이터 독립성의 이해

Bae:) 2022. 2. 18. 09:00

데이터 모델링에서 데이터 독립성의 이해

- 데이터 독립성(<--> 데이터 종속성) 

  사용자 요구사항에 대해 화명과 데이터베이스 간에 서로 독립성을 유지하기 위한 목적으로 데이터 독립성의 개념 출현

 

- 데이터 독립성의 필요성

  유지보수 비용증가

  데이터 중복성 증가

  데이터 복잡도 증가

  요구사항 대응 저하

 

- 데이터 독립성의 효과

  각 View의 독립성을 유지하고 계층별 View에 영향 주지 않고 변경 가능

  각 단계별 스키마에 따라 데이터 정의어(DDL)와 데이터 조작어(DML)가 다름을 제공

  데이터 독립성을 이해하기 위해 구조, 독립성, 사상(Mapping) 3단계를 이해하면 됨

 

- 데이터베이스 3단계 구조

  (사용자와 가까운 단계) 외부단계 / 개념적 단계 / 내부적 단계 , 서로 간섭되지 않는 모델

 

데이터 독립성

- 데이터 독립성 요소

  외부스키마: 각 사용자 단계의 개인적 DB 스키마, 사용자 관점, 응용 프로그램이 접근하는 DB

  개념스키마: 조직 전체의 통합된 DB 스키마, 설계자 관점 데이터 모델링의 지향점

  내부스키마: 물리적으로 데이터가 저장되는 방법을 표현하는 스키마, 개발자 관점, 물리적 저장 구조

  데이터 모델링: 통합관점 뷰를 가지는 개념스키마를 만들어가는 과정

항목 내용 비고
외부스키마(External Schema) - View 단계 여러 개의 사용자 고나점으로 구성, 즉 개개 사용자 단계로서 개개 사용자가 보는 개인적 DB스키마
- DB의 개개 사용자나 응용프로그래머가 접근하는 DB 정의
사용자 관점
접근하는 특성에 따른 스키마 구성
개념스키마(Conceptual Schema) - 개념단계 하나의 개념적 스키마로 구성, 모든 사용자 관점을 통합한 조직 전체의 DB를 기술
- 모든 응용시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술한것, DB에 저장되는 데이터와 그들간의 관계를 표현하는 스키마
통합 관점
내부스키마(Internal Schema) - 내부단계, 내부 스키마로 구성, DB가 물리적으로 저장된 형식
- 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마
물리적 저장구조

 

- 두 영역의 데이터독립성

  논리적 독립성 (외부 - 개념)

  : 개념스키마 변경 -> 외부스키마 영향 X

   (사용자 특성에 맞는 변경 가능, 통합 구조 변경 가능)

 

  물리적 독립성 (개념 - 외부)

  : 내부스키마 변경 -> 외부/개념스키마 영향 X

   (물리적 구조, 개념 구조 상호간 영향 없이 서로 변경 가능)

독립성 내용 특징
논리적 독립성 - 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원하는 것
- 논리적 구조가 변경되어도 응용 프로그램에 영향 없음
- 사용자 특성에 맞는 변경 가능
- 통합 구조 변경 가능
물리적 독립성 - 내부스키마가 변경되어도 외부/개념스키마는 영향을 받지 않도록 지원하는 것
- 저장장치의 구조변경은 응용프로그램과 개념스키마에 영향 없음
- 물리적 구조 영향 없이 개념구조 변경 가능
- 개념구조 영향 없이 물리적인 구조 변경 가능

 

- 사상(Mapping)

  상호 독립적인 개념을 연결시켜주는 다리

사상 내용
외부적/개념적 사상
(논리적 사상)
-외부적 뷰와 개념적 뷰의 상호 관련성을 정의함 사용자가 접근하는 형식에 따라 다른 타입의 필드를 가질 수 있음
개념적 뷰의 필드 타입은 변화가 없음
개념적/내부적 사상
(물리적 사상)
- 개념적 뷰와 저장된 데이터베이스의 상호관련성 정의 만약 저장된 데이터베이스 구조가 바뀐다면 개념적/내부적 사상이 바뀌어야 함
그래야 개념적 스키마가 그대로 남아있게 됨

데이터독립성을 보장하기 위해서는 사상을 하는 스크립트(DDL)를 DBA가 필요할 때마다 변경해 주어야함

즉, 각 단계(외부, 개념적, 내부적)의 독립성을 보장하기 위해서 변경사항이 발생했을 때 DBA가 적절하게 작업을 해주기 때문에 독립성이 보장됨

 

[출처] Sql 전문가 가이드

Comments