728x90 IT개발/Tech Notes28 트랜잭션과 락(Lock), 개념부터 차이까지 한 번에 정리 데이터베이스를 설계하거나 다룰 때 반드시 알아야 할 개념이 바로 트랜잭션과 락이다.두 개념은 혼동되기 쉬우나, 각각의 역할과 목적은 명확히 다르다.✅ 트랜잭션(Transaction)이란?데이터베이스에서 하나의 논리적 작업 단위모두 성공하거나, 모두 실패해야 한다 (All or Nothing)4가지 특성 ACID를 만족해야 한다Atomicity(원자성): 전부 성공하거나 전부 실패Consistency(일관성): 작업 전후 데이터의 일관성 유지Isolation(고립성): 동시에 실행돼도 각 트랜잭션은 독립Durability(지속성): 완료된 트랜잭션은 영구 반영https://time-memorizer.tistory.com/272 ACID란? 트랜잭션의 4가지 특성 완벽 이해데이터베이스에서 트랜잭션(Trans.. 2025. 5. 2. 정규화란? 제1정규형부터 제3정규형까지 쉽게 정리 **정규화(Normalization)**란 데이터베이스에서 중복을 제거하고 논리적으로 데이터를 정리하는 과정이다.정규화는 관계형 데이터베이스 설계의 기본이며, 실무와 정보처리기사 시험 모두에서 필수 개념이다.✅ 정규화가 필요한 이유데이터 중복을 방지데이터 무결성을 유지테이블 구조를 단순화변경 이상(삽입, 삭제, 갱신 이상) 방지✅ 제1정규형 (1NF)정의: 모든 속성의 값이 **원자값(Atomic value)**이어야 한다.예시:잘못된 형태: 취미 = 독서, 여행올바른 형태: 취미 = 독서, 취미 = 여행핵심: 하나의 컬럼에 하나의 값만 존재해야 한다.✅ 제2정규형 (2NF)정의: 부분 함수 종속 제거조건: 1NF를 만족하면서, 기본키가 복합키인 경우, 기본키의 일부에만 종속된 속성은 분리해야 한다.예시.. 2025. 5. 1. ACID란? 트랜잭션의 4가지 특성 완벽 이해 데이터베이스에서 트랜잭션(Transaction)은 하나의 논리적 작업 단위를 의미한다.예를 들어, 은행 계좌 이체처럼 ‘출금 + 입금’이 동시에 일어나야 하는 작업이 트랜잭션이다.이 트랜잭션이 안전하게 처리되려면 ACID 네 가지 특성을 만족해야 한다.✅ 1. Atomicity (원자성)트랜잭션 내의 작업은 모두 성공하거나, 전부 실패해야 한다.중간에 하나라도 실패하면 전체 작업을 롤백해야 한다.📌 예시:A 계좌에서 10만 원 출금 + B 계좌에 10만 원 입금 → 둘 중 하나라도 실패하면 전체 취소✅ 2. Consistency (일관성)트랜잭션 전후에 데이터베이스의 무결성 제약 조건이 유지되어야 한다.모든 제약 조건을 만족하며, 유효한 상태로 전환되어야 한다.📌 예시:A 계좌와 B 계좌의 총합은 항.. 2025. 5. 1. 관계 대수와 관계 해석의 차이, SQL과 무슨 관련이 있을까? 데이터베이스에서 질의를 표현하는 방법은 크게 **관계 대수(Relational Algebra)**와관계 해석(Relational Calculus) 두 가지가 있다.둘 다 원하는 데이터를 추출하는 방법이지만, 표현 방식과 개념이 다르다.✅ 관계 대수란?관계 대수는 데이터를 어떻게 처리할지를 단계적으로 정의하는 방식이다.즉, 절차적 언어로 테이블 간의 연산 과정을 명시한다.예를 들어, 두 테이블을 조인하거나 조건을 걸어 필터링하는 작업이 모두 관계 대수 연산이다.📌 주요 연산σ(Selection): 조건에 맞는 튜플 선택 → σ(age > 20)(Student)π(Projection): 특정 속성 추출 → π(name, age)(Student)∪, ∩, −: 집합 연산×(카티션 프로덕트)⨝(조인)✅ 관계 .. 2025. 5. 1. Paging vs Segmentation – 메모리 관리 기법 완전 비교 운영체제는 한정된 메모리를 효율적으로 관리하기 위해 다양한 기법을 사용한다.그중 가장 대표적인 방식이 바로 **Paging(페이징)**과 **Segmentation(세그멘테이션)**이다.이 두 개념은 정보처리기사, NCS 필기, IT 면접에서도 자주 등장한다.✅ Paging이란?Paging은 메모리를 **고정된 크기의 페이지(Page)**로 나누는 방식이다.프로세스의 논리 주소 공간도 동일한 크기의 페이지로 나뉘며,물리 메모리는 프레임(Frame)이라는 동일한 크기의 블록으로 구성된다.📌 주요 특징고정 크기 블록 단위로 분할논리 주소 → 물리 주소 변환 시 페이지 테이블 사용외부 단편화 없음 (단, 내부 단편화 존재 가능)주소 계산이 단순하고 빠름📚 예시사용자의 프로그램이 16KB고, 페이지 크기가 .. 2025. 4. 30. Deadlock(교착 상태) 완전 정리 - 발생 조건과 해결 방법까지 운영체제를 공부하다 보면 반드시 마주치는 개념이 있다.바로 **Deadlock(교착 상태)**이다.프로세스 간 자원 공유로 인해 시스템 전체가 멈춰버리는 상황을 설명한다.✅ Deadlock(교착 상태)란?Deadlock은 둘 이상의 프로세스가 서로가 점유하고 있는 자원을 기다리면서,영원히 대기 상태에 빠지는 상황을 의미한다.이 상태에 빠지면 어떠한 프로세스도 작업을 진행할 수 없게 된다.✅ 실생활 예시로 이해하기프린터를 점유하고 있는 A 프로세스와, 스캐너를 점유하고 있는 B 프로세스를 생각해보자.A는 스캐너를 기다리고, B는 프린터를 기다리는 상황이라면,둘 다 서로의 자원을 기다리기만 하면서 아무 작업도 진행되지 않는다.이것이 바로 Deadlock이다.✅ 교착 상태 발생 조건 (4대 조건)Deadloc.. 2025. 4. 29. 이전 1 2 3 4 5 다음 728x90