목록DB (5)
내 잡다한 노트
Join은 데이터베이스에서 여러 테이블의 데이터를 서로 연결하여 하나의 결과 집합으로 만드는 작업을 의미합니다. 테이블 간의 관계를 활용하여 관련 데이터를 조회할 때 사용됩니다.Join의 필요성관계형 데이터베이스는 데이터를 정규화하여 여러 테이블로 나누어 저장합니다. 따라서 필요한 데이터를 한 번에 조회하려면 각 테이블을 Join을 통해 연결해야 합니다.예를 들어:고객 정보는 customers 테이블에, 주문 정보는 orders 테이블에 분리되어 있을 때, 특정 고객이 한 주문 정보를 조회하려면 두 테이블을 Join해야 합니다.Join의 종류다양한 Join 유형이 있으며, 필요한 데이터를 어떤 방식으로 결합할지에 따라 선택됩니다.1. INNER JOIN (내부 조인)두 테이블에서 공통된 값이 있는 행만 ..
**데이터 정규화(Normalization)**는 데이터베이스 설계에서 중복을 최소화하고 데이터의 일관성을 유지하기 위해 데이터를 구조화하는 과정입니다. 정규화는 데이터를 여러 테이블로 나누고, 각 테이블을 논리적으로 연결하여 효율적이고 관리하기 쉬운 구조를 만듭니다.정규화의 목표데이터 중복 제거: 중복된 데이터를 줄여 저장 공간을 절약.데이터 무결성 보장: 데이터 변경 시 일관성을 유지.유연성 향상: 데이터 구조 변경 시 영향을 최소화.데이터 관리 용이성: 삽입, 삭제, 갱신 시 이상현상(Anomaly) 방지.정규화 단계정규화는 여러 단계로 이루어지며, 각 단계는 특정 규칙을 만족합니다. 주요 단계는 다음과 같습니다:1. 제1정규형 (1NF):모든 열이 **원자값(Atomic Value)**만 포함하도..
캐싱에서 갱신 방식은 캐시와 원본 데이터(예: 데이터베이스, 파일 시스템) 간의 동기화를 어떻게 처리할지 결정하는 중요한 요소입니다. 갱신 방식에 따라 데이터 일관성과 성능이 크게 달라질 수 있습니다. 아래에서 주요 갱신 방식의 동작 원리와 장단점을 더 자세히 설명하겠습니다. 1. Write Through개념: 데이터를 캐시에 쓰는(write) 동시에 원본 데이터에도 저장하는 방식입니다.작동 흐름:클라이언트가 데이터를 캐시에 저장 요청.캐시는 데이터를 저장한 후 원본 데이터베이스에도 동일한 데이터를 저장.캐시와 원본 데이터는 항상 동기화된 상태를 유지.장점:데이터 일관성이 높음(캐시와 원본 데이터가 항상 동일).데이터 유실 가능성이 낮음(캐시에 장애가 발생해도 데이터베이스에 데이터가 남아 있음).단점:쓰..
**트랜잭션(Transaction)**은 데이터베이스에서 하나의 논리적인 작업 단위를 의미합니다. 트랜잭션은 하나 이상의 작업(쿼리)을 묶어 하나의 작업처럼 처리하며, 데이터베이스의 무결성을 유지하기 위해 반드시 완전하게 수행되거나 전혀 수행되지 않아야 합니다. 트랜잭션의 구성트랜잭션은 다음과 같은 작업으로 구성됩니다:시작: 트랜잭션이 시작됩니다.작업 수행: 데이터베이스에서 SQL 명령(SELECT, INSERT, UPDATE, DELETE 등)을 실행합니다.커밋(Commit): 모든 작업이 성공적으로 완료되었음을 확인하고 변경 내용을 데이터베이스에 영구적으로 저장합니다.롤백(Rollback): 작업 중 오류가 발생하면 트랜잭션을 취소하고 데이터베이스를 이전 상태로 되돌립니다. 트랜잭션의 예1. 은행..
ACID 성질은 트랜잭션이 데이터 무결성을 보장하기 위해 따라야 할 4가지 핵심 속성을 의미. 1. Atomicity (원자성)트랜잭션에 포함된 작업은 모두 성공하거나 모두 실패해야 합니다.중간에 오류가 발생하면 트랜잭션은 실행되기 전 상태로 되돌아갑니다 (Rollback).예: 은행에서 계좌 A에서 B로 송금할 때, A의 돈이 빠져나갔지만 B에 입금되지 않으면 안 됩니다. 따라서 둘 중 하나라도 실패하면 전체 트랜잭션이 취소됩니다.2. Consistency (일관성)트랜잭션 전후에 데이터베이스의 상태가 항상 일관된 상태를 유지해야 합니다.데이터베이스가 정의한 제약 조건(Constraints, 예: Primary Key, Foreign Key 등)을 위반하지 않아야 합니다.예: 계좌의 총 잔액이 트랜잭션..