[Database] 외부 스키마, 개념 스키마, 내부 스키마

[Database] 외부 스키마, 개념 스키마, 내부 스키마

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

  • 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한다.
  • 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마(subschema)라고도 한다.
  • 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공용할 수 있다.
  • 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있도록 허용한다.
  • 일반 사용자는 질의어(SQL)을 사용하여 DB를 사용한다.
  • 공용의 의미보다는 어느 개인이나 특정 응용에 한정된 논리적 데이터 구조
  • 데이터베이스의 개별 사용자나 응용프로그래머가 접근하는 데이터베이스를 정의
  • 사용자의 관점을 기술


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

  • 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터 베이스로 하나만 존재한다.
  • 단순히 스키마라고 하면 개념 스키마를 의마한다.
  • 기관이나 조직체의 관점에서 데이터베이스를 정의한 것이다.
    • 범 기관적 입장에서 데이터베이스를 정의한 것
  • 데이터베이스 관리자에 의해서 구성된다.
  • 접근권한, 보안정책, 무결성 규칙 등에 관한 명세를 기술


내부 스키마(Internal Schema)

  • 물리적 저장장치 입장에서 본 데이터베이스 구조, 물리적인 저장장치와 밀접한 계층이다
  • 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
  • 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.
  • 데이터베이스의 물리적인 구조를 정의한다.



출처

댓글

이 블로그의 인기 게시물

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?

[Python] # -*- coding: utf-8 -*-를 쓰는 이유