본문 바로가기
Computer Science/Database

[데이터베이스 핵심 요약] 1. 데이터 독립성(Data Independence)

by pilgyeong 2022. 11. 11.

 

1. 데이터 독립성의 개념

하위 단계 데이터의 논리적/물리적 구조가 변경되더라도 상위 단계 또는 외부 사용자에게 영향을 미치지 않는 속성을 말한다.

 

 

2. 데이터 독립성의 필요성

그림에 나와 있는 문제를 해결하기 위해 데이터 독립성이 필요하다.

  • 유지보수 비용 감소: 데이터가 독립되면 수정을 해야될 부분이 최소화 되고, 수정하기에 용이해져 최종적으로 유지보수 비용이 감소되는 효과가 있다.
  • 데이터 복잡도 감소: 데이터가 독립하게 되면, 구조를 재개선하게 되어 복잡성이 줄어드는 효과가 있다.
  • 데이터 중복성 감소: 구조를 재개선하여 중복성도 줄어드는 효과가 있다.
  • 요구사항 대응 향상: 데이터의 구조가 잘못되었을 경우, 유지보수에 대한 처리가 힘들고 많은 비용이 들지만 데이터가 독립이 되면 유지보수에 대한 처리가 수월하기에 요구사항 대응을 향상시킬 수 있다.

 

 

3. 데이터독립성의 개념도

외부 스키마 (External Schema)

  • 데이터베이스의 각 사용자가 응용 프로그래머가 접근하는 데이터를 정의한 것
  • 개인 및 특정 응용 프로그램에 제한된 전체 데이터베이스의 논리적인 하나의 부분
  • DB의 개개인 사용자나 응용 프로그래머가 접근하는 DB 정의

개념 스키마 (Conceptual Schema)

  • 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술한 것
  • 하나의 데이터베이스 시스템에는 하나의 개념 스키마만 존재함

내부 스키마 (Internal Schema)

  • 내부단계, 내부스키마로 구성, DB가 물리적으로 저장되는 형식
  • 저장장치(Storage) 입장에서 DB 전체 저장 방법을 명세한 것

 

4. 스키마 개념도에 대한 예시

각 팀(인사, 회계, 사용자)의 뷰와 개념스키마간에 논리적으로 독립되어 있어야 하며, 개념스키마와 내부스키마간에도 물리적으로 독립되어 있어야 한다.

 

5. 데이터 독립성의 종류

독립성 내용 목적
논리적 독립성 • 데이터베이스의 논리적 구조를 변경시키더라도 기존 응용 프로그램에 영향을 주지 않는 것 (응용프로그램과 자료구조를 독립시킴)
• 데이터베이스 관리시스템이 하나의 논리적 데이터 구조를 가지고 많은 응용 프로그램이 제 각각 요구하는 다양한 형태의 논리적 구조로 사상(mapping)시켜 줄 수 있어야 함
• 사용자 특성에 맞게 변경 가능
• 통합구조 변경 가능
• 논리적 구조 사상
물리적 독립성 • 응용 프로그램과 논리적 구조에 영향을 주지 않고, 데이터베이스의 물리적 구조를 변경시킬 수 있는 것
• 하나의 논리적 구조로부터 여러 가지 상이한 물리적 구조를 지원할 수 있는 mapping 능력이 있어야 한다는 것
• 물리적 구조 변경 없이 개념 구조 변경 가능
• 개념구조 영향 없이 물리적 구조 변경 가능
• 물리적 구조 사상