728x90
목차
1.데이터 제어어(DCL: Data Control Language)
2.트랜잭션 제어어(TCL: Transaction Control Language)
1.데이터 제어어(DCL: Data Control Language)
1-1. DCL 명령어 종류
1. GRANT
* GRANT [권한|ROLE] TO [사용자|ROLE|PUBLIC]
[WITH GRANT/ADMIN OPTION]
* PUBLIC: 모든 사용자에게 권한 부여
* WITH GRANT OPTION: 부여된 권한을 또 다른 사용자에게 부여 가능(회수가능)
* WITH ADMIN OPTION: 부여된 권한을 또 다른 사용자에게 부여 가능(회수불가능)
* 시스템 권한
- CREATE: 계정,데이터베이스,테이블,뷰,시퀀스,함수
- DROP: 계정,테이블
* 객체 권한: 데이터 삽입,갱신,삭제,조회 및 구조변경,실행
2. REVOKE
* TO와 FROM으로 권한부여 회수 구분
* REVOKE [권한|ROLE] FROM [사용자|ROLE|PUBLIC]
3. 사용자 그룹
* 동일한 권한과 제약을 갖는 사용자들이 공통으로 사용하는 계정
4. 역할(ROLE)
* CREATE ROLE duduri (duduri 이름가진 ROLE 생성)
* GRANT create table, create view TO duduri (테이블과 뷰 생성권한)
* GRANT duduri TO DuDu, SoSo (DoDo와 SoSo에게 duduri 역할 부여)
2.트랜잭션 제어어(TCL: Transaction Control Language)
2-1. 트랜잭션의 개념
* 한개 이상의 데이터베이스를 조작하는 논리적인 연산의 집합
* 하나 이상의 SQL이 포함
* 분해할수 없는 최소단위의 작업이며 일반적으로 회복의 기준단위
2-2. 트랜잭션의 특성
1. 원자성(Atomicity)
* 트랜잭션의 연산은 모두 실행되거나 모두 실행되지 않아야 한다
2. 일관성(Consistency) 및 무결성
* 트랜잭션을 마친 후에도 동일하게 오류가 발생하지 않아야 한다
3. 고립성(Isolation) 및 독립성
* 트랜잭션 실행 중 다른 트랜잭션에 영향을 받지 않아야 한다
4. 지속성(Durability) 및 영속성
* 트랜잭션의 결과는 항상유지, 보존 되어야 한다
2-3. 트랜잭션 상태제어
1. 상태 제어의 의미: 트랜잭션의 결과를 수용하거나 취소를 의미
2. 활동(Active): 트랜잭션이 실행을 시작하였거나 실행중인 상태
3. 부분완료(Partially Committed): 트랜잭션이 마지막연산을 끝내고 데이터베이스에 실행결과 적용하기 직전의 상태
4. 완료(Committed): 성공적으로 완료연산 수행
5. 실패(Failed): 연산실행중 어떤 오류에 의해 더이상 연산진행 불가
6. 철회(Aborted)
* 트랜잭션을 실패하여 트랜잭션 실행 전 상태로 복구(ROLLBACK)
* SAVEPOINT 지정을 통해 복구할 위치를 지정
7. 실행취소(Undo): 변경되었던 데이터를 취소하고 원래의 내용으로 복원
8. 다시실행(Redo): Undo 통해서 원래내용으로 변경되었던 데이터를 복원
2-4. COMMIT
* 변경 사항이 물리적인 디스크에 저장
* COMMIT 이후에는 이전상태로 복구할수 없다
2-5. ROLLBACK
* 이미 수행되었던 모든 작업을 취소하고 원래 상태로 복구
* 수행되고 있는 모든 작업은 메모리상에서 이루어지기 때문에 복구 가능
2-6. SAVEPOINT
* 트랜잭션의 규모가 너무크거나 복잡할경우 주로 사용
* 여러개의 SAVEPOINT 지정
참고자료 : 이기적 환상콤비 정보처리기사
728x90
'자격증 > 정보처리기사' 카테고리의 다른 글
인덱스(Index)와 뷰(View) (0) | 2022.07.04 |
---|---|
정규화 (0) | 2022.07.04 |
데이터조작어(DML) (0) | 2022.07.03 |
데이터정의어(DDL) (0) | 2022.07.02 |
E-R 다이어그램 (0) | 2022.07.02 |