1. 데이터 독립성의 개념
하위 단계 데이터의 논리적/물리적 구조가 변경되더라도 상위 단계 또는 외부 사용자에게 영향을 미치지 않는 속성을 말한다.
2. 데이터 독립성의 필요성
그림에 나와 있는 문제를 해결하기 위해 데이터 독립성이 필요하다.
- 유지보수 비용 감소: 데이터가 독립되면 수정을 해야될 부분이 최소화 되고, 수정하기에 용이해져 최종적으로 유지보수 비용이 감소되는 효과가 있다.
- 데이터 복잡도 감소: 데이터가 독립하게 되면, 구조를 재개선하게 되어 복잡성이 줄어드는 효과가 있다.
- 데이터 중복성 감소: 구조를 재개선하여 중복성도 줄어드는 효과가 있다.
- 요구사항 대응 향상: 데이터의 구조가 잘못되었을 경우, 유지보수에 대한 처리가 힘들고 많은 비용이 들지만 데이터가 독립이 되면 유지보수에 대한 처리가 수월하기에 요구사항 대응을 향상시킬 수 있다.
3. 데이터독립성의 개념도
외부 스키마 (External Schema)
- 데이터베이스의 각 사용자가 응용 프로그래머가 접근하는 데이터를 정의한 것
- 개인 및 특정 응용 프로그램에 제한된 전체 데이터베이스의 논리적인 하나의 부분
- DB의 개개인 사용자나 응용 프로그래머가 접근하는 DB 정의
개념 스키마 (Conceptual Schema)
- 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술한 것
- 하나의 데이터베이스 시스템에는 하나의 개념 스키마만 존재함
내부 스키마 (Internal Schema)
- 내부단계, 내부스키마로 구성, DB가 물리적으로 저장되는 형식
- 저장장치(Storage) 입장에서 DB 전체 저장 방법을 명세한 것
4. 스키마 개념도에 대한 예시
각 팀(인사, 회계, 사용자)의 뷰와 개념스키마간에 논리적으로 독립되어 있어야 하며, 개념스키마와 내부스키마간에도 물리적으로 독립되어 있어야 한다.
5. 데이터 독립성의 종류
독립성 | 내용 | 목적 |
논리적 독립성 | • 데이터베이스의 논리적 구조를 변경시키더라도 기존 응용 프로그램에 영향을 주지 않는 것 (응용프로그램과 자료구조를 독립시킴) • 데이터베이스 관리시스템이 하나의 논리적 데이터 구조를 가지고 많은 응용 프로그램이 제 각각 요구하는 다양한 형태의 논리적 구조로 사상(mapping)시켜 줄 수 있어야 함 |
• 사용자 특성에 맞게 변경 가능 • 통합구조 변경 가능 • 논리적 구조 사상 |
물리적 독립성 | • 응용 프로그램과 논리적 구조에 영향을 주지 않고, 데이터베이스의 물리적 구조를 변경시킬 수 있는 것 • 하나의 논리적 구조로부터 여러 가지 상이한 물리적 구조를 지원할 수 있는 mapping 능력이 있어야 한다는 것 |
• 물리적 구조 변경 없이 개념 구조 변경 가능 • 개념구조 영향 없이 물리적 구조 변경 가능 • 물리적 구조 사상 |
'Computer Science > Database' 카테고리의 다른 글
[데이터베이스 핵심 요약] 3. DBMS 질의어 - DDL, DML, DCL (0) | 2022.11.11 |
---|---|
[데이터베이스 핵심 요약] 2. DBMS(Database Management System) 정의 (0) | 2022.11.11 |
[데이터베이스 기본] 3. OLTP vs OLAP (0) | 2022.10.05 |
[데이터베이스 기본] 2. 데이터베이스 스키마, 구조, 사용자 (0) | 2022.10.05 |
[데이터베이스 기본] 1. 데이터베이스 기본 개념 - 개념, 특징, 장단점, DBMS와 RDBMS, NoSQL과 NewSQL (0) | 2022.10.05 |