본문 바로가기

CS(Computer Science)

[데이터베이스] 3단계 데이터베이스 구조 - 외부/개념/내부 스키마

스키마

  • 데이터베이스 구조와 제약조건에 관한 전반적인 명세를 기술한 것
    • 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작시 데이터 값들이 갖는 제약 조건 등

 

3단계 데이터베이스 구조

  • 데이터베이스를 쉽게 이해하고 이용할 수 있도록 하나의 데이터베이스를 관점에 따라 세 단계로 나눈 것
  • 미국 표준 기관인 ANSI/SPARC에서 제안
  • 외부, 개념, 내부 스키마 세 단계로 나누어져 있으며, 내부 단계에서 외부 단계로 갈수록 추상화 레벨이 높아짐
    • 추상화 레벨이 높아진다는 것은 데이터베이스가 실제 어떻게 돌아가는지에 대해 관심이 없다는 것과 비슷

 

외부 스키마(External Schema)

  • 사용자나 응용 프로그래머가 개인의 입장에서 필요한 데이터베이스의 논리적 구조를 정의
  • 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있기 때문에 서브 스키마라고도 함
  • 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있다.
  • 하나의 외부 스키마를 여러개의 응용 프로그램 혹은 사용자가 공유할 수 있다.
  • 일반 사용자는 SQL과 같은 질의어를 이용하여 DB를 쉽게 사용 가능
  • 응용 프로그래머는 프로그래밍 언어를 사용하여 DB에 접근

 

 

개념 스키마(Conceptual Schema)

  • 기관이나 조직체의 관점에서 데이터베이스를 정의
  • 데이터베이스의 전체적인 논리적 구조로, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한
    조직 전체의 데이터베이스로 하나만 존재
  • 개체 간의 관계와 제약조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의
  • 단순히 스키마라고 하면 개념 스키마를 의미
  • 데이터베이스 관리자에 의해서 구성됨

 

내부 스키마(Internal Schema)

  • 물리적인 저장장치 입장에서 데이터가 저장되는 방법을 기술한 것
  • 실제 데이터베이스에 저장될 레코드의 물리적인 구조를 정의
  • 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서, 인덱스 유무 등을 나타냄
  • 시스템 프로그래머나 시스템 설계자가 관리

 

 

'CS(Computer Science)' 카테고리의 다른 글

데이터베이스 모델링  (0) 2023.09.13
TDD, DDD  (0) 2023.08.21
클라우드  (0) 2023.08.10
저장 프로시저(Stored Procedure)  (0) 2023.08.06
결합도(Coupling)와 응집도(Cohesion)  (0) 2023.07.20