ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2.8 SQL 트랜잭션, 데이터베이스, 트렌잭션 제어필요성
    SQL 과정 2019. 2. 8. 11:52

    1. 트랜잭션

     가. 데이터베이스 관리 시스템의 주요장점인 데이터의 일관성과 무결성을 보장하기 위해서는 

     반드시 트랜잭션 관리가 필요하다.

     나. 트랜잭션은 데이터베이스 내에서 하나의 그룹으로 처리해야 하는 명령문들들 모아놓은 작업 단위를 의미

     다. 트랜잭션 내의 모든 처리 대상 명령문들은 반드시 완전히 수행되어야 하며

     라. 만약, 모두 완전히 수행되지 않고 어느한 문장이라도 에러가 발생하였다면 트랜잭션으로 

     묶인 전체 명령문은 모두 최소 된다.(ALL-or-Nothing방식)

     마. Oracle에서는 이러한 트랜잭션 제어를 위한 명령어로 COMMIT, SAVEPOINT, ROLLBACK이 제공

     바. 프로그램 소스에서 트랜잭션 형식

       1) 한 트랜잭션을 프로그래밍 언어나 DML(데이터 조작언어)로 개발된 사용자 프로그램 소스에서 표현하는 

      형식

       2) 하나의 트랜잭션은 Begin_transaction과 End_transaction 그룹 안에서 실행되는 모든 명령문들을 말한다.

     사. 트랜잭션의 단위

       1) 시스템에서 장애 발생시 복구작업을 하게 될때 사용

       2) 병행 제어시 처리되는 논리적인 작업단위에 사용

       3) 각 트랜잭션이 데이터베이스 내에서 일관성과 무결성을 유지하기 위해서는 여러 개의 트랜잭션 단위를 

      잘 정의해야한다.

       4) 트랜잭션이 잘 정의되었는지의 책임은 프로젝트 설계자 및 어플리케이션 개발자의 책임


    2. 데이터 베이스

     가. 데이터를 영속적으로 저장할수 있는 공간

     나. 테이블

       1) 데이터 베이스에서 데이터가 모이는 집합공간

       2) SELECT, INSERT, UPDATE, DELETE같은 쿼리문으로 제어 가능


     다. A.C.I.D



    3. 트랜잭션 제어의 필요성

     가. 트랜잭션의 4개의 SQL문장이 정의되어 있다.(예시)

     나. 트랜잭션의 한 묶음인 이 4개의 모든 문장이 정상 수행이 되어야만 데이터베이스 내에 

     원하는 결과가 반영된다.

     다. 그러나 2번째 작업단위의 SQL문장까지만 정상 수행되고 3번 작업의 SQL문장이 수행되는 도중 프로그램

     이 중단되거나 하드웨어 이상, 고장 발생시 이제까지 작업한 2번까지의 모든 작입 취소 되면서 트랜잭션 

     작업 전 데이터베이스 상태로 돌아가게 된다.

     라. 오라클에서는 이러한 트랜잭션 제어를 위한 명령어를 제공한다.





Designed by Tistory.