이번 포스팅은 코드잇 스프린트 데이터 애널리스트 트랙 미션 15의 일환으로, 가상의 서비스 "Fandom-K"를 기반으로 데이터베이스 설계와 구현 과정을 실습한 내용을 정리한 것입니다.Fandom-K는 K-pop 아티스트와 팬을 연결하는 글로벌 조공 플랫폼입니다. 아직 서비스는 개발되지 않았으며, 와이어프레임(Wireframe)만 존재하는 상태에서, 데이터 인프라 설계를 담당하는 데이터 엔지니어의 역할을 맡아 데이터베이스를 설계하고 MySQL을 활용해 구현하는 과정을 진행했습니다. 🎵0. 미션 개요이번 미션은 데이터 모델링과 데이터베이스 구축 실습에 중점을 둡니다. 아래와 같은 단계를 통해 데이터베이스 설계와 구현을 체험했습니다.1. ERD 다이어그램 설계서비스 소개를 기반으로 필요한 테이블을 정의하고..
정규표현식SQL에서 정규표현식(Regular Expression, RegEx)은 문자열 데이터를 처리하거나 특정 패턴을 검색, 매칭, 치환하는 데 유용한 기능입니다. SQL의 정규표현식은 데이터베이스 엔진에 따라 지원 방식과 기능이 조금씩 다릅니다.SQL에서 정규표현식을 지원하는 주요 함수REGEXP_LIKE(): 특정 패턴과 일치하는지 확인.REGEXP_REPLACE(): 특정 패턴을 찾아 치환.REGEXP_SUBSTR(): 특정 패턴과 일치하는 하위 문자열 반환.REGEXP(): WHERE 절에서 패턴 매칭 (MySQL 8.0 이전).주요 정규표현식 함수1) REGEXP_LIKE()문자열이 특정 정규표현식 패턴과 일치하는지 확인합니다.SELECT column_nameFROM table_nameWHER..
PIVOT과 UNPIVOT은 SQL에서 데이터 형식을 변환하거나 재구성하는 데 사용되는 구문입니다. 이 구문은 데이터를 분석할 때 가독성과 효율성을 높이기 위해 열과 행을 변환하는 데 매우 유용합니다.PIVOTPIVOT은 행 데이터를 열로 변환하여 데이터를 요약하고 구조를 재구성할 때 사용됩니다.기본 구문SELECT *FROM table_namePIVOT ( aggregate_function(value_column) FOR pivot_column IN (value1, value2, value3, ...)) AS pivot_table;aggregate_function: 데이터를 요약하는 집계 함수 (예: SUM, AVG, COUNT 등).pivot_column: 행 데이터를 열로 변환할 기준이 ..
집합연산자SQL에서 집합 연산자(Set Operators)는 두 개 이상의 쿼리 결과를 결합하여 하나의 결과 집합으로 표시할 때 사용됩니다.(두 테이블에 대한 집합 연산(합집합, 교집합 등)을 수행하는 연산자)MySQL에서는 주로 UNION, UNION ALL, INTERSECT, EXCEPT(또는 MINUS) 연산자를 통해 이러한 작업을 수행할 수 있습니다.특정한 기준키 없이 두 테이블의 레코드들에 대해서 합집합과 교집합 연산을 수행하므로 두 테이블의 칼럼 구성, 스키마가 동일해야 합니다.UNIONUNION 연산자는 두 쿼리의 결과 집합을 결합하면서 중복된 데이터를 제거합니다. 결과에는 중복되지 않는 고유한 행만 표시됩니다.UNION을 실행하면, 한쪽 테이블 내에서의 중복까지 제거가 됩니다.SELECT..
IF/IFNULL 함수IF 함수IF 함수는 특정 조건에 따라 다른 값을 반환할 때 사용됩니다. 단일 조건뿐 아니라 여러 조건을 다룰 때 중첩된 IF를 사용할 수 있습니다. 기본 구문IF(조건, 참일 때 반환 값, 거짓일 때 반환 값) 단일 조건 예시 직원 테이블에서 급여(salary)가 70000 이상인 경우 ‘High’, 그렇지 않으면 ‘Low’로 표시하는 예시입니다.SELECT employee_name, salary, IF(salary >= 70000, 'High', 'Low') AS salary_levelFROM employees;salary가 70000 이상이면 salary_level 열에 'High'가 표시되고, 그렇지 않으면 'Low'가 표시됩니다.다중 조건 (중첩된 IF) 예..