WIL | 22/08/07

개뉸·2022년 8월 7일
0

WIL

목록 보기
3/9
post-thumbnail

SQL

Structured Query Language (구조적 질의 언어) 의 줄임말이다.
관계형 데이터베이스 시스템(RDBMS) 에서 자료를 관리 및 처리하기 위해 설계된 언어이다.
SELECT * FROM 이런거 H2 데이터베이스에서 조회할때 본적이 있지? 이게 SQL에서의 문법이다.

SQL의 문법은 크게 3가지 종류로 나누어 볼 수 있다.

  • DDL (Data Definition Language, 데이터 정의 언어)
    각 릴레이션을 정의하기 위해 사용하는 언어.(CREATE,ALERT,DROP...)
  • DML (Data Manipulation Language, 데이터 조작 언어)
    데이터를 추가/수정/삭제하기 위한, 즉 데이터 관리를 위한 언어.(SELECT,INSERT,UPDATE...)
  • DCL (Data Control Language, 데이터 제어 언어)
    사용자 관리 및 사용자별로 릴레이션 또는 데이터를 관리하고 접근하는 권한을 다루기 위한 언어.(GRANT,REVOKE...)

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의 객제지향 모델 사이의 간격을 좁힐 수 있다.

0개의 댓글