새소식

반응형
밥벌이/데이터베이스

스키마

  • -
반응형
  • 스키마의 정의
    • 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세(Specification)를 의미
      (특정한 시간에 데이터베이스의 실제 내용은 인스턴스(Instance)라고 함)
    • 데이터베이스 구조를 의미하는 것으로, 관련된 데이터들의 관계를 기술
    • 전반적인 데이터베이스의 구성을 설명하기 위해 특정 언어를 이용하여 관련 데이터들 간의 관계(Relationship)를 기술
      • 데이터베이스 언어로 표현
      • 데이터베이스를 구성하는 데이터의 개체, 속성, 관계, 제약에 관한 조건들을 기술
    • 미국 ANSI/SPARC에서 사용자의 관점에 따라 외부(External) 스키마, 개념(Conceptual) 스키마, 내부(Internal) 스키마로 구분
    • 스키마 관련 용어

데이터 추상화

ANSI/SPARC

VIEW(데이터 표현)

뷰 단계(View Level)

논리적 단계(Logical Level)

물리적 단계(Physical Level)

외부 단계

개념 단계

내부 단계

INDVISUAL USER VIEW

COMMUNITY USER VIEW

STORAGE VIEW

   

  • 스키마의 특징
    • 데이터의 구조적 특성을 의미
    • 데이터 사전*에 저장
    • 현실 세계의 특정한 한 부분의 표현으로, 특정 데이터 모델을 이용해서 작성
    • 시간에 따라 일반적으로 불변적
    • 데이터의 논리적 단위에 명칭을 부여하고 그 의미를 기술

         

  • 스키마 관리의 중요성
    • 스키마 계층에 따라 개발자, 관리자, 사용자의 영역 구분에 따른 변경 관리 가능
    • 데이터 정의에 대한 표준적 접근으로 유연성이 높고 사용이 용이
    • 데이터 무결성에 대한 규칙 제시
    • 사용자와 데이터의 물리적 저장 구조와는 독립된 인터페이스 제공

         

  • 스키마의 3 계층
    • 스키마 구조의 개념적 표현

    • 상세 구조(참조 구조 포함)

         

    • 외부 스키마 : DB 사용자 관점
      • 사용자나 응용 프로그래머가 접근할 수 있는 데이터베이스의 정의로, 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
      • 응용 프로그램에서 정의되는 외부 스키마 또는 일시적인 사용자 관점에서 생성하는 다양한 사용자 뷰
      • 업무상 관련이 있는 데이터만 접근하기 위해 관련된 데이터베이스의 일부만 정의
      • 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로, 서브 스키마(Sub Schema)라고도 함
      • 하나의 데이터베이스 관리 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마는 여러 개의 응용 프로그램이나 사용자에 의해 공유될 수 있음
    • 개념 스키마 : 기관 관점
      • 모든 사용자 별 외부 스키마들을 일관된 하나의 완전체로 통합한 전체적인 데이터베이스의 정의를 기술
      • 데이터베이스내의 모든 데이터에 관한 규칙과 의미 정의 : 논리적 데이터베이스 구조
        • 개체 간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 정책 및 무결성 규칙에 과한 명세를 정의
      • 데이터 정의어(DDL)에 의해 기술되는 데이터베이스 스키마 정의를 위해 고급 수준의 데이터 모델로 표현
        • ER 도형(ER-Diagram : ERD), 객체 정의어 등에 의해 기술
      • 단순히 스키마라고도 함
    • 내부 스키마 : 저장 장치 관점
      • 데이터 베이스의 내용이 실제 저장 매체에 저장될 수 있도록 하기 위한 정의를 기술
      • 물리적 저장 장치의 관점에서 본 전체 데이터베이스의 명세
      • 전체 데이터베이스에 대한 물리적 저장 구조 정의 : 물리적 데이터 구조

        예) 파일/레코드 구조, 접근 경로 방식(인덱스/해싱 등) 등

      • 개념 스키마를 DBMS에서 제공하는 언어로 바꾼 것

        예) DDL로 작성된 개념 스키마는 DBMS에서 컴파일 과정을 거쳐 내부의 물리적 저장 구조로 생성

    • 스키마의 예

         

  • 데이터 독립성
    • 데이터 독립성의 필요성 및 의의
      • 데이터베이스는 컴퓨터의 기억 장치에 데이터를 보관하여 여러 사용자가 이용하도록 하기 위한 것으로, 기억 장치와 데이터를 표현하는 데이터 형식이 필요
      • 데이터베이스가 변하더라도 사용자의 업무 처리는 변화가 없게 하는 것이 요구됨
      • 데이터베이스와 사용자의 업무 처리 방법이 독립적을 운용되도록 구현
      • 특정 스키마 변경 시, 상위 단계 스키마들에 영향을 미치지 않아야 함
    • 논리적 데이터 독립성
      • 응용 프로그램에 영향을 주지 않고 데이터베이스의 논리적 구조를 변경시킬 수 있음

        예) 개념 스키마의 변경 시 외부 스키마에 영향을 미치지 않음

      • 사용자 관점 또는 응용 프로그램을 변경시키지 않고 개념 스키마를 변경시키는 능력

        예) 속성 추가 또는 제거 작업

    • 물리적 데이터 독립성
      • 기억 장치가 변경되더라도 데이터베이스 사용자(프로그램 등)의 데이터 형식 및 업무 처리 방법이 변경될 필요가 없음
      • 응용 프로그램과 논리적 구조에 영향을 주지 않고 데이터베이스의 물리적 구조 변경이 가능
      • 개념 스키마 또는 외부 스키마를 변경시키지 않고 내부 스키마를 변경시키는 능력
        • 데이터 항목의 접근 성능을 향상시키기 위해 물리적 파일을 재구성할 때 내부 스키마의 변경을 가져옴
반응형

'밥벌이 > 데이터베이스' 카테고리의 다른 글

데이터 모델링의 개요  (0) 2010.08.13
데이터베이스 언어  (0) 2010.08.12
데이터베이스 사용자  (0) 2010.08.12
데이터베이스 관리시스템(DBMS)  (0) 2010.08.12
데이터베이스  (0) 2010.08.12
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.