본문 바로가기
CS/Database

[Database] ORM과 Prisma

by 디스코비스킷 2025. 5. 22.
반응형

9. 서버와 데이터베이스 학습

ORM과 Prisma

1. ORM

ORM(Object-Relational Mapping)이란?

  • 객체와 로우를 연결(map)해주는 도구
  • Node.js와 데이터베이스를 이어주는 도구
  • JAVA와 데이터베이스를 이어주는 도구
  • 데이터를 잘 다루기 위한 도구

ORM은 객체지향 프로그래밍 언어의 객체관계형 데이터베이스의 테이블을 자동으로 매핑(mapping)해주는 기술이다.
즉, SQL을 직접 작성하지 않고도 객체를 통해 DB를 조작할 수 있도록 도와주는 도구이다.

예: User.find()SELECT * FROM users

데이터베이스란?

데이터베이스(Database)는 데이터를 구조적으로 저장하고 효율적으로 관리할 수 있는 저장소이다.
주로 정형 데이터를 테이블 형태로 저장하며, SQL 언어를 통해 데이터를 검색, 추가, 수정, 삭제한다.

ORM의 장점

  1. 생산성 향상
    SQL을 일일이 작성하지 않아도 되므로 개발 속도가 빨라진다.
  2. 가독성 & 유지보수 용이
    데이터베이스 접근 코드가 객체와 메서드로 표현되어 직관적이고 코드 변경이 쉬워진다.
  3. DB 추상화
    MySQL, PostgreSQL 등 다양한 DB를 같은 코드로 사용할 수 있어 이식성이 좋다.
  4. 보안성 향상
    쿼리 문자열을 직접 조작하지 않아도 되므로 SQL 인젝션 같은 보안 문제를 줄일 수 있다.
  5. 자동 마이그레이션 지원
    Prisma나 TypeORM 같은 ORM은 모델 변경 시 DB 스키마도 자동으로 업데이트해준다.

2. Prisma

Prisma란?

Javascript, Typescript ORM

  • Node.js, TS로 개발 가능
  • Beginner-friendly
  • DB 독립성, 마이그레이션

Prisma는 Node.js와 TypeScript 환경에서 사용하는 현대적인 ORM(Object-Relational Mapping) 도구이다.
개발자가 SQL 쿼리를 직접 작성하지 않고도 데이터베이스를 효율적으로 조작할 수 있도록 해주는 타입 안정성과 자동 완성 기능을 갖춘 개발 도구이다.

https://www.prisma.io/

 

Prisma | Simplify working and interacting with databases

Build, fortify, and grow your application easily with an intuitive data model, type-safety, automated migrations, connection pooling, caching, and real-time database subscriptions.

www.prisma.io

 

Prisma의 장점

  1. 자동 타입 생성 기능
    Prisma는 데이터베이스 스키마로부터 자동으로 타입을 생성해 TypeScript와 완벽하게 통합되며, 코드 자동 완성 및 타입 체크가 가능하다.
  2. 간단하고 직관적인 문법
    Prisma Client는 복잡한 SQL 없이도 .findMany(), .create() 같은 메서드로 직관적인 데이터 조작이 가능하다.
  3. 데이터베이스 마이그레이션 도구 제공
    Prisma는 schema.prisma 파일을 기반으로 마이그레이션 파일을 생성하고, 이를 통해 데이터베이스 구조를 버전 관리할 수 있다.
  4. 우수한 성능과 최적화
    Prisma Client는 필요한 필드만 쿼리하는 최적화를 자동으로 수행하여 성능을 높여준다.
  5. 다양한 데이터베이스 지원
    PostgreSQL, MySQL, SQLite 등 다양한 관계형 데이터베이스를 지원하여 확장성이 높다.
반응형

최근댓글

최근글

© Copyright 2024 ttutta