ORM(Optical Relational Recognition)이란??
- 객체 지향 프로그래밍 언어에서 사용하는 객체와 데이터베이스의 관계형 데이터 간의 자동 변환을 담당하는 기술
- ORM을 사용하면 데이터베이스의 테이블을 마치 프로그래밍 언어의 객체처럼 다룰 수 있습니다.
- 즉, SQL 쿼리를 직접 작성하지 않고도 객체를 조작하는 방식으로 데이터베이스 작업을 수행할 수 있습니다.
주요 개념:
- 객체(Object): 객체 지향 언어에서 사용하는 데이터 구조(클래스 인스턴스)
- 관계형 데이터(Relational Data): 데이터베이스의 테이블(행과 열 구조)
ORM의 역할:
- ORM은 클래스(객체)를 데이터베이스의 테이블과 매핑하여 프로그래머가 SQL 문을 직접 작성하지 않아도 데이터를 삽입, 수정, 조회, 삭제할 수 있게 도와줍니다.
장점:
- 생산성 향상: SQL 쿼리를 직접 작성하지 않아도 돼서 코드 작성 시간이 줄어듭니다.
- 유지 보수 용이: 데이터베이스 구조가 변경되더라도 객체 중심으로 코드를 수정하면 되므로 유지 보수가 쉽습니다.
- SQL Injection 방지: ORM 라이브러리가 SQL 쿼리를 자동으로 처리해주기 때문에 보안에 유리합니다.
EX) Prisma, Sequilize, TypeORM 등이 있습니당