일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 다이나믹프로그래밍
- 알고리즘
- 그리디알고리즘
- DirectX12
- directx
- 파일시스템 구현
- 타입 객체
- codility
- 락
- 멀티프로세서
- 디자인패턴
- Direct12
- 멀티쓰레드
- 병행성 관련 오류
- 다이나믹 프로그래밍
- OS
- 백준
- 동적계획법
- 렌더링 파이프라인
- 병행성
- 스케줄링
- I/O장치
- 쓰레드
- 프로그래머스
- 자료구조
- 운영체제
- DirectX 12
- 컨디션 변수
- 그리디 알고리즘
- 영속성
- Today
- Total
기록공간
3-4-6장. ORM(Object-Relational Mapping) - B 본문
ORM의 개요
ORM은 객체지향 프로그래밍의 객체와 관계형 데이터베이스의 데이터를 연결하는 기술을 의미한다.
-
ORM은 객체지향 프로그래밍에서 사용할 수 있는 가상의 객체지향 데이터베이스를 만들어 프로그래밍 코드와 데이터를 연결
-
ORM으로 생성된 가상의 객체지향 데이터베이스는 프로그래밍 코드 또는 데이터베이스와 독립적이므로 재사용 및 유지보수가 용이
-
ORM은 SQL 코드를 직접 입력하지 않고 선언문이나 할당 같은 부수적인 코드가 생략되기 때문에 직관적이고 간단하게 데이터를 조작할 수 있음
ORM 프레임워크
ORM 프레임워크는 ORM을 구현하기 위한 구조와 구현을 위해 필요한 여러 기능들을 제공하는 소프트웨어를 의미한다.
-
ORM 프레임워크 종류
-
JAVA : JPA, Hibernate, EclipseLink, DataNucleus, Ebean 등
-
C++ : ODB, QxOrm 등
-
Python : Django, SQLAlchemy, Storm 등
-
iOS : DatabaseObjects, Core Data 등
-
.NET : NHibernate, DatabaseObject, Dapper 등
-
PHP : Doctrine, Propel, RedBean 등
-
ORM의 한계
-
ORM은 프레임워크가 자동으로 SQL을 작성하기 때문에 의도대로 SQL이 작성되었는지 확인할 필요가 있음 (즉, SQL을 알고있어야 한다)
-
객체지향적인 사용을 고려해야 하고, 설계된 데이터베이스가 아닌 경우 프로젝트가 크고 복잡해질수록 ORM 기술을 적용하기 어려워짐
-
기존의 기업들은 ORM을 고려하지 않은 데이터베이스를 사용하고 있기 때문에 ORM에 적합하게 변환하려면 많은 시간과 노력이 필요함
'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글
4-1-1장. 개발 환경 구축 - B (0) | 2020.09.17 |
---|---|
3-4-7장. 쿼리 성능 최적화 - C (0) | 2020.09.16 |
3-4-5장. SQL 테스트 - B (0) | 2020.09.16 |
3-4-4장. DBMS 접속 기술 - B (0) | 2020.09.15 |
3-4-3장. 사용자 정의 함수 - B (0) | 2020.09.15 |