[SQL] 데이터 독립성

데이터 독립성

상호간 영향에서 벗어나 개별 형식이 가지는 고유한 기능을 유지시키고 극대화 하기 위해 필요

ex) 컴포넌트 기반 모듈 구성 ▶ 컴포넌트/인터페이스로 정의, SOA ▶ 독립적인 기능으로 처리 가능한 단위를 서비스로 정의

데이터 독립성 목적

\1. 유지보수 비용 절감

\2. 데이터 복잡도를 낮춰 중복된 데이터 감소

\3. 화면과 데이터베이스 간에 서로 독립성을 유지

\4. 요구사항 대응

데이터 독립성 효과

\1. 각 뷰의 독립성 유지, 계층별 뷰에 영향을 주지 않고 변경 가능

\2. 단계별 스키마에따라 데이터 정의어와 데이터 조작어가 다름을 제공

ANSI 표준 모델

구조, 독립성, 사상

img

\1. 구조

- 외부 단계, 개념적 단계, 내부적 단계로 구성되어 서로 간섭하지 않음

외부 단계 - 사용자와 가장 가까운 단계 - 사용자가 처리하고자 하는 데이터 유형, 관점, 방법에 따라 다른 스키마 구조를 가짐 - 외부 스키마: 사용자가 보는 개인적 DB 스키마 ▶ 사용자 관점

개념 단계 - 사용자가 처리하는 데이터 유형의 공통적인 사항을 처리하는 통합된 뷰를 스키마 구조로 디자인한 형태 - 데이터 모델 = 사용자가 처리하는 통합된 뷰를 설계하는 도구 - 개념 스키마: 모든 사용자 관점을 통한 조직 전체의 DB 기술 ▶ 통합 관점

내부적 단계 - 데이터가 물리적으로 저장된 방법에 대한 스키마 구조 - 내부 스키마: DB가 물리적으로 저장되는 형식 ▶ 물리적 저장 구조

\2. 독립성

논리적 독립성 개념 스키마가 변경되어도 외부 스키마에 영향X 논리적 구조가 변경되어도 응용 프로그램에 영향X 사용자 특성에 맞는 변경O 통합 구조 변경O
물리적 독립성 내부 스키마가 변경되어도 외부 개념 스키마 영향X 저장장치의 구조 변경은 응용 프로그램과 개념 스키마에 영향X 물리적 구조 영향 없이 개념 구조 변경O 개념 구조 영향 없이 물리적 구조 변경O

\3. 사상(Mapping)

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

외부적·개념적 사상(논리적 사상) - 외부적 뷰와 개념적 뷰의 상호 관련성 정의 - 사용자가 접근하는 형식에 따라 다른 타입의 필드를 가질 수 있음

개념적·내부적 사상(물리적 사상) - 개념적 뷰와 저장된 데이터베이스의 상호 관련성 정의 - 저장된 데이터 구조가 바뀌면 개념적·내부적 사상이 바뀜, 개념적 스키마가 그대로 남음

🥑 데이터 독립성을 보장하기 위해 DDL을 DBA가 필요할 때마다 변경해야 함