DB 개념 정리 🧠 | 정규화/반정규화, 인덱스, 트랜잭션, JOIN
·
TIL (Today I Learned)
정규화와 반정규화정규화데이터 중복을 최소화하고, 데이터 무결성을 유지하기 위해 데이터베이스를 설계하는 과정💡데이터 무결성 (Data Integrity)데이터가 정확하고 일관되며 신뢰할 수 있는 상태로 유지되는 것💡데이터 무결성의 유형개체 무결성 (Entity Integrity)기본 키(Primary Key)는 반드시 NULL이 아니고 중복되지 않아야 함.참조 무결성 (Referential Integrity)외래 키(Foreign Key)는 참조하는 테이블의 기본 키와 일치하거나 NULL이어야 함.도메인 무결성 (Domain Integrity)컬럼 값은 정해진 데이터 타입, 범위, 형식을 만족해야 함.사용자 정의 무결성 (User-defined Integrity)비즈니스 규칙에 따른 무결성. 제 1 정..
[programmers] SQL Lv. 4 - 그룹별 조건에 맞는 식당 목록 출력하기
·
Algorithm Solving/SQL
https://school.programmers.co.kr/learn/courses/30/lessons/131124 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명 다음은 고객의 정보를 담은 MEMBER_PROFILE테이블과 식당의 리뷰 정보를 담은 REST_REVIEW 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다.REST_REVIEW 테이블은 다음과 같으며 REVIEW_ID, REST_ID, MEMBER_ID, R..
[programmers] SQL Lv. 4 - 주문량이 많은 아이스크림들 조회하기
·
Algorithm Solving/SQL
https://school.programmers.co.kr/learn/courses/30/lessons/133027 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 7월 아이스크림 총 주문량과 상반기의 아이스크림 총 주문량을 더한 값이 큰 순서대로 상위 3개의 맛을 조회하는 SQL 문을 작성해주세요. 풀이틀린 풀이 😿SELECT SUB.FLAVOR FROM ( SELECT J.FLAVOR, (J.TOTAL_ORDER + IFNULL(F.TOTAL_ORDER, 0)) AS SUMTOTAL FROM JULY J LEFT JOIN FIRST_HALF F ON ..
[programmers] SQL Lv. 1 - 과일로 만든 아이스크림 고르기
·
Algorithm Solving/SQL
https://school.programmers.co.kr/learn/courses/30/lessons/133025 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 다음은 아이스크림 가게의 상반기 주문 정보를 담은 FIRST_HALF 테이블과 아이스크림 성분에 대한 정보를 담은 ICECREAM_INFO 테이블입니다. FIRST_HALF 테이블 구조는 다음과 같으며, SHIPMENT_ID, FLAVOR, TOTAL_ORDER 는 각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛, 상반기 아이스크림 총주문량을 나타냅니다. FIRST_HALF 테이블의 기본 키는 FLAVOR입..
[TIL] MySQL Subquery와 Join (24-12-17)
·
TIL (Today I Learned)
🤖 사전 캠프 7일차 진행 사항 🤖 엑셀보다 쉽고 빠른 SQL 4주차 수업4-1 ~ 4-7숙제Java 알고리즘 문제 풀이 1로 만들기 엑셀보다 쉽고 빠른 SQL 4주차 수업1. Subquery 더보기Subquery가 필요한 경우여러번의 연산을 수행해야 할 때조건문에 연산 결과를 사용해야 할 때조건에 Query 결과를 사용하고 싶을 때[실습] 음식점의 지역과 평균 배달시간으로 segmentation 하기 테이블? ==> from food_orders컬럼? ==> restaurant_name, addr, delivery_time조건? ==> 없음수식? ==> avg(delivery_time), substring(addr, 1, 2)그룹화 ==> group by restaurant_name, addr평균 ..