ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스키마(Schema)
    정보처리기능사/데이터베이스 기초 2018. 11. 5. 16:58

    1. 정의


    - 데이터베이스의 전체적인 구조와 제약 조건에 관한 전반적인 명세를 기술

    - 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의

    - 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나뉨


    * 실세계에 존재하는 데이터들을 어떤 형식, 구조, 배치로 화면을 통해 사용자에게 보여줄 것인가? (외부 스키마)

    * 디스크에는 어떤 구조로 저장할 것인가? (내부 스키마)

    * 데이터베이스에 실제로 '어떤' 데이터가 저장되었으며 데이터 간의 관계는 어떻게 되는가? (개념 스키마)


    2. 특징


    - 스키마는 컴파일되어 데이터 사전(Data Dictionary)에 저장된다.

    - 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다.

    - 시간에 따라 불변인 특성을 갖는다.

    - 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정된다.


    * 데이터 사전 (데이터 카탈로그, 메타 데이터)

    데이터베이스에 저장되어 있는 모든 데이터 개체들에 대한 정보를 유지, 관리하는 시스템

    스키마는 일종의 메타 데이터 (데이터에 관한 데이터)


    * 인스턴스(Instance)

    데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는 것을 말한다.


    3. 스키마의 3계층


    외부 스키마(External Schema) = 서브 스키마 = 사용자 뷰(View)

    - 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것

    - 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마라고도 한다.

    - 사용자나 응용 프로그래머가 데이터베이스 시스템을 쉽게 이용할 수 있도록 추상화의 뷰(View)를 정의할 수 있도록 허용하는 단계

    - 같은 데이터베이스에 대해서도 사용자마다 각각 서로 다른 뷰(View)를 정의할 수 있도록 허용하는 단계

    - 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공용할 수도 있다.

    - 일반 사용자는 질의어(SQL)를 이용하여 DB를 쉽게 사용할 수 있다.

    - 응용 프로그래머는 COBOL, C 등의 언어를 사용하여 DB에 접근한다.


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

    - 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다.

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

    - 단순히 스키마라고 하면 개념 스키마를 의미

    - 기관이나 조직체의 관점에서 데이터베이스를 정의한 것

    - 데이터베이스 관리자(DBA)에 의해서 구성된다.


    내부 스키마(Internal Schema)

    - 데이터베이스의 물리적 구조

    - 데이터의 실제 저장 방법을 기술

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

    - 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마





    '정보처리기능사 > 데이터베이스 기초' 카테고리의 다른 글

    데이터베이스 언어  (0) 2018.11.05
    데이터베이스 관리 시스템(DBMS)  (0) 2018.11.05
    데이터베이스란?  (0) 2018.11.05

    댓글

Designed by Tistory.