기본
ORM / SQL
초혼
2023. 2. 27. 22:30
ORM(Object Relational Mapping)
OOP에서 쓰이는 객체라는 개념을 구현한 클래스와 RDB에서 쓰이는 테이블을 자동으로 연결하는 것(mapping)
서로 호환되지 않기 때문에 불일치가 발생
-> ORM을 통해 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성하여 해결
-> 따로 SQL문을 작성할 필요없이 객체를 통해 간접적으로 DB를 조작
RDB의 테이블을 객체화 시켜서 SQL문을 직접 작성하지 않고 조작할 수 있게 만들어 주는 것
장점
SQL문이 아닌 클래스의 메서드를 통해 DB 조작 가능
매우 편리, 가독성 증가, 부수적인 코드 감소
단점
복잡성이 커질 때 잘못 설계하게 되면 성능 저하시키고 일관성을 무너뜨릴 수 있다
속도를 위해 튜닝이 필요한 경우에는 결국 SQL문을 사용해야한다
SQL(Structed Query Language)
RDBMS를 제어하는 컴퓨터 언어
쿼리문은 정의(Definition), 조작(Manipulation), 제어(Control)로 분류된다
개발자 기준 중요도는 M > D > C
정의(Definition)
DB 오브젝트를 생성, 삭제, 변경
CREATE, DROP, ALTER...
조작(Manipulation)
DB를 조회, 삽입, 삭제, 변경
SELECT, INSERT, UPDATE...
제어(Control)
사용자 권한을 관리
GRANT, DENY, REVOKE...