썸네일 데이터 마이그레이션 SQL 쿼리 (3) Grouping Count 및 Unique Count 💾 데이터 마이그레이션 전, 현재 상황 파악하기 (SQL 조회) 데이터베이스에서 중요한 작업을 시작하기 전에는 "지금 상태가 어떤지"를 정확히 확인해야 합니다.이 과정은 이사를 가기 전에 각 방에 짐이 얼마나 있는지 세어보는 것과 같습니다.우리가 사용할 두 가지 SELECT 쿼리는 바로 이 '짐 세기' 작업을 수행하는 도구입니다. 1. 쿼리: 각 프로젝트별 현재 자료 개수 세기이 쿼리는 마이그레이션 대상 그룹 내에서 각각의 시계열 프로젝트가 현재 몇 개의 어노테이션 자료를 가지고 있는지를 확인합니다.📝 쿼리 내용SELECT A.time_project_id, COUNT(*) AS annotation_countFROM database.annotation AWHERE A.time_pr..
썸네일 데이터 마이그레이션 SQL 쿼리 (2) INSERT INTO + NOT EXISTS 💾 데이터베이스와 SQL: 개념 설명1. 데이터베이스 (Database)란 무엇인가요?쉽게 설명: 데이터베이스는 정보를 체계적으로 정리하고 저장해 두는 '전자식 파일 캐비닛' 또는 '초대형 엑셀 파일'이라고 생각할 수 있습니다.역할: 데이터베이스 안에는 고객 목록, 상품 재고, 또는 우리가 다루는 '프로젝트 정보'와 같은 중요한 데이터가 테이블(Table) 형태로 저장되어 있습니다.2. SQL (Structured Query Language)이란 무엇인가요?쉽게 설명: SQL은 이 데이터베이스라는 파일 캐비닛에게 "내가 원하는 정보를 찾아와, 수정해 줘, 또는 새로 넣어 줘" 라고 명령하는 데 사용하는 '언어'입니다.역할: 복잡한 명령어를 사용하지 않고, 정해진 문법대로 요청하면 데이터베이스가 그 요청..
썸네일 데이터 마이그레이션 SQL 쿼리 (1) Self Join 예시 쿼리SELECT T1.id AS source_time_project_id, T2.id AS target_time_project_id, T1.project_id AS master_project_idFROM database.time_project T1JOIN database.time_project T2 ON T1.project_id = T2.project_idWHERE T1.id T2.id AND T1.project_id = 99; 쿼리의 전체 목적목적: 마스터 project_id가 99인 그룹에 속한 모든 Time Project ID(id)들이 서로 데이터를 주고받을 수 있는 관계를 파악하는 것입니다.활용: 이는 실제 데이터 마이그레이션(INSERT 작업)을 수행하..
썸네일 PostgreSQL Primary Key serial4 속성 해제: DROP DEFAULT/DROP SEQUENCE 테이블의 기본 키(Primary Key)로 자주 사용되는 serial4 타입 컬럼을 일반 int4 타입 컬럼으로 되돌리는 작업에 대해 설명하고 정리하려고 합니다.개발 중 실수로 serial4 타입 컬럼을 생성했거나, 기존 테이블의 자동 증가(Auto Increment) 기능을 제거하고 싶을 때가 있습니다.이 포스팅은 PostgreSQL에서 기본 키로 자주 사용되는 serial4 컬럼을 순수한 int4 타입으로 되돌리는 2단계 과정을 자세히 설명합니다. 1. 🔑 serial4 타입, 그 정체를 파헤치다PostgreSQL에서 serial4는 실제 데이터 타입을 넘어서는 편리한 가상 타입입니다. 이 키워드를 사용하면 데이터베이스가 자동으로 다음 세 가지 구성 요소를 한 번에 처리해 줍니다.1. 컬럼 타입: ..
썸네일 [DB 기초] COMMIT, ROLLBACK? 은행처럼 안전한 데이터 처리를 위한 트랜잭션(Transaction) 개념 [DB 기초] COMMIT, ROLLBACK? 은행처럼 안전한 데이터 처리를 위한 트랜잭션(Transaction) 개념데이터베이스 작업을 하다 보면 "트랜잭션(Transaction)"이라는 단어를 자주 듣게 됩니다. 단순히 데이터를 INSERT하고 UPDATE하는 것과는 조금 다른, 중요한 개념인데요. 오늘은 이 트랜잭션이 무엇인지, 그리고 COMMIT과 ROLLBACK은 언제 어떻게 사용되는지 알아보겠습니다.트랜잭션(Transaction)이란? 🏦트랜잭션은 하나의 논리적인 작업 단위로 묶인 일련의 데이터베이스 연산(SQL 쿼리)들을 의미합니다.가장 쉬운 예시는 은행의 계좌 이체입니다. A가 B에게 10,000원을 보낸다고 상상해 보세요. 이 과정은 데이터베이스에서 다음과 같이 두 단계로 이루어집니다...
썸네일 SQL과 데이터베이스: 스키마와 테이블 기초 개념 정리 데이터베이스(DB) 기본 개념 및 스키마데이터베이스는 단순히 데이터를 저장하는 곳을 넘어, 체계적으로 데이터를 관리하고, 효율적으로 접근하며, 필요한 정보를 추출할 수 있도록 돕는 시스템입니다.1. 데이터베이스(Database)란?데이터베이스(DB)는 체계적으로 조직화된 데이터의 집합입니다. 단순히 파일 형태로 저장하는 것을 넘어, 특정 규칙과 구조에 따라 데이터를 저장하고 관리하며, 필요할 때 빠르게 검색, 수정, 삭제할 수 있도록 돕는 시스템입니다.예를 들어, 쇼핑몰의 데이터베이스에는 고객 정보, 상품 정보, 주문 정보 등이 서로 연결되어 저장될 수 있습니다.데이터베이스를 사용하는 이유:데이터의 효율적인 저장 및 관리: 방대한 데이터를 구조화하여 저장하고, 일관성을 유지할 수 있습니다.데이터 중복 최..