[MySQL] Schema란?

2020. 5. 26. 12:01DB/MySQL

Schema 구조

 - Schema란?

  1. Schema는 DataBase의 구조와 제약 조건에 전반적인 명세를 기술한 MetaData의 집합

  2. Schema는 DataBase의 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제        약 조건 등에 관헤 전반적으로 정의

  3. Schem는 사용자 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나누어 짐

 

 - Schema의 특징

   1. Schema는 데이터 사전(Data Dictionary)에 저장 = MetaData

   2. Schema는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어짐

   3. Schema는 시간에 따라 불변인 특성을 가짐

   4. Schema는 Data는 구조적 특성을 의미하여, Instance에 의해 규정

 

 - Schema의 3계층

   1. 외부 스키마(External Schema) = 사용자 View

     - External Schema는 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 DataBase의 논리적 구조를 정의

     - External Schema는 전체 DataBase의 한 논리적인 부분이며 Sub Schema라고 함

     - 일반 사용자는 SQL을 이용하여 DB에 쉽게 접근

   2. 개념 스키마(Conceptual Schema) = 전체적인 View

     - Conceptual Schema는 DataBase의 전체적인 논리적 구조

     - 개체 간의 관계와 제약 조건을 나태내고 DB의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의

     - 단순히 Schema라고 하면 Conceptual Schema를 나타냄

    - DBA에 의해 구성

   3. 내부 스키마(Internal Schema) = 저장 스키마(Storage Schema)

    - Internal Schema는 물리적인 저장장치와 밀접한 계층

    - Internal Schema는 실제로 DataBase에 저장될 Record의 물리적인 구조를 정의

    - 시스템 개발자나 시스템 설계자에 의해 구성