IT

SQLD, SQLP 시험과목1: 데이터 모델링의 이해 - 6

紫紅 2018. 8. 18. 15:24
반응형

 이 글은 한국데이터진흥원에서 2013년도에 출판한 「SQL 전문가 가이드」의 한국어 번역입니다(한국데이터진흥원에서 외국어로 출판했다는 의미가 아니라, 한국어를 화성에서 배우신 분들이 쓴 책이기에 번역이 필요하다고 판단했습니다. 더 이상 이 책을 보며 고통받는 이들이 없길 바라는 마음을 담아 한한번역 시작합니다).

 직역이 아닌 의역이 다수이므로 'SQL에 대한 이해'를 돕는 용도로만 사용하시길 바랍니다(주관식 시험은 토씨하나 틀리면 가차없이 감점시킨다는 얘기가 있습니다. 특히 주의하시길). 또한 실제 의미와 맞지 않는 부분이 있을 수 있는데, 댓글로 친절하게 지적해주신다면 감사하겠습니다.




6. 데이터 모델링에서 데이터 독립성의 이해



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


 데이터 독립성을 이해하기 위해서는, 해당 개념 출현의 배경을 이해할 필요가 있다. 데이터 독립성의 반대말은 데이터 종속성인데, 종속의 주체는 보통 응용(Application)을 지칭한다. 응용(Application)은 사용자 요구사항을 처리하는 사용자 접점의 인터페이스 오브젝트이며, 과거 방식은 데이터가 있는 파일과 데이터에 접근하기 위한 인덱스를 별도로 구분하여 접근하였다. 그런데 사용자가 접근하는 유형에 따라 데이터를 구성하는 방법이 영향을 받게되므로 유지보수 비용과 복잡도 등이 증가한다.






 아무튼 이를 극복하기위한 개념이 데이터 독립성이다. 데이터 독립성을 확보하게 되면 다음과 같은 효과를 얻을 수 있다. 


 - 각 View의 독립성을 유지하고 계층별 View에 영향을 주지 않고 변경이 가능하다.

 - 단계별 Schema에 따라 데이터 정의어(DDL)와 데이터 조작어(DCL)가 다름을 제공한다.


데이터 독립성을 이해하기 위해서는 3단계로 표현된 ANSI 표준 모델을 살펴보면 된다. 특히 3단계인 구조, 독립성, 사상(Mapping)의 3가지를 이해하면 된다.



나. 데이터베이스 3단계 구조


ANSI/SPARC의 데이터 독립성 모델은 외부적 개념적, 내부적 단계로 구성되어 서로 간섭하지 않는다.


데이터 독립성의 3단계에서 외부단계는 사용자와 가까운 단계이다. 즉, 사용자가 처리하고자 하는 데이터 유형, 관점, 방법에 따라 다른 스키마 구조를 갖는다. 개념단계는 사용자가 처리하는 데이터 유형의 공통적인 사항을 퍼리하는 통합된 뷰를 스키마 구조로 디자인한 형태이다. 우리가 쉽게 이해하는 데이터 모델은 사용자가 처리하는 통합된 뷰를 설계하는 도구이다. 마지막으로 내부적 단계는 데이터가 물리적으로 저장된 방법에 대한 스키마 구조를 말한다.




       데이터 독립성


다. 데이터 독립성 요소


항목 

내용 

비고 

외부 스키마

(External Schema) 

- View 단계 여러 개의 사용자 관점으로 구성, 즉 개개 사용자 단계로서 개개 사용자가 보는 개인적 DB 스키마

사용자 관점

접근하는 특성에 따른 스키마 구성 

개념 스키마(Conceptual Schema)

- 구성 모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것

- 모든 응용시스템 혹은 사용자가 필요로 하는 데이터를 통합한  조직 전체의 DB를 기술한 것으로  DB에 저장되는 테이터와 그들 간의 관계를 표현하는 스키마

통합관점 

내부스키마

(Internal Schema)

-내부단계, 내부 스키마로 구성, DB가 물리적으로 저장된 형식 

- 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마

물리적 저장구조 


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

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



라. 두 영역의 데이터 독립성


이렇게 3단계로 개념이 분리되면서 각각의 영역에 대한 독립성을 지정하는 용어가 바로 논리적인 독립성과 물리적인 독립성이다.


독립성 

내용 

특징 

논리적 독립성 

- 개념 스키마가 변경되어도 외부 스키마엔 영향을 미치지 않도록 지원하는 것

- 논리적 구조가 변경되어도 응용 프로그램에 영향 없음 

- 사용자 특성에 맞는 변경 가능

- 통합 구조 변경 가능 

물리적 독립성 

- 내부 스키마가 변경되어도 외부/ 개념 스키마는 영향을 받지 않도록 지원하는 것

- 논리적 구조가 변경되어도 응용 프로그램에 영향 없음 

- 물리적 구조 영향 없이 개념 구조 변경 가능

- 개념구조 영향 없이 물리적인 구조 변경 가능 


즉, 논리적인 데이터 독립성은 외부의 변경에도 개념 스키마가 변하지 않는 특징을 가진다.



마. 사상(Mapping)


사상이란 상호 독립적인 개념을 연결시켜주는 다리를 뜻한다. 데이터 독립성에서는 크게 2가지 사상이 도출된다.


사상 

내용 

예 

외부적/개념적 사상

(논리적 사상)

-외부적 뷰와 개념적 뷰의 상호 관련성을 정의함 

 사용자가 접근하는 형식에 따라다른 타입의 필드를 가질 수 있음. 개념적 뷰의 필드 타입은 변화가 없음

 개념적/내부적 사상

(물리적 사상)

- 개념적 뷰와 저장된 데이터베이스의 상호관련성을 정의함 

만약 저장된 데이터베이스 구조가 바뀐다면 개념적/내부적 사상이 바뀌어야 함. 그래야 개념적 스키마가 그대로 남아있게 됨. 


즉, 위부 단계를 위한 스키마 구조는 전체가 통합된 개념적 스키마와 연결되고, 이를 논리적 사상이라 한다. 또한 통합된 개념적 스키마 구조와 물리적 테이블스페이스가 연결되는 구조를 물리적 사상이라 한다.

데이터 독립성이 보장되기 위해서는 사상을 하는 스크립트(DDL)를 DBA가 필요할 때마다 변경해주어야 한다. 즉, 각 단계의 독립성을 보장하기 위해서 변경사항이 발생했을 때 DBA가 작업해주기 때문에 데이터 독립성이 보장된다고 할 수 있다.


다음은 '7. 데이터 모델링의 중요한 세 가지 개념'입니다.

반응형