'orm'에 해당되는 글 1건

  1. 2010.02.26 O/R mapping

O/R mapping

공부 2010.02.26 16:14
최근에 앨리스 개발에 다시 손대면서 Django(파이썬기반의 웹프레임웍)에서 DB위에 씌운 레이어의 편리성에 다시한번 감탄하게 됐다.

일반적으로 데이터베이스에 엑세스를 할때에는 SQL을 사용하는데,
사실 웹코딩을 하다보면 이런 SQL형식으로 DB쿼리를 날리는게 여간 귀찮은 일이 아닐 수 없다.

하지만 Django에서는 SQL쿼리를 직접 날리는게 아니라
아래와 같이 그냥 일반적인 object에 엑세스 하는것처럼 DB를 관리할 수 있다.

SQL:
INSERT INTO  Blog (id, name, url) VALUES (12, 'youknow', 'http://youknow04.textcube.com')

Django:
b = Blog()
b.id = 12
b.name = 'youknow'
b.url = 'http://youknow04.textcube.com'

b.save() #실제로 DB에 저장하기 위한 함수. model에서 상속받으면 기본으로 있음.


이처럼 DB상의 한 데이터를 객체지향(Object-Oriented)언어의 한 객체로 변환하는것을 O/R mapping(Object-relational mapping) 이라고 한다.
특히 파이썬 같은 스크립트 언어의 객체로 변환을 하면, 파이썬 특유의 막강한 내장함수들을 활용하거나 유연한 코딩을 할 수 있기 때문에 월등한 생산성을 얻을 수 있다.
그냥 직관적으로 생각해봐도 DB안에 박혀있는 데이터를 다루는것과, 언어 자체의 객체를 다루는것에는 편리성 측면에서 엄청난 차이가 있으니까.

그래서 O/R mapping은 Ruby on Rails같은 다른 웹프레임웍들에서도 많이들 지원한다더라.


신고

'공부' 카테고리의 다른 글

SQL injection on python+SQLite3  (0) 2010.04.02
Google Summer of Code2010 & CGAL  (0) 2010.03.30
O/R mapping  (0) 2010.02.26
Laplacian Pyramid on GPU  (1) 2010.01.13
Block-based Web Search  (0) 2009.12.06
오토 레포트  (3) 2009.11.04
Posted by youknow04


티스토리 툴바