IT/DB && SQL

[DB 개요] 스키마(Schema) 정의 및 특징

freddy12 2021. 1. 9. 21:24

스키마(Schema) 란 무엇인가? 

 

1. 데이터베이스(Database, DB) 의 구조와 제약 조건에 관한 전반적인 명세를 의미함

2. 데이터베이스(Database, DB) 의 구조를 의미하며, 관련된 데이터의 관계(Data Relationship)를 기술함

3. 데이터베이스(Database, DB) 를 구성하는 데이터의 개체, 속성, 관계, 제약에 관한 조건들을 기술

4. 외부스키마(External Schema), 개념스키마(Conceptual), 내부스키마(Internal)로 구분

 

 

 

스키마(Schema)의 특징? 

 

1. 데이터의 구조적 특성 의미

2. 데이터 사전에 저장하며 특정 데이터 모델을 이용하여 작성

3. 시간에 따라 불변

4. 데이터 논리적 단위에 명칭을 부여하고 의미를 기술

 

 

스키마(Schema) 관리의 중요성

 

1. 계층에 따라 개발자, 관리자, 사용자의 영역 구분에 따른 변경 관리 가능

2. 표준적 접근 유연성이 높아 사용에 용이

3. 데이터 무결성에 대한 규칙을 제시하며 사용자와 데이터의 물리적 저장 구조와 독립된 인터페이스제공

 

스키마(Schema) 3계층

 

외부스키마(External Schema) -> 사용자 관점

 

사용자가 접근할 수 있는 데이터베이스(Database , DB) 정의로 각 사용자 입장에서 필요한 논리적 구조 정의

응용 프로그램에서 정의되는 외부 스키마 또는 다양한 사용자 뷰

서브스키마(Sub Schema)라고도 함

예)  <CLASS>

       char[6] STUDENT_NO;

       char[30] STUDENT_NAME;

       int height;

 

 

개념스키마(Conceptional Schema) -> 기관관점

사용자별 외부 스키마들을 일괄된 하나의 완전체로 통합한 데이터베이스의 정의를 기술

개체간의 관계, 제약조건을 나타내고 데이터베이스 접근권한, 보안정책, 무결성 규칙의 명세를 정의

데이터 정의어(DDL)에 기술되는 데이터베이스 스키마 정의를 위해 고급수준의 데이터 모델로 표현

단순 스키마로 불리기도 함

예)   CLASS

       STUDENT_NO CHAR(6)

       STUDENT_NAME VARCHAR2(30)

       height NUMBER(3)

 

 

내부스키마(Internal Schema) -> 저장장치관점

데이터베이스(Database, DB)의 내용이 실제 저장매체에 저장될 수 있도록 하기위한 정의 기술

물리적 저장장치 관점에서 본 명세

물리적 데이터 구조

예)   STORED_CLASS BYTE = 42

       PREFIX TYPE = BYTE(6)  OFFSET = 0

       STUDENT_NO# TYPE = BYTE(6) OFFSET = 6 ....