SQL
Structured Query Language (구조적 질의 언어) 의 줄임말이다.
관계형 데이터베이스 시스템(RDBMS) 에서 자료를 관리 및 처리하기 위해 설계된 언어이다.
SELECT * FROM 이런거 H2 데이터베이스에서 조회할때 본적이 있지? 이게 SQL에서의 문법이다.
SQL의 문법은 크게 3가지 종류로 나누어 볼 수 있다.
SQL의 언어적 특성이 있는데,
1. 대소문자를 가리지 않는다.
2. 명령은 반드시 세미콜론(;) 으로 끝나야 한다.
3. 고유의 값은 따옴표('')로 감싼다.
4. 객체를 나타낼 때는 백틱(``) 으로 감싼다.
5. 앞에 -- 를 붙여서 주석처리 할 수 있다.
6. 여러 줄 주석은 /* */ 로 감싼다.
MVC
Model View Control 의 약자이다.
사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. 관심사 분리라고 보자.
Model : 데이터와 비즈니스 로직을 관리한다. 간단하게 클라이언트에서 서버로 요청을 보내는 것.
View : 레이아웃과 화면을 처리한다. 간단하게 서버에서 클라이언트로 응답을 보내는 것.
Controler : 명령을 모델과 뷰 부분으로 라우팅한다. 간단하게 서버에서 서비스 단에서 조작하는 것.
ORM
Object Relational Mapping, 객체-관계 매핑이라고 한다.
객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결) 해주는 것을 말한다.
Persistent API 라고도 할 수 있는데 예를들면 Jpa나 Hibernate 같은게 있다.
객체지향적인 코드로 인해서 더 직관적이고 비즈니스 로직에 더 집중할 수 있게 도와준다.
매핑 정보가 명확하기 때문에 ERD를 보는 것에 대한 의존도를 낮출 수 있다. 또한 객체간의 관계를 바탕으로 SQL을 자동으로 생성하기 때문에 RDBMS의 데이터 구조와 Java의 객제지향 모델 사이의 간격을 좁힐 수 있다.