본문 바로가기

안녕하세요!

SQLD

[ SQLD ] TCL(Transaction Control Language)

TCL TCL(Transaction Control language)는Transaction을 제어하는 명령어로COMMIT, ROLLBACK, SAVEPOINT 등이 있다.여기서 TRANSACTION이란더 이상 쪼개질 수 없는 업무 처리의 단위이다. 특징설명원자성(Atomicity)Transaction이 묶여 있는 동작들은 모두 성공하거나 실패해야 함일관성(Consistency)Transaction이 완료된 이후에도 계산된 결괏값 등, DB의 Data에 일관성이 있어야 함고립성(Isolation)하나의 Transaction은 한 고객에게 할당된 제품은 구매 불가능한 것처럼 고립되어 수행되어야 함지속성(Durability)Transaction이 성공적으로 수행되었을경우, Transaction이 변경한 Data..

더보기
SQLD

[ SQLD ] SQL 삭제 문(DROP, TRUNCATE, DELTE) 비교

DROP TABLETRUNCATE TABLEDELETE FROMDDLDDL(+DML)DMLAuto CommitAuto CommitUser CommitROLLBACK 불가능ROLLBACK 불가능Commit 전에 ROLLBACK 가능Table의 모든 Data 삭제Table의 모든 Data 삭제Table의 모든 Data 삭제Disk 초기화(= 로그 제거)Disk 초기화(= 로그 제거) Disk 초기화(= 로그 유지) Schema 정의까지 모두 삭제Table Schema 구조 유지Table Schema 구조 유지   [ SQLD ] DML(Data Manipulation Language)DML DML(Data Manipulation Language)은SELECT, INSERT, UPDATE, DELETE 등으로..

더보기
SQLD

[ SQLD ] DML(Data Manipulation Language)

DML DML(Data Manipulation Language)은SELECT, INSERT, UPDATE, DELETE 등으로DB 내의 Data를 조작하는 데에 사용돤다.DML은 Host 프로그램 속에 삽입되어 사용하기에,데이터 부속어(Data Sub Language)라고도 불리우기도 한다. INSERT INSERT INTO TESTTABLE (ID, NAME, AGE, COUNTRY) VALUES(1, 'DERRIK', 32, 'KOREA'); UPDATE UPDATE TESTTABLE SET AGE = 23 WHERE NAME = 'DERRIK'; DELETE DELETE FROM TESTTABLE WHERE NAME = 'DERRIK'; SELECT SELECT DISTINCT AGE FROM TE..

더보기
SQLD

[ SQLD ] DDL(Data Definition Language)

DDL DDL(Data Definition Language)은Schema와 Domain, Table, View, Index를 정의 및 변경, 제거할 때 사용한다.DDL의 경우, Auto COMMIT 되기 때문에DDL이 수행되면 ROLLBACK이 되어도 데이터는 COMMIT 된다. CREATE TABLE AS CREATE TABLE TESTTABLE AS SELECT COLUMN1, COLUMN2, ... FROM EXAMPLETABLE WHERE ... CREATE TABLE AS 문장을 사용하는 경우,테이블의 구조를 복하기 때문에 별도로 작성할 필요가 없다.다만, NOY NULL과 일부 제약 조건만 복사가 된다.PK, FK, UNIQUE, CHECK 등의 제약 조건은 복사되지 않으므로 다시 적용해..

더보기
SQLD

[ SQLD ] Row Migration / Row Chaining / Partitioning

로우 마이그레이션 로우 마이그레이션은데이터 블록에서 수정이 발생 하였을 때수정된 데이터를 해당 블록에 저장하지 못하고다른 블록에 있는 빈 공간을 찾아 저장하는 방식이다. 이순신최민식거북선-----------------------------------이순신강강술래   "이순신"을 "강강술래"으로 UPDATE 하였을 때행의 길이가 증가하면서 저장 공간이 부족해진다.이때 원래 정보를 기존 블록에 남겨두고실제 데이터는 다른 블록에 저장하게 되는데,데이터 조회 시 기존 블록에서 주소를 먼저 읽고 다른 블록을 찾아야 하므로성능이 감소될 수밖에 없어진다. 로우 체이닝 로우 체이닝이란,행 길이가 길어서 데이터 블록 하나에 데이터를 모두 저장하지 않고,두 개 이상의 블록에 걸쳐서 하나의 로우를 저장하는 형태이다. O O..

더보기