DB 에 관해 다시 되짚어보다가 스키마란 개념을 발견했습니다.
(기본적인 개념도 아직 잘 모른다니..!😂) 이번 포스팅에서는 스키마란 무엇인지, 그리고 스키마의 3가지 종류 (외부스키마, 개념스키마, 내부스키마) 에 대해 간단히 정리 해봤습니다.
데이터베이스의 구조와 제약조건에 관한 전반적인 명세 를 기술한 것
⇒ 쉽게말해, DB 내에 어떤 구조로 데이터가 저장되는가를 나타내는 데이터베이스 구조를 의미함!
⇒ 객체의 특성을 나타내는 속성(Attribute) 와, 속성들의 집합으로 이루어진 객체(Entity), 객체 사이에 존재하는 관계(Relationship) 에 대한 정의와 이들이 유지해야 할 제약조건들을 기술한 것입니다.
그렇다면 외부 스키마, 개념 스키마, 내부 스키마는 무엇인지에 대해 알아봅시다.
사용자나 프로그래머가 각 개인의 입장에서 필요로하는 데이터베이스의 논리적 구조를 정의한 것
⇒ 즉, 실세계에 존재하는 데이터들을 어떤 형식, 구조, 배치 화면을 통해 사용자에게 보여줄 것인가를 정의합니다.
하나의 DB 시스템에는 여러개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공유할 수도 있다.
같은 DB 에 대해서도 서로 다른 관점을 정의할 수 있도록 허용한다.
일반 사용자는 SQL 을 이용하여 DB 를 쉽게 사용할 수 있다.
프로그래머는 C, JAVA 등의 언어를 사용하여 DB 에 접근한다.
조직체 전체를 관장하는 입장에서 DB 를 정의한 것이다.
쉽게말해, 데이터 베이스의 전체적인 논리적 구조입니다.
⇒ 따라서 조직의 모든 모든 응용시스템에서 필요로 하는 객체 관계, 제약조건들을 포함하고 있습니다.
모든 응용프로그램이나 사용자들이 필요로하는 데이터를 종합한 조직전체의 데이터베이스입니다.
기관이나 조직체의 관점에서 데이터베이스를 정의한 것으로,
DBA(데이터베이스 관리자) 에 의해서 구성되며, 데이터 베이스당 하나만 존재합니다.
물리적 저장장치의 입장에서 본 데이터베이스의 구조로,
데이터베이스의 물리적 저장구조를 정의 한 것
구체적으로 개념 스키마를 디스크 기억장치에 물리적으로 구현하기 위한 방법을 기술한 것이다.
실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.
시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.