DB 3

[DB] Transaction, ACID

1. 트랜잭션(Transaction)이란?트랜잭션은 하나의 논리적 작업 단위를 말하며, 이 단위 내의 작업이 모두 성공하거나 모두 실패해야 하는 작업 집합.데이터베이스에서는 일관성 있는 상태를 유지하기 위해 반드시 필요한 개념.트랜잭션은 단순히 작업 하나가 아니라, 여러 작업(작업1 → 2 → 3)을 묶은 것.2. ACID란?데이터베이스 관리 시스템(DBMS)에서 트랜잭션 처리의 신뢰성을 보장하기 위한 네 가지 주요 속성.데이터의 정확성과 일관성을 유지하면서 데이터베이스 시스템이 다양한 오류 상황에서도 신뢰성 있게 동작할 수 있도록 해준다.2-1. A (Atomicity/원자성)트랜잭션의 연산은 모두 성공적으로 실행되거나 아무것도 실행되지 않아야 함을 의미한다.즉, 트랜잭션 내의 모든 작업이 완료되거나,..

DB 2026.01.14

[DB] 정규화, 역정규화

1. 정규화 (Normalization)정규화(Normalization)란 관계형 데이터베이스 설계에서 데이터의 중복을 최소화하고, 무결성을 보장하기 위해 데이터를 구조화하는 프로세스를 말합니다.잘못 설계된 테이블 속성 간의 종속성을 제거하여, 데이터가 중복되거나 이상 현상이 생기지 않도록 테이블을 분해하는 과정입니다.→ "데이터를 성격에 맞게 가장 작은 단위로 깔끔하게 쪼개는 작업"입니다. 1-1. 제1 정규형 (1NF)테이블의 컬럼 값은 반드시 원자값(Atomic Value)이어야 하며, 반복되는 그룹(Repeating Group)이 존재해서는 안 된다.→ "칸 하나에 값 하나만 담아라."원자값(Atomic Value) 확보: 한 컬럼에 여러 개의 값이 들어간 경우(예: 수업 컬럼에 '헬스, 골프'..

DB 2026.01.06

[DB] DDL, DML, DCL

📖데이터베이스 언어(SQL)는 그 목적과 기능에 따라 크게 정의어(DDL), 조작어(DML), 제어어(DCL)로 분류됩니다.DDL(Data Definition Language): 데이터를 담는 그릇(Column/스키마)을 만들거나 제거하는 언어DML(Data Manipulation Language): 그릇에 담긴 내용물(Row/데이터)을 넣고 빼고 수정하는 언어DCL(Data Control Language): 그릇에 손을 댈 수 있는 사람(User/권한)을 정하는 언어 1. DDL (Data Definition Language, 데이터 정의어) "데이터의 그릇(Structure)을 만드는 언어"데이터베이스의 골격(Schema)을 정의하거나 수정할 때 사용합니다.테이블의 컬럼(Column), 데이터 타입..

DB 2026.01.05