일단 "스키마"라는 뜻은 개요, 대요, 윤관,도표 등등으로 사전적 의미가 있는데요
DB에서는 DB를 논리적으로 정의한 것을 나타내는 하나의 전문용어로서 원어 그대로 사용된답니다.

좀 상세하게 설명하자면 스키마는 개체의 특성을 나타내는 속성과 속성들의 집합으로 이루어진 개채, 개채사이에 존재하는 관계에 대한 정의와 이들이 유지해야 될 제약조건들을 기술한겁니다..
한마디로 말하자면.. DB에 어떤 구조로 데이터가 저장되는가를 나타낸것. 즉
"데이터베이스 구조를 스키마 라고합니다"
이런 스키마는 DB를 관리하거나 운용하는데 매우중요해 데이터사전에 저장되죠.
또 각 스키마 사이에는 사상(Mapping)이 성립되어 외부스키마와 개념스키마 사이에는 외부/개념 사상이 이루어지고 개념스키마와 내부 스키마 사이에는 개념/내부
사상이 이루어지며 데이터의 논리적 독립성 및 물리적 독립성을 구현하는데 아주 중요한 역할을 수행하게 된답니다


각 스키마로 들어가 볼까요^^?

외부스키마 - DB전체중에서 개개 사용자나 응용 P/G 에서 필요로 하는 개채와 관계에 대해서 정의한 것을 외부스키마라 한답니다
때로는 전체DB의 논리적 일부분이 된다는 의미에서 서브스키마 또는 DB를 들여다
보는 창이라는 의미에서 View 라고도 합니다..
따라서 사용자의 수나 응용 P/G의 수만큼 많은 외부 스키마가 존재할수 있구요 이를통해 DB에 접근할 수 있게되므로 결국 외부 스키마는 DB에 대한 외부로부터의 접근 통로구실을 하게됩니다..

개념스키마 - 조직체 전체를 관장하는 입잡에서 DB를 정의한 것입니다..
따라서 조직페의 모든 용용 시스템에서 필요로 하는 모든 개체,관계 그리고
제약조건들을 포함해야 하구요 DB를 효율적으로 관리하는데 필요한 접근권한, 보안정책, 무결성 규칙등에 관한 사항들도 추가적으로 포함되기도 하거든요..
그래서 경우에 따라서는 이개념스키마 라는녀석을 그냥 "스키마"라고 부르기도해요
근데 개념스키마는 DB전체에 대해 기술한 것이기때문에 유일할 수 밖에 없습니다
즉~~!! 딱 하나뿐이죠~ Only One~


내부스키마 - 물리적 저장장치의 입장에서 DB가 저장되는 방법을 기술한것입니다
구체적으로는 개념 스키마를 디스크 기억장치에 물리적으로 구현하기 위한 방법을
기술한 것으로서 그 주된내용은 실제로 저장될 내부 레코드의 형식, 내부레코드의
물리적 순서, 인덱스의 유/무 등에 관한것입니다..
하지만 실제의 DB는 내부 스키마에 의해 곧바로 구현되는 것이 아니라 내부 스키마에서 기술한 내용에따라 운영체제의 파일 시스템에 의해 물리적 저장장치에 기록되는 것입니다..
실무적으로는 내부 스키마에 의해 DV의 실행속도가 결정적으로 영향을 받기때문에
DB의 구축목적에 따라 내부 스키마를 결정해야 할 필요가 있답니다....


      
Posted by k_ben