티스토리 뷰

데이터베이스를 공부하다보면, ANSI/SPARC architecture라고도 불리는 'The Three-Schema Architecture'를 마주칩니다.

상당히 개념적인 아키텍처로 느껴지기 때문에 처음 봤을 때는 이해가 잘 가지 않을 수 있습니다.

오늘 Three-Schema Architecture에 대해 큰 그림을 볼 수 있으면 좋겠습니다.

 

 

Three-Schema Architecture는 다음과 같이 구성됩니다.

 

Three Schema Architecture

 

총 Three Level로 구성되어 있는 걸 알 수 있는데,

External Level, Conceptual Level,  Internal Level 총 세가지 Level로 구분합니다.

 

가장 먼저 Internal Level을 보면, 

Internal Level은 내부 스키마(internal schema)를 갖고 있습니다.

즉, DB의 physical storage structure를 describe하고 있습니다.

 

그 다음으로 Conceputal Level을 보면,

Conceptual level은 개념 스키마(conceptual schem를 갖고 있습니다.

즉, 사용자들을 위한 모든 DB의 구조를 describe하는데요, Entity, Data Type, Relationship, User operation과 더불어 Constraint(제약조건)을 자세히 Describe합니다.

High-level의 또는 Implementation data model이 이 Level에서 적용될 수 있습니다.

 

마지막으로 External Level(또는 View Level)은 많은 수의 외부 스키마(External schema)들 또는 User view들을 포함합니다.

DBdptj 사용자 그룹이 관심있고 사용하고자 하는 부분을 명세하고, 나머지 부분은 숨깁니다.

역시 High-level의 또는 Implementation data model이 이 Level에서도 적용될 수 있습니다.

 

사실상 실제 데이터를 포함하는 레벨은 Internal Level입니다. 다른 레벨에서는 데이터에 대해 Description을 갖고 있을 뿐이죠.

이러한 레벨들 사이에서 Transforming 요청이나 결과를 주고 받는 것을 Mapping이라고 합니다.

(이러한 Mapping은 시간을 많이 요하는 작업이기에 몇몇의 DBMS는 External View를 지원하지 않기도 합니다.)

 

 

학생 DB를 예로 Three Schema Architecture를 구성한 예를 보면 다음과 같습니다.

 

Three Schema Architecture의 예

보통 사용자들이 볼 수 있는 스키마가 외부 스키마,

DB를 정의하면서 DDL문에 작성하는 내용에 포함되는 개념 스키마,

실제로 저장되는 형태인 내부 스키마를 예를 통해 쉽게 구분해서 이해하실 수 있을겁니다.

 

Three-schema Architecture의 또 다른 특징으로는

물리적, 논리적 데이터 독립성(Data Independence)를 갖는데 있어 매우 효율적이고 쉬운 아키텍처라는 점입니다.

 

논리적 독립성(Logical Data Independence)은

개념 스키마(Conceptual Schema)를 변경함에 있어 외부 스키마(External Schema) 또는 애플리케이션(Application Program)을 변경하지 않아도 되는 특성입니다.

(오직 View 정의 그리고 Mapping만 DBMS에서 변경되기만 하면 됩니다.)

 

물리적 독립성(Physical Data Independence)은

내부 스키마(Internal Schema)를 변경함에 있어 개념 스키마 또는 외부 스키마를 변경하지 않아도 되는 특성입니다.

 

이러한 독립성을 가짐으로써 DB의 안정성을 확보할 수 있고, 변경으로 인한 비용을 줄일 수 있을 것입니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함