데이터 독립성이란?
DBMS 의 중요한 설계 목표 중 하나로 DB 의 물리적 구조나 논리적 구조의
변경이 사용자 응용 프로그램에 미치는 영향을 최소화하는 것을 의미한다
데이터 독립성의 유형
논리적 데이터 독립성
DB 에 저장된 데이터의 구조, 즉 테이블의 구조를
추가, 삭제, 수정하는 것을 논리적 구조의 변경이라 하며
이를 변경해도 응용 프로그램이 영향을 받지 않도록
보장하는 것을 논리적 데이터 독립성이라고 일컫는다
논리적 데이터 독립성을 제공함으로써 데이터 모델이 비즈니스 요구사항의 변화를
유연하게 대응할 수 있기에 시스템의 유지보수를 용이하게 하고, 개발 비용을 절감하는 효과가 있다
물리적 데이터 독립성
데이터가 실제로 디스크나 다른 저장 매체에 어떻게
저장되는지에 관한 변경을 물리적 저장 구조의 변경이라 하며
이를 변경해도 응용 프로그램과 사용자에게 영향을 미치지 않도록
보장하는 것을 물리적 데이터 독립성이라고 일컫는다
예를 들어, 데이터 파일의 저장 위치를 변경하거나
인덱스를 추가 및 삭제하는 작업 또는 DB 의 성능 최적화를
위해 저장 방식을 변경하는 등의 작업이 이에 해당된다
물리적 데이터 독립성을 제공함으로써 DB 관리자는 시스템의 성능을 향상하거나
저장 공간을 보다 효율적으로 사용하기 위한 변경을 자유롭게 수행할 수 있기에
결과적으로 시스템의 유연성과 확장성이 향상되며 효율적인 데이터 관리가 가능해진다
논리적 데이터 독립성과 물리적 데이터 독립성 모두 DB 시스템의 중요한 특성으로
DB 의 설계와 운영에 있어 핵심적인 원칙이며 이들은 사용자와 응용 프로그램이
DB 의 내부 구조 변경으로부터 독립적으로 동작할 수 있도록 하며
DB 시스템의 유지보수성, 확장성, 유연성을 크게 향상한다
데이터 독립성을 지원하는 아키텍처
외부 스키마
사용자 또는 사용자 그룹의 관점에서 DB 를 어떻게 보는지 정의
사용자 인터페이스와 밀접하게 연결되어 있으며
실제로 작업하는 데이터의 논리적 구조를 나타낸다
각각의 사용자 뷰를 위한 스키마를 말하며
서로 다른 사용자가 다른 뷰를 가질 수도 있다
사용자가 필요로 하는 데이터만을 표현하여
복잡성을 줄이고 사용자 맞춤형 뷰를 제공한다
이는 데이터 독립성을 통해 사용자가 DB 구조의 변경 없이도
필요한 정보를 효율적으로 접근할 수 있게 한다
내부 스키마
데이터가 실제로 DB 내에서 어떻게 저장되는지를 정의
DB 시스템의 유연성과 유지보수성을 향상시키며
시스템의 변경이 사용자 응용 프로그램에 미치는 영향을 최소화한다
이는 복잡한 데이터 환경에서의 효과적인 데이터 관리를 가능하게 한다
개념 스키마
DB 의 전체적인 논리적 구조를 정의
모든 사용자가 공유하는 DB 의 구조를 중립적인 관점에서 기술하며
이는 DB 에 저장된 데이터의 종류, 데이터 간의 관계, 적용되는 제약 조건 등을 포함한다
DB 의 구조를 하나의 전체적인 관점에서 보여주며 DBMS 의 중심적인 부분이다
논리적 데이터 독립성을 제공하여 응용 프로그램이나
사용자 뷰의 변경 없이도 DB 의 논리적 구조를 변경할 수 있도록 한다
'Misc 🗿 > Certification Journey' 카테고리의 다른 글
[Road to SQLD] - #2 데이터 모델링의 이해 (0) | 2024.02.04 |
---|---|
[Road to SQLD] - #1 개발자는 자격증보단 실력이지! (0) | 2024.01.29 |
[Road to 정처기] - #1 이거 혹시 필수야 선택이야??? (0) | 2024.01.15 |