상용DBMS인 MySQL과 달리 오픈소스 형태로 제공되는 DBMS이다.
PostgreSQL을 이해하기 전에 먼저 알아두어야 할 개념들을 살펴본다.
관계형 데이터베이스에서 받아온 데이터를 활용하기 위해선 객체형태이어야 한다.
일전 GraphQL을 통한 웹 어플리케이션을 제작하면서 데이터를 전달받는 방법을 기억해보자.
GraphQL server에 저장된 데이터는 API endpoint(=요청주소)에 존재하는 JSON형태의 문자열이었고, 이를 GraphQL API를 통해 전달받은 데이터는 객체형태였다.
결국 우리의 관점에서 다루어야 하는 데이터는 엑셀과 같은 관계형식이 아닌, 객체형식이다.
우리가 MySQL, PostgreSQL과 같은 RDBMS 체계에서 우리가 기억해야 할 점은
Object - relational mapping, 관계형(데이터베이스)의 매핑
위에서 기술한 것처럼 보통 우리가 사용하는 MySQL의 RDBMS에 저장되어 있는 데이터들은, 쉽게 말하면 관계형태로 저장되어 있다.
이 관계형태로 되어있는 데이터들을 객체나 함수형태로 받아오기 위해
객체와 관계형 데이터 간, 즉 class(함수)와 table의 연결을 해주는 과정을 ORM이라 한다.
GraphQL server처럼 PostgreSQL server가 DB 및 memory에 접근하는 구조
Node.js에서 지원하는 ORM API이자 FRAMEWORK 중 하나이다.
NAVER D2 - postgreSQL 개요
https://d2.naver.com/helloworld/227936
ORM 개념
https://eun-jeong.tistory.com/31
https://www.researchgate.net/figure/ORM-System_fig1_275540078
DBMS/Schema
https://hue9010.github.io/db/mysql_schema/
postgreSQL 이론
http://www.gurubee.net/lecture/2914