Prisma2 란 무엇인가?

mgm-dev·2020년 11월 8일
1

📚TL;DR

  1. ORM : 관계형 데이터베이스와 객체 지향 프로그래밍 언어 간 데이터를 변환, 맵핑하는 기법
  2. Prisma는 기존 ORM과 같은 목적을 가지고 있지만, 다른 접근법을 사용한다.

1. 시작하며,

  글쓴이는 최근 node.js로 서버 개발을 진행하면서 Prisma2를 사용하고 있다. 간단하게 정리를 하기 위해 포스팅 / 시리즈를 시작해본다.

Prisma1과는 다르다, Prisma1과는!
해당 포스팅은 Prisma2를 대상으로 한다. 앞으로는 Prisma2 대신 Prisma라고 지칭하겠다. 차이점을 설명하는 공식 문서


2. ORM이란?

  ORM(object relational mapping)이란 관계형 데이터베이스와 객체 지향 프로그래밍 언어 간 데이터를 변환, 맵핑하는 기법을 뜻한다. 즉 OOP의 Object와 RDBM의 table을 연결 해주는 프로그램이라고 보면 된다.


3. Prisma는 ORM인가?

DatabaseORMsPrisma
SQL 스키마마이그레이션과 모델 클래스Prisma 스키마
테이블모델 클래스Prisma 스키마 안의 모델
컬럼모델 클래스의 프라퍼티Prisma 스키마 안의 모델 필드
레코드모델 클래스의 인스턴스Javascript 오브젝트
FK모델 클래스의 FKPrisma 모델 간의 관계

공식 문서


4. 그래서 Prisma는 무엇인가?

  Prisma는 데이터베이스 툴킷이다. 툴킷이라고 불리는 이유는 3가지 요소로 이루어져 있는 세트이기 때문이다.

  1. Prisma Client : Node.js & TypeScript를 위한 쿼리 빌더
  2. Prisma Migrate : 데이터 모델링 & 마이그레이션 시스템
  3. Prisma Studio : 모델링과 데이터를 관리할 수 있는 GUI

  앞서 언급한 Prisma 스키마Prisma의 툴을 사용하기 위한 시작점이다. Prisma 스키마schema.prisma라는 파일로 관리된다. schema.prisma를 통해 모델을 선언 할 수 있고, 이미 존재하는 DB를 임포트 받을 수 있다. shcema.prisma가 무엇인지는 다음 포스팅에서 더 자세히 다루도록 하겠다.

profile
never stop learning

0개의 댓글