DB Schema / ERD

훈이·2022년 10월 2일

DB Schema

DB Schema(스키마)란?

일단 Schema(스키마)에 대해 알아보자면 데이터베이스의 구조(개체,속성,관계)와 제약조건을 정의한다고 되어있다.

그래서 데이터베이스의 구조에 대해 살펴보자면

개체(Entity): 데이터로 표현할려는 객체 ex) 상품,유저
속성(Attribute): 개체가 가지는 속성 ex) 가격, 이름
관계(Relation): 개체와 개체 사이의 연관성 ex) 유저가 상품을 "구매"라는 관계를 가짐

이렇게 나누어져 있다.

스키마의 특징

  1. 스키마는 데이터 사전이라는 곳에 저장된다.
    참고) 데이터 사전이란? 읽기전용으로 제공되는 테이블 및 뷰들의 집합
  2. 스키마는 특정 데이터 모델을 이용해서 만들어진다.
  3. 스키마는 시간에 따라 불변인 특성을 가진다.
  4. 스키마는 데이터의 구조적 특성을 의미하고, 인스턴스에 의해 규정된다.

스키마 3계층

스키마는 외부 스키마, 개념 스키마, 내부 스키마로 나뉜다.

사진출처: https://iingang.github.io/posts/DB-schema/

외부 스키마(사용자 뷰)

외부 스키마는 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이라고 할 수 있고, 전체 데이터베이스의 한 부분으로 볼 수 있어 서브 스키마라고도 한다.
외부 스키마는 한개가 아니라 여러개 존재할 수 있으며 일반 사용자는 질의어(SQL)를 이용하여 데이터베이스를 쉽게 사용할 수 있다.

개념 스키마(전체적인 뷰)

개념 스키마는 데이터베이스의 전체적인 논리적 구조 즉, 모든 응용프로그램 또는 사용자들이 필요로 하는 데이터를 종합한 것이라고 할 수 있으며 하나만 존재한다.
데이터베이스의 접근 권한, 보안, 무결성 규칙에 관한 명세를 정의한다.
보통 스키마라고만 말하면 개념 스키마를 뜻한다.

내부 스키마(저장 스키마)

사용자가 아닌 물리적 저장장치의 입장에서 본 데이터베이스 구조이며, 물리적 저장장치와 밀접한 관계가 있다.
데이터베이스에 저장될 레코드의 물리적인 구조를 정의한다.

참고한 사이트
https://inpa.tistory.com/entry/DB-%F0%9F%93%9A-%EC%8A%A4%ED%82%A4%EB%A7%88-%EC%A0%95%EB%A6%AC
https://iingang.github.io/posts/DB-schema/

profile
백엔드 개발자가 되자!

0개의 댓글