[DB]DB Schema

ShinJuYong·2022년 3월 31일
0

공부한것들

목록 보기
21/33
post-thumbnail

Schema

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

개체의 특성을 나타내는 Attribute
속성들의 집합 Entity
개체 사이에 존재하는 Relation의 정의와 이들이 유지해야할 제약조건들을 기술한것

쉽게 정리하면 DB내에 어떤 구조로 데이터가 저장되는가?를 나타내는 DB구조

Schema의 특징

  1. Schema는 데이터 사전에 저장된다

    데이터사전 : 데이터 항목들에 대한 정보를 지정한 저장소

  2. 특정 데이터 모델을 이용해서 만들어진다

  3. 시간이 지나도 불변한다

  4. 데이터의 구조적 특성

  5. 인스턴스에 의해 규정된다

Schema는 관점에따라, 외부-개념-내부로 구분하게 된다

개념 스키마 (전체적)

조직 전체를 관장하는 입장에서 DB를 정의하는것

  • 물리적인 구현을 고려하지 않는다
  • 1개의 개념스키마 - 1개의 데이터베이스
  • 개체 간의 관게 및 무결성 제약조건에 대한 명세를 정의한다

    무결성 제약 조건 : DB의 정확성, 일관성을 보장하기 위해, 저장-삭제-수정등을 정한 조건

  • DB에 저장되는 데이터의 형태를 나타낸다

외부 스키마 (사용자)

사용자나 응용 프로그래머가 사용자의 입장에서 필요한 구조를 논리적으로 정의한것.

  • 동일한 데이터에 대해서 서로 다른 관점을 정의할수있다
  • 하나의 DB에는 여러개의 외부 스키마가 존재하며 하나의 외부 스키마를 여러개의 App이나 User가 공용하여 사용이 가능하다

내부 스키마 (저장공간)

실질적으로 저장되는 물리적인 공간에서 DB가 저장되는 방법

  • 개념 스키마를 컴퓨터 기억장치에 물리적으로 구현하기 위한 방법
  • 저장될 데이터 항목의 레코드형식, 물리적순서를 나타낸다

데이터 독립성

DB내의 데이터와 DB를 사용하는 User,App,Schema가 서로영향을 받지않는 특징

논리적 독립성

개념스키마가 변경되어도, 외부스키마에는 영향을 주지않는다.

물리적 독립성

내부스키마가 변경되어도, 개념스키마/외부스키마에는 영향을 주지않는다

예를들어, HDD나 SDD가 바뀌어도 사용자의 스키마나 DB의정의는 바뀌지않고

DB의정의가 바뀐다 하더라도 외부에 저장된 스키마는 바뀌지 않는 특성을 기술한것.

마무리

직접 DB를 설계하는건 ORM이나 ODM이 대체하게 되면서 많이하지 않지만 기본적인 DB에대한 이해가 부족하다면 사상누각이나 다름없으니 기초도 잘 다져두자

참고한곳
Schema
스키마란?

0개의 댓글