본문 바로가기
Computer Science

[Database] Schema vs Instance(State)

by Henry Cho 2022. 2. 21.
728x90

Schema vs Instance


포스트 난이도: HOO_Junior

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


# Schema

Database에서 Schema란 database의 structure, data types, constraints 등을 나타내 주는 역할을 한다.

따라서 Schema를 The description of a database라고도 부른다.

한마디로 database에 들어가 있는 수치, 즉 states들이 어떤 식으로 데이터베이스 안에서 구성이 되고 있는지를 설명해주는 역할을 하는 것이 바로 Schema이다.

 


# Database State

Database instance라고도 불리는 Database state는 database에서 실질적인 데이터 값을 의미한다.

Schema가 데이터베이스 구성에 대한 부분을 나타내주었다면, 그 안에 들어가는 데이터 값을 Database state 또는 Database instance라고 부른다.

쉽게 말해서 데이터베이스의 데이터 값이 될 수도 있고 문자열로 구성된 데이터베이스 안의 특정 단어나 내용이 될 수도 있다.

 


# Initial Database State

Initial Database State는 데이터베이스의 데이터를 처음 입력할 때 참고적인 목적으로 보여주는 instacne를 의미한다.

 


# Valid State

Valid state는 Schema가 제시하는 constraints 부분과 structure 부분에 대해서 모두 만족하는 데이터 값을 의미한다.

 


# Database Schema vs Database State

Database 안에서 schema와 state가 나타내고 의미하는 것에 대해서 살펴보았다.

Schema와 state가 데이터베이스 안에서 의미하는 바가 다른 만큼 특징적인 부분에서도 차이를 나타낸다.

Database schema의 경우에는 자주 바뀌지 않는다는 특징을 가지고 있지만 Database state는 database가 업데이트될 때마다 자주 바뀔 수 있다는 특징을 가지고 있다.

왜냐하면 데이터베이스의 전반적인 구조나 조건은 잘 바뀌지 않지만 데이터 값, 즉 데이터베이스 안에 들어가는 수치는 업데이트 때마다 바뀔 수 있기 때문이다.

이러한 특징 때문에 Schema는 Intension이라고 불리고 State는 Extension이라고도 불린다.

 


# Database Schema와 State 정리

  • Database system을 정의할때는 Schema를 확인한다.
  • Initial data를 확인할 때는 Data state 또는 instance를 확인한다.
  • 새로운 데이터값을 추가할 때는 Data state를 변경해준다.
  • 새로운 데이터베이스 카테고리를 추가할 때는 Schema를 먼저 변경해주고 해당 카테고리의 데이터 값은 state를 변경해준다.

 


728x90

댓글