쿼리 2

쿼리조인과 스칼라 서브 쿼리

현재 이지업에 강의를 보면서 진행하는 프로젝트에서 사용자의 구동 적보를 관리하는 기능이 있다. 이기능은 까다로워서 프로그램을 설계해서 짜게되면 프로그램도 지저분해지고 엄청 복잡해 진다. 그래서 이런 복잡한 기능은 쿼리를 잘 짠다면 엄청깔끔하게 프로그램을 작성할 수 있게된다. 쿼리를 짜는 실력이 늘기위해선 해당 포스팅에서 보여주는것과 같이 생각을하면서 점차점차 목표하는 쿼리를 만들기위해서 생각하고 연습하고 노력해야한다. 다음과 같은데 위 기능이 구현하기 까다로운 이유는 user정보도 있고 구독여부 정보와 사용자와 중복 여부까지 체크를 해야 한다. 이렇게 하기 위해서 쿼리를 짜야한다. 조인을 해야하는데 조인은 다음과 같이 데이터를 검색해 준다. 2번이 구독하고 있는 user들을 검색하는 쿼리를 짜고 이제 구..

Springboot 2021.12.24

Spring boot/JPA / DB 기본 개념 테이블과 오브젝트 (1){join}

관계형 DB는 기본적으로 테이블을 하나 들고 있다 즉 db는 테이블의 모임이다. 위테이블을 예로 들자면 id에 있는 데이터는 칼럼 빨간색 네모처럼 가로로 한 줄을 튜플 또는 래코드라고 한다. 근데 DB는 이 칼럼에는 오브젝트를 받지 못한다. 왜냐하면 데이터베이스 규칙의 원자성이라는 규칙이 있다. 최소 단위의 데이터 하나만 넣을 수 있다는 뜻이다. 프로그래밍 언어는 오브젝트 저장이 가능한데 DB는 불가능하다. 그래서 프로그래밍 언어에서 db로 모델링할 때는 어쩔 수 없이 db에 프라이머리 키만 저장을 해놓는 것이다. 그래서 나중에 찾을 때는 프라이머리 키를 참조해서 db에서 찾는 것이다. 위 과정에서 구조가 모순되는 단점이 생겨버린다. 한 명이 여러 개의 글을 쓸 수 있지만 개시글입잡에서는 1명만이 개시글..

Springboot 2021.06.30