[WIL] 항해99 4주차 회고- ORM, SQL, MVC

    Spring 주특기 심화주차 개인과제

    ver.1

    https://github.com/Suyoung225/hanghae_hw/tree/main/springhw2/src/main

    ver.2

    https://github.com/Suyoung225/hanghae_hw/tree/main/demo/src/main

     

    Spring 주특기 심화주차 팀과제

    https://dev-daybyday.tistory.com/m/29

     

     

    ORM (Object-Relational Mapping)

    - 객체와 DB의 데이터를 자동으로 매핑해주는 기술

    - 서버의 프로그래밍 언어와 DB 언어 중간에서 통역사 역할을 한다

         Object: "객체지향 언어 (자바, 파이썬)

         Relational: "관계형" 데이터베이스 (H2, MySQL)

    - SQL 쿼리가 아니라 메서드로 데이터를 조작할 수 있다.

    - 객체 간 관계를 바탕으로 SQL을 자동으로 생성한다.

     

    SQL (Structured Query Language)

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

     

    - SQL 명령어

     

    1. DDL (Data Definition Language, 데이터 정의 언어) 

    데이터베이스 스키마와 설명을 처리하도록 정의하는 언어, 생성/변경/삭제 등의 작업이 포함

    예) CREATE, DROP, ALTER

     

    2. DML(Data Manipulation Language, 데이터 조작 언어)

    데이터 검색, 삽입, 변경, 삭제 수행을 조작하는 언어

    예) SELECT, INSERT, DELETE, UPDATE

     

    3. DCL(Data Control Language, 데이터 제어 언어)

    사용자 관리 및 사용자별로 릴레이션 또는 데이터를 관리하고 접근하는 권한을 다루기 위한 언어

    예) COMMIT, ROLLBACK, GRANT, REVOKE

     

    MVC (Model-View-Controller)

    디자인 패턴 중 하나, 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴

     

    Model

    애플리케이션의 데이터인 데이터베이스, 상수, 변수 등을 뜻함

    Rule 1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.

    Rule 2. 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 한다.

    Rule 3. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 한다.

     

    View

    화면에 표시되는 글자, 체크박스, 윈도우와 같은 UI라는 시각적 요소를 지칭

    Rule 1. 모델이 가지고 있는 정보를 따로 저장해서는 안된다.

    Rule 2. 모델이나 컨트롤러와 같이 다른 구성요소들을 몰라야 된다.

    Rule 3. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 한다.

     

    Controller

    모델과 뷰를 연결해 주는 역할, 주로 비즈니스 로직이 컨트롤러에서 구현된다.

    Rule 1. 모델이나 뷰에 대해서 알고 있어야 한다.

    Rule 2. 모델이나 뷰의 변경을 모니터링 해야 한다.

     

    MVC 패턴 사용 이유

    애플리케이션의 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발할 수 있고, 재사용성과 확장성이 증가한다. 

     

     

    프로그래머스 알고리즘 문제 풀이

    https://github.com/Suyoung225/JavaPrac/blob/main/programmers/lv.1%20%EC%88%AB%EC%9E%90%20%EC%A7%9D%EA%BF%8D.md

     

     

    728x90

    댓글