DB Schema란?
데이터 베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것입니다.
개체의 특성을 나타내는 속성과 속성들의 집합으로 이루어진 개체 개체 사이에 존재하는 관계 에 대한 정의와 이들이 유지해야할 제약조건들을 기술 한 것입니다.
DB내에 어떤 구조로 데이터가 저장되는가를 나타내는 데이터베이스 구조를 스키마라고 합니다.
Schema의 특징
스키마는 데이터 사전(Data Dictionary)에 저장됩니다.
현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어지게 됩니다.
시간이 지나도 변하지 않습니다.
데이터 구조의 특성을 의미 하며, 인스턴스에 의해 규정됩니다.
Schema의 3단계 구조
외부(사용자)에서 바라보는 스키마를 의미합니다.
사용자들이 사용할 데이터들을 보여주는 것이기 때문에 추상화가 되어있고, 여러 사용자가 바라보는 관점에 따라 여러 스키마가 존재할 수 있습니다.
사용자는 데이터베이스에서 데이터를 사용하는 사람이므로 응용 프로그래머라고 볼 수 있습니다.
응용 프로그래머는 외부 스키마를 통해 구조를 확인하고 DML을 사용해서 데이터를 이용합니다.
전체적인 개념을 정의하는 것을 의미합니다.
전체 데이터베이스가 어떤 구조로 되었는지 구체적으로 어떤 데이터가 있고, 그 데이터들은 어떤 테이블에 있는지, 각 테이블마다 어떤 관계가 존재하는지를 정의합니다.
데이터베이스 자체의 전체적인 구조를 확인하기 때문에 개념 스키마를 확인하는 사람은 데이터 베이스 관리자 즉 DBA입니다.
DBA는 개념 스키마를 통해서 전체적인 구조의 개념을 확인하고 DDL과 DCL을 사용해서 구조를 설계합니다.
실제 데이터의 내부를 정의하는 것을 의미합니다.
데이터의 내부에 있는 데이터의 필드 이름이 무엇이고, 해당 필드는 몇Byte이며 인덱스가 있는지 등을 정의합니다.
데이터를 물리적으로 어떻게 저장할지에 대해 정의한 것이므로 저장 스키마라고도 부릅니다.
물리적 저장장치의 입장으로 바라보기 때문에 내부 스키마를 확인하는 사람은 시스템 프로그래머입니다.
ERD 란?
개체-관계 모델입니다. 쉽게 생각하면, 테이블간의 관계를 설명해주는 다이어그램이라고 볼 수 있으며, 이를 통해 프로젝트에서 사용되는 DB의 구조를 한눈에 파악할 수 있습니다. 즉, API를 효율적으로 뽑아내기 위한 모델 구조도라고 생각하면 됩니다.
ERD에는 여러 기호들로 관계를 표현할 수 있느나, 기호들만 숙지하여도 충분히 표현이 가능합니다.