SQLD

SQLD 개념정리 (관계형 데이터베이스 개요, DML, TCL)

chojdsj 2023. 11. 1. 10:42
728x90
INSERT

 

INSERT INTO 테이블명 (COLUMN_LIST) VALUES (COLUMN_LIST에 넣을 VALUE_LIST);

INSERT INTO 테이블명 VALUES(전체 COLUMN에 넣을 VALUE_LIST)

 

 

UPDATE

 

UPDATE 테이블명 SET 수정되어야 할 칼럼명 = 수정되기를 원하는 새로운 값;

 

 

 

DELETE

 

DELETE FROM 삭제를 원하는 정보가 들어있는 테이블명 WHERE 조건절;

 

 

 

- 사용자 Commit

 

 

 

SELECT

 

SELECT 칼럼명 FROM 테이블;

 

 

 

 

 

 

 

TCL(Transaction Control Language)

 

- 커밋(COMMIT) : 올바르게 반영된 데이터를 데이터베이스에 반영시키는 것,

                              Oracle은 DML문장 수행 후 사용자가 임의로 COMMIT 또는 ROLLBACK 수행해줘야 함,

                              SQL 서버는 기본적으로 AUTO COMMIT

 

- 롤백(ROLLBACK) : 트랜잭션 시작 이전의 상태로 되돌리는 것,

                                  테이블 내 입력한 데이터나, 수정한 데이터, 삭제한 데이터에 대하여 COMMIT 이전으로 되돌려 변경                                    사항을 취소할 수 있는데 데이터베이스에서는 롤백(ROLLBACK) 기능을 사용한다.

- 저장점(SAVEPOINT) : 저장점 기능,

                                       저장점을 정의하면 롤백 할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현 시점에서                                         SAVEPOINT 까지 트랜잭션의 일부만 롤백할 수 있다.

 

 

 

트랜잭션

 

- 트랜잭션 : 데이터베이스의 논리적 연산 단위

 

- 트랜잭션데이터베이스의 논리적 연산 단위이다. 트랜잭션(TRANSACTION)이란 밀접히 관련되어 분리될 수 없는 한 개 이상의 데이터베이스 조작을 가리킨다. 하나의 트랜잭션에는 하나 이상의 SQL문장이 포함된다.

 

- 트랜잭션은 분할할 수 없는 최소의 단위이다. 그렇기 때문에 전부 적용하거나 전부 취소한다.

 

- 트랜잭션 특성 : 원자성, 일관성, 고립성, 지속성

 

 

 

 

 

트랜잭션에 대한 격리성이 낮은경우 발생할 수 있는 문제점


1) Dirty Read : 다른 트랜잭션에 의해 수정되었지만 아직 커밋되지 않은 데이터를 읽는 것

2) Non-Repeatable Read : 한 트랜잭션 내에서 같은 쿼리를 두번 수행했는데, 그 사이에 다른 트랜잭션이 값을 수정 또는 삭제하는 바람에 두 쿼리 결과가 다르게 나타나는 현상

3) Phantom Read : 한 트랜잭션 내에서 같은 쿼리를 두번 수행했는데 첫번째 쿼리에서 없던 유령 레코드가 두번째 쿼리에서 나타나는 현상을 말한다.