1. SQL 소개 및 종류

구분 설명 주요 명령어 예시
SQL이란? 데이터베이스를 관리하고 조작하기 위한 언어. -
SQL 종류 데이터베이스 작업의 목적에 따라 3가지로 구분: -
DDL 데이터 정의 언어: 데이터 구조(스키마)를 정의하고 수정. CREATE, ALTER, DROP
DML 데이터 조작 언어: 데이터를 검색, 삽입, 수정, 삭제. SELECT, INSERT, UPDATE, DELETE
DCL 데이터 제어 언어: 데이터 접근 권한과 트랜잭션 관리. GRANT, REVOKE, COMMIT, ROLLBACK

2. DDL (데이터 정의 언어)

명령어 설명 예시
CREATE TABLE 새 테이블을 생성. CREATE TABLE students (id INT, name VARCHAR(50));
ALTER TABLE 기존 테이블의 구조를 변경. ALTER TABLE students ADD age INT;
DROP TABLE 기존 테이블을 삭제. DROP TABLE students;

3. DML (데이터 조작 언어)

명령어 설명 예시
SELECT 데이터를 조회. SELECT * FROM students;
INSERT INTO 데이터를 삽입. INSERT INTO students (id, name) VALUES (1, 'Alice');
UPDATE 데이터를 수정. UPDATE students SET name = 'Bob' WHERE id = 1;
DELETE FROM 데이터를 삭제. DELETE FROM students WHERE id = 1;
ORDER BY 조회 결과를 정렬. SELECT * FROM students ORDER BY name ASC;
GROUP BY 데이터를 그룹화하여 결과를 반환. SELECT age, COUNT(*) FROM students GROUP BY age;
JOIN 여러 테이블의 데이터를 결합. SELECT students.name, grades.grade FROM students JOIN grades ON students.id = grades.sid;

4. 트랜잭션 관리 (DCL)

명령어 설명 예시
BEGIN 새로운 트랜잭션을 시작. BEGIN;
COMMIT 트랜잭션을 성공적으로 종료 및 데이터베이스에 반영. COMMIT;
ROLLBACK 트랜잭션 실행 내용을 취소하고 이전 상태로 되돌림. ROLLBACK;
GRANT 특정 사용자에게 데이터베이스 작업 권한 부여. GRANT SELECT, INSERT ON students TO user1;
REVOKE 특정 사용자에게 부여된 권한 철회. REVOKE SELECT ON students FROM user1;

5. 트랜잭션의 주요 특징

  • 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위를 말합니다.
  • 요리로 치면 조리대를 의미하며 재료(데이터)들을 조회하여 생성/수정/삭제 후 최종 결과물을 만들때까지 하나의 작업을 트랜잭션으로 관리 할 수 있으며, 트랜잭션은 조리(데이터 처리) 중에 문제가 발생시 그전에 했던 변경을 아무일 도 없던것처럼 모두 되돌립니다.

특징  설명
원자성 트랜잭션은 완전히 수행되거나 전혀 수행되지 않아야 함.

트랜잭션은 사람이 설계한논리적인 작업 단위로서, 일처리는 작업단위 별로 이루어 져야 사람이 다루는데 무리가 없다. => 이렇게 안하면? 오작동 했을시 원인을 찾기가 매우 힘들어질것이다. 
일관성 트랜잭션 수행 전후 데이터베이스는 항상 일관된 상태를 유지.

트랜잭션이 진행되는 동안에 데이터베이스가 변경 되더라도 업데이트된 데이터베이스로 트랜잭션이 진행되는것이 아니라,처음에 트랜잭션을 진행 하기 위해 참조한 데이터베이스로 진행된다. 
독립성 각 트랜잭션은 다른 트랜잭션의 영향을 받지 않음.

6. 트랜잭션 관리 요약

  • 조리대 트랜잭션 관리: 조리대에서의 사고(다른 요리재료와 섞이거나, 잘못 버려지는것)를 방지하기 위해 BEGIN, COMMIT, **ROLLBACK**으로 트랜잭션을 관리하는 방법을 배웁니다.
  • 접근 권한 설정하기: **GRANT**와 **REVOKE**로 누가 주방에 들어와서 요리를 할 수 있는지를 관리하는 방법을 배웁니다.
상황 명령어 설명
트랜잭션 시작 BEGIN 새로운 트랜잭션 시작.
작업 완료 및 반영 COMMIT 트랜잭션 성공적으로 완료 후 변경 내용을 영구 반영.

이 연산을 사용하면 수행했던 트랜잭션이 로그에 저장되며, 후에 Rollback 연산을 수행했었던 트랜잭션단위로 하는것을 도와준다.
작업 취소 ROLLBACK 트랜잭션 실행 내용을 취소하고 이전 상태로 복원.

 

'DB > DBMS' 카테고리의 다른 글

[JPA] DB[JPA] 정리  (0) 2025.01.24
[DBMS] H2 (가벼운 오픈소스 관계형 DB 관리 서비스)  (0) 2025.01.23
[DB] DB (Database)  (1) 2024.12.21

+ Recent posts