스키마(Schema) 란?

msung99·2022년 10월 24일
0
post-thumbnail

DB 에 관해 다시 되짚어보다가 스키마란 개념을 발견했습니다.
(기본적인 개념도 아직 잘 모른다니..!😂) 이번 포스팅에서는 스키마란 무엇인지, 그리고 스키마의 3가지 종류 (외부스키마, 개념스키마, 내부스키마) 에 대해 간단히 정리 해봤습니다.


스키마(Schema) 란?

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

⇒ 쉽게말해, DB 내에 어떤 구조로 데이터가 저장되는가를 나타내는 데이터베이스 구조를 의미함!

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

⇒ 객체의 특성을 나타내는 속성(Attribute) 와, 속성들의 집합으로 이루어진 객체(Entity), 객체 사이에 존재하는 관계(Relationship) 에 대한 정의와 이들이 유지해야 할 제약조건들을 기술한 것입니다.

  • 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스카마로 나눠집니다.

그렇다면 외부 스키마, 개념 스키마, 내부 스키마는 무엇인지에 대해 알아봅시다.


외부 스키마 = 사용자 뷰(View)

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

⇒ 즉, 실세계에 존재하는 데이터들을 어떤 형식, 구조, 배치 화면을 통해 사용자에게 보여줄 것인가를 정의합니다.

특징

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

  • 같은 DB 에 대해서도 서로 다른 관점을 정의할 수 있도록 허용한다.

  • 일반 사용자는 SQL 을 이용하여 DB 를 쉽게 사용할 수 있다.

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


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

조직체 전체를 관장하는 입장에서 DB 를 정의한 것이다.
쉽게말해, 데이터 베이스의 전체적인 논리적 구조입니다.

⇒ 따라서 조직의 모든 모든 응용시스템에서 필요로 하는 객체 관계, 제약조건들을 포함하고 있습니다.

  • 모든 응용프로그램이나 사용자들이 필요로하는 데이터를 종합한 조직전체의 데이터베이스입니다.

  • 기관이나 조직체의 관점에서 데이터베이스를 정의한 것으로,

  • DBA(데이터베이스 관리자) 에 의해서 구성되며, 데이터 베이스당 하나만 존재합니다.


내부 스키마

물리적 저장장치의 입장에서 본 데이터베이스의 구조로,
데이터베이스의 물리적 저장구조를 정의 한 것

  • 구체적으로 개념 스키마를 디스크 기억장치에 물리적으로 구현하기 위한 방법을 기술한 것이다.

  • 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.

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


그림출처

https://code-lab1.tistory.com/114

profile
https://haon.blog

0개의 댓글