WIL

+4 WIL ORM / SQL / MVC

JAVABOZA 2023. 7. 10. 09:41

ORM ( Object-Relational Mapper )

 

:: 객체 - 관계 매퍼 (객체와 RDBMS의 데이터를 자동으로 매핑해주는 것)

 

  • 객체지향 과 RDMS의 데이터(관계지향)을 매핑
  • RDB의 관계를 객체에 반영
  • 객체를 통해서 간접적으로 DB데이터를 다룸
  • 객체와 DB데이터를 자동으로 매핑해줌
    • ORM이 객체와 관계 사이에서 sql을 자동으로 생성
  • 메소드로 DB데이터 조작 = 객체지향
    • OOP언어를 그대로 쓰면서 객체와 RDMS의 데이터를 매핑

 


SQL

 

SQL 은 관계형데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어

관계형 데이터베이스는 정보를 표 형식으로 저장

행과 열은 다양한 데이터 속성과 데이터값 간의 다양한 관계를 나타냄

SQL 문을 사용해서 데이터베이스에서 정보를 저장, 업데이트 제거, 검색 할 수 있음

데이터베이스 성능을 유지 관리하고 최적화하는데 SQL 사용할 수 있음

 

:: MySQL, MariaDB, MSSQL, 오라클 등의 데이터베이스 관련 프로그램들이 SQL 을 표준으로 채택하고 있음


MVC (Model - View - Controller)

 

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

소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점

한단어로 표현하면 "관심사 분리" 는 더나은업무의 분리와 향상된 관리를 제공

MVC에 기반을 둔 몇 가지 다른 디자인 패턴들로  MVVM / MVP / MVW가 있음

 

  • Model : 데이터와 비즈니스 로직을 관리
  • View : 레이아웃과 화면을 처리
  • Controller : 명령을 모델과 뷰 부분으로 라우팅

 

간단한 예시로 mvc패턴을 웹에 적용했을 때

 

  1. 사용자가 홈페이지에 접속(Users)
  2. Controller는 사용자가 홈페이지를 서비스하기 위히 model을 호출(manipulates)
  3. model은 데이터베이스나 파일과 같은 데이터소스를 제어한 후 그 결과를 return
  4. controller는 model이 리턴한 결과를 view에 반영(updates)
  5. 데이터가 반영된 view는 사용자에게 보여짐(sees)

 

MVC의 패턴을 사용해야하는 이유?

- 비즈니스 로직과 UI로직을 분리하여 유지보수를 독립적으로 수행 할 수 있음

- Model과 View가 다른 컴포넌트들에 종속되지 않아 애플리케이션의 확장성, 유연성에 유리

- 중복 코딩의 문제점 제거

'WIL' 카테고리의 다른 글

WIL 프론트엔드와 첫 협업  (0) 2023.07.24
WIL 3주차  (0) 2023.07.02
WIL HTTP 와 MVC패턴이란?  (0) 2023.06.25
230618_WIL_객체지향프로그램이란? + JVM?  (0) 2023.06.18