Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
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
Tags
more
Archives
Today
Total
관리 메뉴

개발이글스

[정처기 실기]6-1 데이터베이스 기본 본문

Others/정보처리기사

[정처기 실기]6-1 데이터베이스 기본

지윤이글스 2024. 10. 13. 14:47

📚 트랜잭션

📙트랜잭션

🏷️트랜잭션 개념

        ➡️ 트랜잭션은 인가받지 않은 사용자로부터 데이터를 보장하기 위해 dbms가 가져야하는 특성이자, 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본단위이다.

 

🏷️트랜잭션 개념

      1️⃣ 원자성(Atomicity): 트랜잭션을 구성하는 연산 자체가 모두 정상적으로 실행되거나 모두 취소되어야 하는 성질

      2️⃣ 일관성(Consistency): 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야하는 성질

      3️⃣ 격리성(Isolation): 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다는 성질

      4️⃣ 영속성(Durability): 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질

 

🏷️트랜잭션 상태 변화

      1️⃣ 활동상태

      2️⃣ 부분완료상태

      3️⃣ 완료상태

      4️⃣ 실패상태

      5️⃣ 철회상태

 

🏷️트랜잭션 제어언어 (TCL)

      1️⃣커밋

      2️⃣롤백

      3️⃣체크포인트

 

🏷️병행제어 개념

       ➡️ 병행제어는 다수 사용자 환경에서 여러 트랜잭션을 수행할 때, 데이터베이스 일관성 유지를 위해 상호작용을 제어하는 기법이다.

 

🏷️병행제어 미보장 시 문제점

      1️⃣ 갱신손실: 먼저 실행된 트랜잭션의 결과를 나중에 실행된 트랜잭션이 덮어 쓸 때 발생하는 오류

      2️⃣ 현황 파악오류: 트랜잭션의 중간 수행결과를 다른 트랜잭션이 참조하여 발생하는 오류

      3️⃣ 모순성: 두 트랜잭션이 동시에 실행되어 데이터베이스의 일관성이 결여되는 오류

      4️⃣ 연쇄복귀: 복수의 트랜잭션이 데이터 공유 시 특정 트랜잭션이 처리를 취소할 경우 트랜잭션이 처리한 곳의 부분을 취소하지 못하는 오류

 

🏷️병행제어 기법 종류

      1️⃣ 로킹: 하나의 트랜잭션을 실행하는 동안 특정 데이터 항목에 대해서 다른 트랜잭션이 동시에 접근하지 못하도록 상호배제기능을 제공

      2️⃣ 낙관적 검증: 트랜잭션이 어떠한 검증도 수행하지 않고 일단 트랜잭션을 수행하고 트랜잭션 종료시 검증을 수행하여 DB에 반영하는 기법

      3️⃣ 타임 스탬프 순서: 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대하여 트랜잭션이 실행시작하기 전에 타임스탬프를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법

      4️⃣ 다중버전 동시성 제어: 트랜잭션의 타임스탬프와 접근하려는 데이터의 타임스탬프를 비교하여 직렬가능성이 보장되는 적절한 버전을 선택하여 접근하도록 하는 기법

 

🏷️회복기법

회복기법은 트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업이다.

REDO: 트랜잭션의 시작과 완료에 대한 기록이 있는 트랜잭션들의 작업을 재작업하는 기법

UNDO:트랜잭션의 시작은 있지만 완료는 없는 트랜잭션들의 작업한 변경 내용들을 모두 취소하는 기법

 

🏷️회복기법 종류

      1️⃣ 로그기반 회복기법: 자연갱신회복기법(트랜잭션이 완료되기 전까지 DB에 기록X),  즉각갱신회복기법(수행중 갱신결과를  DB에 바로 반영)

      2️⃣ 체크 포인트 회복기법: 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원시키는 회복기법

      3️⃣ 그림자 페이징 회복기법: 데이터베이스 트랜잭션 수행 시 복제본을 생성하여 데이터베이스 장애 시 이를 이용해 복구하는 기법

 

📙DDL

🏷️DDL(데이터 정의어) 

     ➡️ 데이터 정의어는 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들이다.  생성,변경,삭제,이름변경 등..

 

🏷️DDL대상

      1️⃣ 도메인

      2️⃣ 스키마: 외부스키마, 개념스키마, 내부스키마

      3️⃣ 테이블

      4️⃣ 뷰

     5️⃣ 인덱스

 

🏷️DDL 명령어

      1️⃣ CREATE

      2️⃣ ALTER

      3️⃣ DROP(데이터오브젝트삭제), TRUNCATE(데이터오브젝트 내용삭제)

 

📙DML

🏷️DML(데이터 조작어) 

      ➡️데이터 조작어는 DB 에 저장된 자료들을 입력,수정,삭제,조회하는 언어이다.

 

🏷️DML명령어

      1️⃣ SELECT

      2️⃣ INSERT

      3️⃣ UPDATE

      4️⃣ DELETE

 

📙DCL

🏷️DCL(데이터 제어어) 

      ➡️데이터 제어어는 DB관리자가 데이터 보안, 무결성유지, 병행제어회복을 위해 관리자가 사용하는 언어이다.

 

🏷️DCL명령어

      1️⃣ GRANT: GRANT 권한 ON 테이블 TO 사용자

      2️⃣ REVOKE: REVOKE 권한 ON 테이블 FROM 사용자