스키마(Schema)

JiMin LEE·2023년 4월 4일
0

CS

목록 보기
2/3

Schema : DB에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조

  • DB의 구조와 제약 조건에 관한 전반적인 명세를 기술한 metadata의 집합
  • DB를 구성하는 Entity, Attribute, Relationship 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의함
  • 사용자 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠진다.

특징

  1. 데이터 사전에 저장되며, 다른 이름으로 메타데이터라고도 함
  2. 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어짐
  3. 시간에 따라 불변인 특성을 갖는다.
  4. 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정됨
💡 외부 스키마(External Schema) → 서브 스키마, 사용자 뷰
  • 사용자나 응용 프로그래머가 개인의 입장에서 필요한 DB의 논리적 구조를 정의한다.
  • 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있기 때문에 서브 스키마라고도 한다.
  • 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있다.
  • 하나의 외부 스키마를 여러 개의 응용 프로그램 혹은 사용자가 공유할 수 있다.
  • 일반 사용자는 SQL과 같은 질의어를 이용하여 DB를 쉽게 사용할 수 있다.
  • 응용 프로그래머는 C나 JAVA 등의 언어를 사용하여 DB에 접근한다.
💡 내부 스키마(Internal Schema) - 시스템 설계자 뷰
  • 물리적인 저장장치 입장에서 데이터가 저장되는 방법을 기술한 것이다.
  • 실제 DB에 저장될 레코드의 물리적인 구조를 정의한다.
  • 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서, index 유/무 등을 나타낸다.
  • 시스템 프로그래머나 시스템 설계자가 관리한다.
💡 개념 스키마(Conceptual Schema) - 전체적인 뷰
  • DB의 전체적인 논리적 구조, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 DB로 하나만 존재한다.
  • 개체 간의 관계와 제약 조건을 나타내고 DB의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
  • DB파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마라고 하면 개념 스키마를 의미한다.
  • 기관이나 조직체의 관점에서 데이터베이스를 정의한 것이다.
  • DBA에 의해서 구성된다.

0개의 댓글