Programming/Database 2

[DB] DDL, DML, DCL

SQL 명령어는 목적에 따라 크게 DDL, DML, DCL 이렇게 세 가지로 분류된다. 개인적으로 글자도 비슷비슷해서 공부하면서 헷갈렸다...그래서 정리하기 위한 글을 작성해보기로 했다! 각각의 역할과 차이를 명확하게 이해해보자.DDL(Data Definition Language) - 데이터 정의어DDL은 데이터베이스의 구조를 정의하고 변경하는 명령어이다. 즉 테이블을 만들고 수정하고 삭제하는 작업이라고 생각하면 된다.-- 테이블 생성CREATE TABLE users ( id INT PRIMARY KEY, email VARCHAR(100) NOT NULL, role VARCHAR(20));-- 컬럼 추가ALTER TABLE users ADD COLUMN created_at TIME..

[DB] ACID 속성과 격리 수준에 따라 발생하는 문제점

트랜잭션의 ACID 속성이란 데이터베이스에서 트랜잭션(작업의 논리적 단위)의 안정성과 신뢰성을 보장하기 위해 반드시 충족되어야 하는 네 가지 핵심 원칙을 의미한다. 트랜잭션의 ACID 속성 - 원자성(Atomicity): 트랜잭션이 안전성 보장을 위해 가져야 할 성질 중의 하나로 시스템에서 한 트랜잭션의 연산들이 모두 성공하거나, 전부 실패되는 성질을 말한다. 즉, 트랜잭션 안의 작업들이 하나의 단위로 실행되고 중간에 오류가 발생하면 모두 롤백되어 이전 상태로 되돌아간다. - 일관성(Consistency): 데이터베이스의 상태가 일관되어야 한다는 성질로 하나의 트랜잭션 이전과 이후, 데이터베이스의 상태는 이전과 같이 유효해야 한다는 의미이다. 즉, 하나의 트랜잭션이 발생하고 난 후의 데이터베이스는 데이터..