반응형
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의 장점
- 생산성 향상
SQL을 일일이 작성하지 않아도 되므로 개발 속도가 빨라진다. - 가독성 & 유지보수 용이
데이터베이스 접근 코드가 객체와 메서드로 표현되어 직관적이고 코드 변경이 쉬워진다. - DB 추상화
MySQL, PostgreSQL 등 다양한 DB를 같은 코드로 사용할 수 있어 이식성이 좋다. - 보안성 향상
쿼리 문자열을 직접 조작하지 않아도 되므로 SQL 인젝션 같은 보안 문제를 줄일 수 있다. - 자동 마이그레이션 지원
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 쿼리를 직접 작성하지 않고도 데이터베이스를 효율적으로 조작할 수 있도록 해주는 타입 안정성과 자동 완성 기능을 갖춘 개발 도구이다.
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의 장점
- 자동 타입 생성 기능
Prisma는 데이터베이스 스키마로부터 자동으로 타입을 생성해 TypeScript와 완벽하게 통합되며, 코드 자동 완성 및 타입 체크가 가능하다. - 간단하고 직관적인 문법
Prisma Client는 복잡한 SQL 없이도.findMany()
,.create()
같은 메서드로 직관적인 데이터 조작이 가능하다. - 데이터베이스 마이그레이션 도구 제공
Prisma는 schema.prisma 파일을 기반으로 마이그레이션 파일을 생성하고, 이를 통해 데이터베이스 구조를 버전 관리할 수 있다. - 우수한 성능과 최적화
Prisma Client는 필요한 필드만 쿼리하는 최적화를 자동으로 수행하여 성능을 높여준다. - 다양한 데이터베이스 지원
PostgreSQL, MySQL, SQLite 등 다양한 관계형 데이터베이스를 지원하여 확장성이 높다.
반응형
'CS > Database' 카테고리의 다른 글
[Database] post CRUD 서버 애플리케이션 만들기(1) (0) | 2025.05.22 |
---|---|
[Database] DBMS Architecture (0) | 2025.05.22 |
[database] 데이터 모델링 CASE STUDY (0) | 2025.05.21 |
[Database] 데이터베이스 개요, 데이터모델링, SQL 기본문법(supabase, postgreSQL) (1) | 2025.05.19 |
[firebase] Nextjs 프로젝트 배포하기 & 실패... (0) | 2025.01.10 |