Weekly devIL 4

임선용·2022년 6월 5일
0

ORM

Object Relational Mapping

  • 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.
    (자바의 클래스DB의 테이블매핑한다)
  • 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용하기에, 객체 모델과 관계형 모델 간에 불일치가 존재한다.
  • ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다.

JPA는 자바에서 제공하는 ORM API이다
아래와 같이 어노테이션으로 테이블과 매핑을 해줄 수 있다.

@Entity // 해당 클래스를 테이블에 매핑해 준다
 @GeneratedValue(strategy = GenerationType.AUTO) // AUTO_INCREMENT
@Id // ID 값, Primary Key지정
@Column(nullable = false) // 테이블의 컬럼이고 NOT NULL이다
 

SQL

Structured Query Language
관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어이다.

SQL 문법은 크게는 3가지의 종류로 나누어지며, 종류마다 정의는 아래와 같습니다.

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

SQL의 언어적 특성

  1. SQL은 대소문자를 가리지 않습니다. (단, 서버 환경이나 DBMS 종류에 따라 대소문자를 구분하기도 합니다.)
  2. SQL 명령은 반드시 세미콜론(;)으로 끝나야 합니다.
  3. 고유의 값은 따옴표('')로 감싸줍니다.
  4. SQL에서 객체를 나타낼 때는 백틱으로 감싸줍니다.

MVC

Model - View - Controller
MVC 패턴은 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다.

  • 모델: 데이터와 비즈니스 로직을 관리합니다.
  • 뷰: 레이아웃과 화면을 처리합니다.
  • 컨트롤러: 명령을 모델과 뷰 부분으로 라우팅합니다.

프론트엔드 담당 - 뷰
백엔드 담당 - 컨트롤러, 모델

모델과 관련된 부분 - JPA, Repository 등
뷰와 관련된 부분 - HTML, CSS, JS 등
컨트롤러와 관련된 부분 - Data in/output, 페이지 및 API 라우팅

profile
백엔드 개발 공부중

0개의 댓글