슴슴한 IT

[SQLD,SQLP]데이터 모델링 - 데이터 독립성의 이해 본문

SQL

[SQLD,SQLP]데이터 모델링 - 데이터 독립성의 이해

요한바울 2023. 6. 25. 22:42
728x90

데이터 독립성의 필요성

1) 시스템 유지 보수 용이성

데이터의 구조나 스키마의 변경이 다른 계층에 영향을 미치지 않게 되어 유지 보수 작업의 용이성을 높이고 유지보수 비용을 절감시켜 줍니다. 

2) 응용 프로그램의 유연성

응용 프로그램과 데이터 간의 의존성을 최소화하여 유연성을 높여주며, 이는 비즈니스 요구사항의 변화나 기술적인 요구사항의 변경에 대응하기 쉽도록 해줍니다. 

3) 데이터베이스 시스템의 확장성

데이터베이스 시스템의 크기나 복잡도 증가에 대응하기 위해 Scale-up 또는 Scale-Out과 같은 확장 방법을 적용할 수 있으며, 데이터의 논리적 구조나 응용 프로그램의 변경 없이 확장 작업을 수행할 수 있습니다.

4) 데이터베이스 시스템의 성능 최적화

저장 장치의 성능 향상을 위해 데이터의 배치를 변경하거나 인덱스를 재구성할 필요가 있을 때, 데이터의 논리적 구조나 응용 프로그램에 영향을 미치지 않고 성능 향상을 위한 조치를 쉽게 적용할 수 있습니다. 

5) 데이터 일관성 및 품질 유지

논리적 구조를 변경할 때 데이터의 일관성 유지를 위한 제약 조건이나 규칙을 정의할 수 있으며, 이는 데이터의 정확성과 신뢰성을 보장할 수 있도록 해줍니다.


데이터베이스 3단계 구조 

ANSI/SPARC의 3단계 구성의 데이터 독립성 모델은 외부단계, 개념적 단계, 내부적 단계로 구성된 서로 간섭되지 않은 모델을 제시하고 있습니다. 

 

출처:한국데이터진흥원 SQL전문가 가이드 2020개정판 참조

1) 외부단계(External Level 또는 View Level)

사용자와 가까운 단계로 사용자 관점에서 데이터의 구조와 표현 방식을 정의한 것으로, 이 단계에서는 각 사용자나 응용 프로그램에게 필요한 데이터를 제공하기 위한 외부 스키마(External Schema) 또는 뷰(View)를 정의합니다. 외부 단계는 데이터의 논리적 구조를 정의하는 데 사용됩니다. 

2) 개념단계(Conceptual Level 또는 Logical Level)

사용자가 처리하는 데이터 유형의 공통적인 사항을 처리하는 통합된 뷰를 스키마 구조로 디자인한 형태입니다. 이 단계에서는 개체(Entity), 속성(Attribute), 관계(Relationship)등을 포함한 데이터의 전체적인 구조와 의미를 정의하고, 전체 데이터베이스의 논리적인 구조를 표현하는 개념 스키마(Conceptual Schema)를 정의합니다.

3) 내부단계(Internal Level 또는 Storage Level)

데이터베이스의 물리적인 구조를 정의하는 단계로, 데이터의 실제적인 저장 방식과 접근 방법을 정의합니다.


데이터 독립성 요소

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

데이터베이스 스키마 구조는 3단계로 구분되고 각각은 상호 독립적인 의미와 고유한 기능을 가집니다. 

데이터 모델링은 통합 관점의 뷰를 갖는 개념 스키마를 만들어가는 과정입니다.


논리적 / 물리적 데이터 독립성

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

사상(Mapping)

상호 독립적인 개념을 연결시켜주는 다를 뜻하며, 논리적 사상과 물리적 사상으로 나뉩니다.

사상 내용
외부적/개념적 사상(논리적 사상) 외부적 뷰와 개념적 뷰의 상호 관련성을 정의 사용자가 접근하는 형식에 따라 다른 타입의 필드를 가질 수 있음. 개념적 뷰의 필드 타입은 변화가 없음
개념적/내무적 사상(물리적 사상) 개념적 뷰와 저장된 데이터베이스의 상호 관련성을 의미 저장 된 데이터베이스 구조가 바뀐다면 개념적/내부적 사상도 변경돼야함

출처 : 한국데이터진흥원 SQL가이드 2020 Edition 참조


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90