일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Server
- oracle
- 자바문법
- DBeaver
- svn
- Javascript
- Tomcat
- 자바스크립트
- 자바
- git
- java
- 마이바티스
- JQuery
- 오라클
- Linux
- 이클립스
- SQL
- 톰캣
- db
- 모바텀
- IntelliJ
- HTTP
- 디비버
- 상태코드
- 보안
- Eclipse
- JSON
- mybatis
- Redis
- 인텔리제이
- Today
- Total
JongTachi의 개발 블로그
[DB] ORM의 특징과 장단점 본문
1. ORM 정의
ORM은 객체 관계 매핑(Object-Relational Mapping)의 약어로 객체 지향 프로그래밍과 관계형 데이터베이스 간의 데이터를 변환하고 상호 작용하는 프로그래밍 기술입니다.
관계형 데이터베이스는 테이블과 열의 형태로 데이터를 저장하고 관리합니다, 반면 객체 지향 프로그래밍은 데이터와 해당 데이터에 대한 동작을 하나의 단위인 객체로 캡슐화하죠. ORM은 이러한 두 가지 접근 방식 간의 간극을 메꾸기 위해 사용됩니다.
2. ORM 특징
1) 객체와 데이터베이스 간의 매핑: 위에서 설명드렸다싶이 ORM은 객체와 데이터베이스 간의 매핑을 자동으로 처리합니다. 이를 통해 개발자는 객체를 직접 데이터베이스에 매핑하는 작업을 줄일 수 있습니다.
2) 데이터베이스 독립성: ORM을 사용하면 데이터베이스에 종속되지 않는 어플리케이션을 개발할 수 있어요. ORM 프레임워크는 데이터베이스와의 상호 작용을 추상화하고, 데이터 베이스 종류에 따라 필요한 코드를 자동으로 생성해줍니다.
3) 생산성 향상: 직접 sql 쿼리를 적는 것 대신 객체지향프로그래밍 언어의 문법과 메서드를 사용할 수 있습니다.
4) 객체 간의 관계 관리: ORM을 사용하면 연관관계를 데이터베이스 관계로 자동으로 매핑할 수 있습니다.
3. ORM 장점
1) 유지 보수 용이 : ORM을 사용하면 데이터베이스 스키마 변경 시 소스 코드의 변경을 최소하할 수 있습니다. ORM 프레임워크가 스키마 변경을 자동으로 처리하므로, 개발자는 데이터베이스에 대한 세부 사항을 신경 쓰지 않아도 되죠!
2) 코드의 가독성 향상: ORM은 객체지향프로그래밍 언어의 문법과 메서드를 활용하므로, 코드의 가독성이 높습니다. SQL쿼리를 직접 작성하는 것보다 메서드를 활용하는게 직관적이고 이해하기 쉽습니다.
4. ORM 단점
1) 성능 문제: 대량의 데이터를 처리하는 경우 성능에 문제가 발생할 수 있습니다.
2) 복잡성과 제약 사항: ORM은 모든 데이터베이스 기능을 완벽하게 지원하는 건 아니기 때문에 일부 고급 데이터베이스 기능이나 복잡한 쿼리는 직접 SQL을 작성해야 할 수도 있습니다.
'DB' 카테고리의 다른 글
[DB] 테이블 컬럼 조회하기 (0) | 2023.07.20 |
---|---|
[DB] delete문 사용법 (완전 간단) (0) | 2023.07.20 |
[DB] SQL(관계형 데이터베이스)과 NosSQL(비관계형 데이터베이스)의 특징과 차이 (0) | 2023.06.11 |
Multiple Primary Key (다중 PK) (0) | 2023.03.15 |
window에서 mariaDB, MySQL 서버 껐다 켜기 (0) | 2023.03.07 |