[데이터베이스] 스키마(Schema) 정의와 특징, 계층구조

2022. 10. 22. 04:52Intelligence Technology

<스키마(현실 개체를 설명할 자료들을 구체화)>

‘스키마(Schema)’에 대한 이야기를 시작하기에 앞서, 이 ‘스키마’라는 단어가 어디에서부터 생겨난 것인지에 대한 유래를 알고 전반적인 이해가 쉬우시리라 생각됩니다. 스키마라는 단어는 ‘형태’ 또는 ‘모양’을 뜻하는 그리스어에서 유래하였습니다. 데이터 과학, 마케팅 및 심리학과 같은 분야에서 사용되는 용어이며, 심리학의 경우 정신건강의학에서 인지행동치료 시 적용할 수 있는 스키마 이론이라는 개념으로 오늘 우리가 이야기 할 컴퓨터 과학에서 말하는 데이터베이스 기반에 대한 스키마와는 다르므로 이 점을 구분하면 되실 것 같습니다.
그러면 오늘 우리가 이야기할 컴퓨터 데이터베이스 스키마에 대해 이야기해 보겠습니다. 위에서 잠깐 언급하였듯 스키마란 한마디로 정의하면 ‘데이터의 구조’ 또는 ‘데이터베이스의 설계’를 의미합니다.

스키마란?

스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세(Specification)를 기술합니다. 즉, 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의합니다.
개체는 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체를 의미합니다.
속성은 데이터의 가장 작은 논리적 단위를 의미합니다.
관계는 개체와 개체 또는 개체와 속성 간의 관계를 의미합니다.
스키마를 통해 실세계에 있는 데이터들을 어떤 형식과 구조로 작성을 해서 사용자들에게 보여줄지를 정하고 기억 장치에는 어떤 구조로 저장을 할지 정하며 데이터 간의 관계에 대해서 정하는 과정을 말합니다.

스키마 특징은?

이런 스키마는 데이터 사전(Data Dictionary)이라는 곳에 저장이 되는데 데이터 사전은 데이터베이스에 저장된 모든 데이터 개체들에 대한 정보를 관리하는 시스템으로 시스템 카탈로그라고도 부릅니다. 데이터에 관한 데이터가 보관되어 있어 메타 데이터(Meta Data)라고도 부릅니다. 현실 세계에서 데이터화 한 내용들을 정리한 자료로 시간에 따라 변하지 않는 특징을 가지며 인스턴스에 의해 규정이 됩니다.
*인스턴스는 구성해야 될 데이터들이 어떤 타입으로 저장될지 정의를 해둔 구체적인 명세 자료를 의미합니다. 예를 들어 직장인 개체의 인스턴스라면

사번: 숫자 6자리 이름: 3글자 부서: 5글자 내선번호: 숫자 4자리
871008 최똑구 해외진출팀 6116

위와 같이 인스턴스를 나타낼 수 있습니다.

스키마는 3개의 계층을 이루며 외부 스키마, 개념 스키마, 그리고 내부 스키마로 구분할 수 있습니다.

우선 외부 스키마(External Schema)는 사용자 뷰(View)라고도 부릅니다. 사용자나 응용 프로그래머들이 각 개인의 입장에서 필요로 하는 데이터베이스의 구조를 정의하는 계층입니다. 각 사용자들이 하나의 개체의 속성 중에서 필요로 하는 속성만 추출해서 사용하며 서브 스키마라고도 부릅니다.
하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재 가능하며 하나의 스키마를 여려 명의 외부 사용자가 공유할 수도 있습니다. 또한, 같은 데이터베이스를 사용하더라도 사용자들의 View에 따라 서로 다르게 정의를 할 수 있으며 SQL과 같은 질의어를 사용하여 접근합니다.

개념 스키마(Conceptual Schema)는 데이터베이스의 논리적인 구조를 다루며 전체 데이터베이스 한 개만 존재합니다. 이 하나의 데이터베이스를 활용해 응용 프로그래머나 사용자들이 필요로 하는 데이터를 추출하여 사용합니다. 개체 간 관계, 제약 조건, 데이터베이스 접근 권한 및 보안, 무결성 규칙에 대한 명세를 규정하며 보통 스키마라고 하면 개념 스키마를 얘기합니다.

마지막으로 내부 스키마(Internal Schema)는 데이터베이스에 저장될 물리적인 구조를 명세하고 내부 레코드의 물리적 순서 등을 나타냅니다. 시스템 프로그래머나 설계자가 다루는 영역의 스키마입니다. 즉, 기억장치에 저장하는 방법을 명세한다고 생각하시면 됩니다.

이상으로 스키마에 대한 포스팅을 마치겠습니다.

오늘도 똑구의 꿀팁 블로그를 방문해 주셔서 감사합니다.