[SQL] 데이터베이스 정규화 원칙과 키의 종류
·
SQL
정규화란?정규화는 데이터 중복을 최소화하고 무결성을 보장하기 위해 테이블을 분리하는 과정이다.보통 제 1 정규형 (1NF) → 제 2 정규형 (2NF) → 제 3 정규형 (3NF) → BCNF까지 수행하며, 상황에 따라 제 4 정규형, 제 5 정규형을 적용한다.정규화의 목적데이터 중복 최소화: 중복 데이터를 최소화하여 저장 공간을 절약하고 데이터 불일치를 방지한다.데이터 무결성 유지: 데이터를 변경했을 때 연관된 모든 데이터가 일관성을 유지하도록 한다.데이터 구조 최적화: 테이블을 체계적으로 정리해 검색, 수정, 삭제 등의 유지보수를 쉽게 수행할 수 있다.키의 종류키개념예시슈퍼키각 데이터를 유일하게 식별할 수 있는 속성의 집합student_id, student_email, (student_id, stud..
[SQL] 윈도우 함수
·
SQL
SQL 윈도우 함수란?윈도우 함수는 행을 그룹화(GROUP BY)하지 않고도, 특정 범위(윈도우) 내에서 연산을 수행하는 함수다.GROUP BY와 달리 원본 행을 유지한 채, 추가적인 정보(순위, 이동값, 누적값 등)를 계산할 때 사용한다.윈도우 함수 기본 문법SELECT 컬럼명, 윈도우함수 () OVER (PARTITION BY 기준컬럼 ORDER BY 정렬컬럼) AS 결과FROM 테이블PARTITION BY: 그룹화할 기준 컬럼 (선택 사항)ORDER BY: 계산할 때 사용할 정렬 기준 (필수, 없으면 전체 데이터 기준으로 연산)예제: OVER()와 PARTITION BY의 사용1. 구매자별 총 구매 금액 계산하기각 구매자가 지금까지 구매한 총 결제 금액을 구할 때 OVER()과 PARTITION..