ORM(Object-Relational Mapping)
관계형 데이터베이스와 객체지향 프로그래밍 언어 간 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다.
객체지향 언어에서 사용하는 객ㅊ체를 관계형 데이터 베이스로 변환하여 테이블을 구성하는데 활용한다
ORM프레임워크의 기술
ORM프레임워크에는 크게 SQL Mapping 기반 기술과 OR Mapping 기반 기술로 구분된다.
유형 | 기술 | 설명 |
SQL Mapping | iBatis | SQL에 기반한 데이터베이스와 자바, 닷넷(.NET), 루비(Ruby) 등을 연결시켜주는 역할을 하는 개발 프레임워크 |
MyBatis | 객체지향 언어인 자바의 관계형DB프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 개발 프레임워크 | |
OR Mapping | Hibernate | 자바언어를 위한 객체 관계 매핑 프레임워크 객체지향 도메인 모델을 관계형 데이터베이스로 매핑하기 위한 프레임워크 제공 |
ORM 프레임워크 매핑 기법
ORM프레임워크를 통해 객체와 테이블 간의 변환방법을 제공한다
객체 | 테이블 | 설명 |
객체(Object) | 테이블(Table) | 객체 지향 내 객체는 데이터베이스에서 테이블로 변환 |
속성(Attribute) | 컬럼(Column) | 객체의 속성은 데이터베이스에서 컬럼으로 변환 |
오퍼레이션(Operation) | 프로시저/함수 (Procedure/Function) |
객체의 행위인 오퍼레이션은 데이터베이스에서 프로시저 또는 함수로 변환 |
ORM 프레임워크 절차
순서 | 절차 | 설명 |
1 | 클래스 -> 테이블 변환 | 클래스의 인스턴스(Instance)는 테이블 레코드(Record)로 변환 |
2 | 애트리뷰트 -> 컬럼 변환 | 클래스 인스턴스의 애트리뷰트(Attribute)는 테이블 컬럼(Column)으로 변환 |
3 | 클래스 간 관계 -> 테이블 간 관계 변환 | 클래스 간 관계(Association, Aggregation, Generalization)를 데이터베이스의 테이블 제약사항(Constrains)으로 변환 |
ORM 종류
ORM 종류에는 부분적 ORM과 완전 ORM이 있다
구분 | 부분적 ORM | 완전 ORM |
개요 | SQL을 특정 이름으로 정의하여 사용 | 내부 엔진에서 SQL 자동생성 |
매퍼사용 | SQL Mapper | Object Relation Mapper |
방법 | iBatis, MyBatis, Embeded SQL | Hibernate |
장점 | 데이터 전송 방식의 효율성 | 효율적인 매핑 기법 |
출처 : 정보처리기사 필기 NCS 기반으로 재구성한 합격비법서 - 도서출판 건기원
'BACK-END' 카테고리의 다른 글
[JSP] 스크립트 태그 / 디렉티브 태그 /액션 태그 (0) | 2022.01.25 |
---|---|
[JSP]Java Server Pages 시작 (0) | 2022.01.17 |
[MySQL]간단한 MySQL 사용 방법(SQL문) (0) | 2022.01.04 |
[MySQL] MySQL 과 schema (0) | 2020.06.15 |
[node.js]서버 구축하기 Express (0) | 2020.05.22 |