UMC 2

[UMC] SQL Query

1. SQL - 두 개의 정렬 기준과 페이지네이션을 구현하는 쿼리이번 주 첫번째 미션은 저번주에 설계한 DB에서 다음과 같은 기능을 구현하는 것이다.진행 중, 진행 완료한 미션 모아서 보는 쿼리에서 정렬 기준을 1순위를 포인트, 2순위는 최신순으로 하여 Cursor 기반 페이지네이션을 구현하라. 일단 저번주에 설계한 DB를 살펴보자.진행 중, 진행 완료를 표현하기 위해 필요한 정보를 테이블 단위로 정리해보자. 1. Mission 테이블미션의 내용미션의 status(완료, 미완료 상태 구별)미션의 포인트 내역2. Shop 테이블상점의 이름3. User 테이블유저의 ID(검색 기준)이렇게 총 2개의 테이블에서 정보를 얻어와야 한다. 바로 SQL로 구현해보자. SELECT m.content, m.p..

UMC 2025.03.30

[UMC] DB 정규화와 이중요청 해결

DB 정규화MySQL과 같은 관계형 데이터베이스는 레코드들이 모여 있는 테이블과 테이블들 간의 연관관계로 이루어져 있다.그런만큼 프로젝트 규모가 커지고 DB 구조가 복잡해질수록 테이블 구조가 잘 연결되어 있어야 데이터를 잘 정리할 수 있고 DB의 성능 또한 저하되지 않는다. 정규화는 테이블 간에 중복된 데이터를 허용하지 않는 것을 목표로 두고 진행하며 데이터의 무결성 유지와 DB의 저장 용량을 확보할 수 있다. 정규화는 총 3단계로 이루어지며 지금부터는 이번 주에 진행했던 DB 설계 미션과 함께 살펴보겠다.  제 1정규화제 1정규화는 테이블의 컬럼이 원자값을 갖도록 테이블을 분해하는 것이다. 즉 하나의 레코드에 하나의 컬럼에 대해 하나의 값만 가질 수 있도록 테이블을 분해해야 한다. 이번 주차 미션에서 ..

UMC 2025.03.23