반응형
안녕하세요 냥장판 입니다🐱👤🐱👤
이번 게시글에서는 SQL ORM(Object relational Mapping)에 대해서 알아보도록 하겠습니다.
1. ORM이란
데이터베이스와 객체 지향 프로그래밍 언어 (Python, node JS 등)간의 호환되지 않는 데이터를 변환, 맵핑하는 프로그래밍 기법이다.
객체 지향 프로그래밍언어(OOP, Object Oriented Programming)는 클래스라는 개념이 있고,
RDBMS 에는 테이블이라는 개념이 있다.
OOP를 사용해서 작성된 클라이언트 프로그램이 압도적으로 많다.
OOP를 사용하는 데 제약을 받지 않고, RDBMS를 이용하기 위한 프레임워크(Framework)로 이해하면 된다.
한 예로
클래스로 스키마(Schema)를 매핑하고, 메소드(Method)로 쿼리(Query)를 작성하면,
객체로 이뤄진 테이블을 가져올 수 있다.
2. ORM 장, 단점
ORM의 장점은
- 별도 SQL을 사용하지 않고 OOP 언어 그대로를 사용할 수 있다.
- DBMS에 대한 종속성을 줄일 수 있다.
ORM의 단점은
- 직접 SQL을 사용하는 것보다 복잡할 수 있다. (자동으로 생성되는 쿼리 때문)
- 속도나 생산성이 저하될 수 있다.
ORM 액세스용 드라이버(for MS SQL Server)
클라이언트 응용 프로그램이 Microsoft SQL 데이터베이스에 연결 하는 데 사용하는 ORM 프레임워크는 아래와 같다.
C# | Entity Framework Core |
Java | Hibernate ORM |
PHP | Eloquent ORM, Laravel 설치에 포함 되어 있습니다. |
Node.js | Sequelize ORM |
Python | Django |
Ruby | Ruby on Rails |
그럼 이만!
반응형
'🎪 놀고있네 > MS SQL' 카테고리의 다른 글
[SQL Server] 테이블/데이터 지우기(TRUNCATE, DELETE, DROP) (2) | 2019.12.30 |
---|---|
[SQL Server] 국가별 날짜 형식 적용하기 (0) | 2019.12.26 |
[SQL Server] 문자 합치기(CONCAT, CONCAT_WS) (2) | 2019.12.25 |
[SQL Server] 글자가 입력은 되는데 저장이 안되요! 😒 (2) | 2019.12.09 |
[SQL Server] Database 의 스키마 확인하기 (0) | 2019.12.07 |
댓글