블로그 이미지
가야금마스터

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

Tag

'DB/DB용어'에 해당되는 글 2

  1. 2015.03.17 트랜잭션(TRANSACTION)
  2. 2015.03.17 DB 기본 용어 (SQL, DDL, DML, DCL, TCL)1
2015. 3. 17. 17:46 DB/DB용어
트랜잭션 (TRANSACTION)

데이터베이스 내에서 한꺼번에 수행되어야할 일련의 연산들 입니다.
간단하게 말하자면 전부 되거나~~ 전부 안되거나~~

트랙잭션 의 모든 연산은 반드시 한꺼번에 완료가 되야 하며
 그렇지 않은경우에는 한꺼번에 취소되어야 하는 원자성을 가지고 있습니다

한꺼번에 완료가 된경우에는 성공적인 종료 COMMIT 

이 경우에는 작업결과는 데이터베이스에 반영이 되게 됩니다.

취소가 된경우에는 비정상적인 종료 ROLLBACK 

이 경우에 작업결과는 모두 취소되게 되어 데이터베이스에 영향을 미치지 않게 됩니다. 



이 트랙잭션에 성질들을 보게되면 

1. 원자성(Atomicity)

분리 할수 없는 하나의 단위로 작업은 모두 완료되거나 모두 취소 되어야 합니다.

2. 일관성(Consistency)

- 사용되는 모든 데이터는 일관되어야 합니다.

3. 격리성(Isolation)

 - 접근하고 있는 데이터는 다른 트랜잭션으로 부터 격리 되어야 합니다.

트랜잭션이 진행되기전과 완료된 후에 상태를 볼수 있지만

트랜잭션이 진행되는 중간 데이터는 볼수 없습니다.

4. 영속성(Durability)

- 트랙잭션이 정상 종료되면 그 결과는 시스템에 영구적으로 적용되어야 합니다.

5. 순차성(Sequentiality)

- 데이터를 다시 로드하고 트랜잭션을 재생하여 원래 트랜잭션이 수행된 후의 상태로

 데이터를 되돌리는 것을 말합니다.


트랙잭션의 예를 하나 들어 이해를 해볼게요ㅎㅎ


저는 카드하나를 들고서 은행 인출기 앞으로 갑니다.

처음에     카드를 넣습니다

두번째로     어떤거래를 할지 선택을하고

세번째로     비밀번호를 눌러 인증을 받고

네번째로     거래를 완료 하겠죠

이 네가지 과정을 묶어서 트랜잭션이라고 합니다.


거래까지 완료됬으면 COMMIT 

중간에 비밀번호를 틀리거나.. 인증을 받았는데 거래를 취소하거나 하는 일이

 발생해서 처음으로 돌아갈경우에는 ROLLBACK 이라고 합니다.




출처 : http://121202.tistory.com/17


'DB > DB용어' 카테고리의 다른 글

DB 기본 용어 (SQL, DDL, DML, DCL, TCL)  (1) 2015.03.17
posted by 가야금마스터
2015. 3. 17. 17:42 DB/DB용어

SQL

SQL (Structured Query Language) 은 구조적인 질의 언어라는 것이다.

이 SQL 이라는 질의 언어를 통해서 데이터베이스를 제어, 관리한다.


SQL 은 다음 언어로 나눌 수 있다.


⒜ DDL : 데이터 정의 언어 

⒝ DML : 데이터 조작 언어

⒞ DCL : 데이터 제어 언어


DDL

DDL (Data Definition Language) 는 데이터 베이스 스키마를 정의 하거나 조작하기 위해 사용한다.

SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를 다음 명령어로 정의, 변경, 삭제한다.


⒜ CREATE : 정의 

⒝ ALTER: 수정

⒞ DROP : 삭제

⒟ TRUNCATE : DROP 후 CREATE


* Oracle 11g 이전 버전과 MySQL은 DDL에 대해서 트랜잭션을 지원하지 않는다.

(Rollback 할 수 없고 Commit할 필요도 없다.)


DML

DML (Data Manipulation Language) 는 데이터를 조작 (조회, 추가, 변경, 삭제) 하기 위해 사용한다.

사용자가 응용 프로그램과 데이터 베이스 사이에 실질적인 데이터 처리를 위해서 주로 사용한다.


SELECT : 조회

⒝ INSERT : 추가

⒞ DELETE : 삭제

⒟ UPDATE : 변경


기본적인 위의 명령어 외에 LOCK, EXPLAIN, CALL 등도 DML에 포함 된다.


DQL

일부에서는 DML에서 SELECT 만을 따로 분리해서 DQL (Data Query Language) 나 

간단히 QUERY 로 표현하기도 한다.


DCL

DCL (Data Control Language) 는 데이터를 제어하는 언어이다.

데이터의 보안, 무결성, 회복, 병행 수행제어 등을 정의하는데 사용한다.


⒜ COMMIT : 트랜잭션의 작업 결과를 반영 

⒝ ROLLBACK : 트랜잭션의 작업을 취소 및 원래대로 복구

⒞ GRANT : 사용자에게 권한 부여

⒟ REVOKE : 사용자 권한 취소


TCL

일부에서는 DCL 에서 트랜잭션을 제어하는 명령인 COMMIT 과 ROLLBACK 만을 따로 분리해서 TCL (Transaction Control Language) 라고 표현하기도 한다.

'DB > DB용어' 카테고리의 다른 글

트랜잭션(TRANSACTION)  (0) 2015.03.17
posted by 가야금마스터
prev 1 next