ORM, SQL, MVC

Jeong Yeongmin·2022년 10월 16일

1. ORM(Object Relational Mapping) 이란?

ORM은 객체 관계 매핑을 뜻한다. '객체'라는 개념을 구현한 클래스와 '관계형 데이터베이스'에서 쓰이는 테이블을 자동으로 매핑하는 것을 의미한다. 객체와 관계형 데이터베이스는 그것들이 출현된 background가 다르기 때문에 패러다임의 불일치가 나타나게 되는데, 이를 ORM을 통해 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성하여 패러다임의 불일치를 해소한다. 이러한 객체 지향 프로그래밍이 가능하게 되면서 추상화, 캡슐화, 정보은닉, 상속, 다형성 등 시스템의 복잡성을 제어할 수 있게 되었다.

2. SQL(Object Relational Mapping) 이란?

SQL(Structured Query Language, 구조적 질의 언어)은 관계형 데이터베이스 시스템(RDBMS)을 제어하는 컴퓨터 언어를 말한다.

1) SQL 문법의 종류

  • DDL(Data Definition Language, 데이터 정의어)
    각 relation을 정의하기 위해 사용하는 언어이다.
    (Create, Alter, Drop)
  • DML(Data Manipulation Language, 데이터 조작어)
    DB를 조회, 삽입, 삭제, 변경하는 역할을 하며, 관리 목적의 쿼리문이다.
    (SELECT, INSERT, UPDATE...)
  • DCL(Data Control Language, 데이터 제어어)
    사용자 관리 및 사용자별로 relation 또는 데이터를 관리하고 접근하는 권한을 다루기 위한 언어이다.
    (GRANT, DENY, REVOKE...)

2) SQL의 언어적 특성

a) SQL은 대소문자를 가리지 않는다.
b) SQL 명령문은 반드시 세미콜론으로 끝나야 한다.
c) 고유의 값은 따옴표로 감싸준다.
(Ex. select * from Member where name="JAMES";)
d) SQL에서 객체를 나타낼 때는 백틱으로 감싸준다.
e) 주석은 일종의 도움말로, 주석 처리된 문장은 프로그램에서 동작하지 않는다. 한 줄 주석은 문장 앞에 --를 붙여 사용한다.
(Ex. --select * from Member;)
f) 여러 줄 주석은 /**/로 감싸준다.

3. MVC(Model View Controller)란?

MVC는 소프트웨어가 서비스하는 방식에 대한 패턴을 지칭한다. 즉, 어떤 프레임워크나 라이브러리를 지칭하는 것이 아닌 서비스하는 방식에 대한 하나의 아이디어 디자인 패턴이다.

Model
데이터베이스에서 데이터를 가지고 올 수 있고 데이터를 가지고 있을 수도 있다. DB와 소통하며 controller에게 데이터를 전달한다. Model이 View와 직접 소통하는 일은 없다.

View
유저가 보는 화면을 보여주게 하는 역할이다. 데이터를 받고 그리는 역할을 수행한다. Model이나 DB와는 소통하지 않고 controller와만 소통한다. Controller에게 action이나 data를 전달만 하고 전달 받기만 한다.

Controller
View에서 엑션과 이벤트에 대한 인풋 값을 받는다. Model에게 전달해주기 전에 데이터를 가공할 수 있다. View와 Model에게 받은 Data를 가공할 수 있다.

0개의 댓글