본문 바로가기
NodeJS 기초/Node JS

[Node JS 기초] #4 Mongo DB Model & Schema

by 동기 2020. 8. 11.
반응형

데이터베이스  Model 이란❓

정의 : 데이터의 관계, 접근과 그 흐름에 필요한 처리 과정에 관한 추상화된 모형. 데이터 모델은 데이터 구조(Data Structure)를 결정한다.

Model은 Schema 를 감싸주는 역할!

데이터베이스  Schema 란

DB 구조와 제약조건에 대한 전반적인 명세를 기술한 것이다. 

스키마의 예

스키마는 3계층 스키마로 나누어져 구성되어있고, 이 각각의 스키마는 결국 데이터베이스의 구조와 제약조건에 대한 전반적인 명세를 기술한 것을 의미한다. 3계층으로 스키마를 나눈 이유는 관점에 따라서 분류한 것이다.

 

 - 외부스키마 : 개인의 입장, '서브스키마'라고도 한다, 사용자 뷰를 가리킨다. 

                    하나의 외부스키마는 여럿이 공유 가능하며, 

                    하나의 DB시스템에 여러 개의 외부스키마가 존재 가능

 

 - 내부스키마 : 시스템 프로그래머나 설계자의 관점에서 바라보는 스키마,

                    데이터베이스의 물리적 구조를 가리킴(= 실제 저장방법을 기술하는 물리적인 저장장치와 관련됨) 

 

 - 개념스키마 : 조직 전체의 입장, 전체적인 뷰를 가리킨다.

                    개체간의 관계와 제약조건을 나타내고, 

                    데이터베이스의 접근권한/보안/무결성 규칙에 대한 명세를 정의함, 

 

   일반적으로 '스키마'라는 내부스키마를 가리킴, 

   내부스키마는 DBA가 만듦, 데이터베이스의 전체적인 구조로써 하나만 존재해야 함



출처: https://ykcb.tistory.com/entry/데이터베이스-스키마의-개념-특징 [YKCB Team]


위 설명과 같이 여기서의 스키마는 내부스키마를 가르키는데

스키마 예제

ex)MongoDB 에서 상품관련 스키마를 작성한다면, 위와 같이 쓸 수 있다 (타입,길이 등을 지정해 줄 수 있다.)

 

 

그럼 실제로 유저 모델을 만들러 가보자~!

 


1. models 폴더 생성 - User.js 생성

User 모델 완성!

 

 

다음으로 형상관리툴인 GIT에 대해 알아보자!

반응형

댓글