WIL - 4주차 정리

김지현·2023년 4월 30일
0

항해99

목록 보기
13/16

2023-04-30


ORM

( Object-Relational Mapping ) - 객체 관계 매핑

  • 객체가 RDB 테이블이 되도록 매핑 시켜주는 프레임워크
    -> SQL 쿼리가 아닌 직관적인 코드 (메서드) 로서 데이터를 조작할 수 있음
MySQL : SELECT * FROM USER;
ORM : user.findAll();
  • 쿼리를 작성하지 않고 메서드 호출만으로 쿼리가 수행되다 보니 생산성이 높아짐
    -> 그러나 쿼리가 복잡해지면 ORM 으로 표현하는데 한계가 있음

SQL

( Structured Query Language ) - 구조적 쿼리 언어

  • RDB 에 정보를 저장하고 처리하기 위한 프로그래밍 언어

■ DML

( Data Manipulation Language ) - 데이터 조작 언어
1. SELECT : 데이터 조회 & 검색
2. INSERT : 데이터 추가 ( 새로운 행 추가 )
3. UPDATE : 데이터 수정
4. DELETE : 데이터 삭제

■ DDL

( Data Definition Language ) - 데이터 정의 언어
1. CREATE : 테이블 생성
2. ALTER : 테이블 변경
3. DROP : 테이블 삭제
4. RENAME : 테이블 이름변경

■ DCL

( Data Control Language ) - 데이터 제어 언어
1. GRANT : DB 접근 권한 부여
2. REVOKE : DB 접근 권한 회수

■ TCL

( Transaction Control Language ) - 트랜잭션 제어 언어
논리적인 작업의 단위를 묶어서 DML 에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어
1. COMMIT : 트랜잭션 실행
2. ROLLBACK : 트랜잭션 취소
3. SAVEPOINT : 롤백 지점을 설정


MVC

( Model - View - Controller )

  • 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴

  • 유지보수를 독립적으로 수행가능하며 중복 코딩의 문제점을 제거함
    -> 데이터&비즈니스 요건 변경 : Model 수정
    -> 화면의 변경 : View 수정
    -> 뷰&모델 변경 : Controller 수정

  • 복잡한 대규모 프로그램의 경우 다수의 뷰와 모델이 컨트롤러를 통해 연결되기 때문에 컨트롤러가 불필요하게 커짐
    -> 보완을 위해 다양한 패턴이 파생됨
    ( MVP , MVVM , Flux , Redux , RxMVVM 등 )

■ Model

애플리케이션의 정보, 데이터를 나타냄

  • 클라이언트가 편집하길 원하는 모든 데이터를 가지고 있어야 함
  • 뷰나 컨트롤러에 대한 어떤 정보도 가지고 있지 않아야 함
  • 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야 함

■ View

데이터를 기반으로 클라이언트가 볼 수 있는 화면

  • 모델이 가지고 있는 정보를 따로 저장되어있으면 안 됨
  • 모델이나 컨트롤러와 같이 다른 구성요소들을 몰라야 함
  • 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야 함

■ Controller

사용자로부터의 입력에 대한 응답으로 모델 및 뷰를 업데이트함

  • 모델이나 뷰에 대해 알고 있어야 함
  • 모델이나 뷰의 변경을 모니터링 해야 함

0개의 댓글

관련 채용 정보