5. 트랜잭션과 동시성 제어
트랜잭션 (Transaction) 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 작업 단위이다. 하나 이상의 SQL 문으로 구성되며, 전부 수행되거나 전부 수행되지 않아야 한다 (All or Nothing). ACID 속성 1. 원자성 (Atomicity) - 트랜잭션의 연산은 전부 반영되거나 전부 취소 - 중간 상태는 없음...
트랜잭션 (Transaction) 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 작업 단위이다. 하나 이상의 SQL 문으로 구성되며, 전부 수행되거나 전부 수행되지 않아야 한다 (All or Nothing). ACID 속성 1. 원자성 (Atomicity) - 트랜잭션의 연산은 전부 반영되거나 전부 취소 - 중간 상태는 없음...
개념 정렬된 배열에서 탐색 범위를 절반씩 줄여가며 원하는 값을 찾는 알고리즘이다. 핵심 아이디어 정렬된 배열: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] 찾는 값: 11 1단계: mid = (0+9)/2 = 4, arr[4] = 9 < 11 → 오른쪽 탐색 [_, _, _, _, _, 11, 13, 15,...
개념 덱(Deque, Double-Ended Queue)은 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료구조이다. 스택과 큐의 특성을 모두 갖는다 앞(front)과 뒤(rear) 모두에서 삽입/삭제가 O(1) push_front, push_back, pop_front, pop_back 연산 지원 슬라이딩 윈도우 최솟값/최댓값, 회문 ...
SQL 개요 SQL(Structured Query Language)은 관계형 데이터베이스를 관리하고 조작하기 위한 표준 언어다. SQL 분류 1. DDL (Data Definition Language) - 데이터 정의 CREATE, ALTER, DROP, TRUNCATE 2. DML (Data Manipulation Language) - ...
개념 비교 기반이 아닌 O(N) 시간의 정렬 알고리즘들이다. 비교 기반 vs 비비교 기반 분류 하한 원리 제약 비교 기반 Ω(N log N) 원소 간 대소 비교 없음 비비교 기반 ...
개념 큐는 FIFO(First In First Out) 원칙을 따르는 자료구조이다. 가장 먼저 삽입된 요소가 가장 먼저 삭제된다. 뒤(rear)에서 삽입, 앞(front)에서 삭제가 일어난다 enqueue/push: 요소 삽입 dequeue/pop: 요소 삭제 front: 맨 앞 요소 확인 BFS, 작업 스케줄링, 버퍼 관리 등...
DB 설계 과정 요구사항 분석 ↓ 개념적 설계 (ER 모델) ↓ 논리적 설계 (릴레이션 변환) ↓ 정규화 ↓ 물리적 설계 (인덱스, 저장 구조) ↓ 구현 ER 모델 (Entity-Relationship Model) 현실 세계를 개체(Entity)와 관계(Relationship)로 모델링하는 개념적 데이터 모델. 구성 요소 ...
개념 분할 정복(Divide and Conquer) 기반의 O(N log N) 정렬 알고리즘들이다. 분할 정복 패러다임 분할 (Divide): 문제를 작은 부분 문제로 나눔 정복 (Conquer): 부분 문제를 재귀적으로 해결 결합 (Combine): 부분 문제의 해를 합쳐 전체 해 도출 비교 기반 정렬의 하한 비교 기반 ...
개념 스택은 LIFO(Last In First Out) 원칙을 따르는 자료구조이다. 가장 나중에 삽입된 요소가 가장 먼저 삭제된다. 한쪽 끝(top)에서만 삽입과 삭제가 일어난다 push: 요소 삽입 pop: 요소 삭제 top/peek: 맨 위 요소 확인 함수 호출 스택, 수식 계산, 괄호 검사 등에 활용된다 핵심 연산 &a...
관계 데이터 모델 관계 데이터 모델(Relational Data Model)은 데이터를 2차원 테이블(릴레이션) 형태로 표현하는 논리적 데이터 모델이다. 1970년 E.F. Codd가 제안하였으며, 현재 가장 널리 사용되는 데이터 모델이다. 릴레이션의 구성 릴레이션 (Relation) = 테이블 ┌──────────────────────────...