-
[SQLD 요약] II. SQL 기본 및 활용 - 01. SQL 기본 (6) - DCL & TCL자격증/SQLD (SQL 개발자) 2021. 5. 5. 21:26728x90반응형
SQLD 요약 / SQL Developer 요약
🔑 DCL/ GRANT/ WITH GRANT OPTION/ ROLLBACK/ TCL/ COMMIT/ ROLLBACK/ SAVEPOINT
II. SQL 기본 및 활용
01. SQL 기본
[1] 관계형 데이터베이스
[2] SQL 종류
[3] DDL (Data Definition Language)
[4] DML (Data Manipulation Language)
[5] WHERE문 사용
[6] GROUP 연산
[7] SELECT문 실행 순서
[8] 명시적 형변환과 암시적 형변환
[9] 내장형 함수 (BUILT-IN Function)
[10] DECODE와 CASE문
[11] ROWNUM과 ROWID
[12] WITH 구문
[13] DCL (Data Control Language)
[14] TCL (Transaction Control Language)
01. SQL 기본
[13] DCL (Data Control Language) - GRANT, REVOKE
(1) GRANT | 데이터베이스 사용자에게 권한 부여
- 데이터베이스 사용을 위해서, 사용자에게 권한이 필요함
- 연결, 입력, 수정, 삭제, 조회 권한을 부여할 수 있음
- GRANT문
GRANT privileges ON object TO user; privileges object user 권한 테이블명 Oracle 데이터베이스 사용자 지정 - 권한 (Privileges)
권한 설명 권한 설명 SELECT 테이블에 대해 조회 권한 부여 REFERENCES 테이블을 참조하는 제약조건을 생성하는 권한 부여 INSERT 테이블에 대해 입력 권한 부여 ALTER 테이블을 수정할 수 있는 권한 부여 UPDATE 테이블에 대해 수정 권한 부여 INDEX 테이블의 인덱스를 생성할 수 있는 권한 부여 DELETE 테이블에 대해 삭제 권한 부여 ALL 테이블에 대한 모든 권한 부여 - WITH GRANT OPTION
GRANT 옵션 부여 권한 예시 WITH GRANT OPTION 특정 사용자에게
권한을 부여할 수 있는 권한을 부여함A사용자가 B에게 부여 → B가 다시 C에게 부여
→ 권한을 취소(Revoke)하면 → 모든 권한 회수WITH ADMIN OPTION 지정된 테이블에 대한
모든 권한을 부여함A사용자가 B에게 부여 → B가 다시 C에게 부여
→ 권한 취소 → B사용자의 권한만 취소# WITH GRANT OPTION # 권한을 부여할 수 있는 권한을 부여한다! GRANT SELECT, INSERT, UPDATE, DELETE ON STUDENT TO STD1001 WITH GRANT OPRION;
(2) REVOKE | 권한 회수
- REVOKE: 데이터베이스 사용자에게 부여된 권한을 회수함
- REVOKE privileges ON object FROM user;
[14] TCL (Transaction Control Language) - COMMIT, ROLLBACK, SAVEPOINT
(1) COMMIT | DML문으로 변경한 데이터를 데이터베이스에 반영
- COMMIT을 통해, INSERT, UPDATE, DELETE문으로 변경한 데이터를 데이터베이스에 반영함
- 트랜잭션 시작 - Oracle 데이터베이스의 암시적 트랜잭션 관리
- 트랜잭션 종료 - 데이터베이스 사용자가 COMMIT 혹은 ROLLBACK으로 처리
COMMIT: 변경한 데이터를 저장 및 반영 COMMIT 완료 후 다른 데이터베이스 사용자 - COMMIT을 실행하면, 하나의 트랜잭션 과정을 종료함 - COMMIT 완료 후, 데이터베이스 변경으로 인한 LOCK이 해제됨 - 트랜잭션 과정 동안, 변경 전후의 데이터를 보관함 - 다른 모든 사용자는 변경된 데이터를 볼 수 있음 - COMMIT이 완료되면, 변경 후의 데이터를 저장함 - 다른 모든 사용자는 변경된 데이터를 조작할 수 있음 - 데이터베이스에 저장되면, 변경 전 데이터를 잃어버림 - DCL, DDL을 사용하는 경우 자동 COMMIT (2) ROLLBACK | DML문으로 변경한 사항을 모두 취소 & 트랜잭션 종료
(3) SAVEPOINT | 저장점
ROLLBACK: 변경사항 취소 SAVEPOINT: 저장점 지정 - 데이터에 대한 변경 사용을 모두 취소하고, 트랜잭션을 종료함 - 트랜잭션을 작게 분할하여 관리함 - INSERT, UPDATE, DELETE문으로 데이터 변경한 작업 모두 취소 - 지정된 위치 이후의 트랜잭션만 ROLLBACK 가능 - 이전에 COMMIT한 곳까지만 복구함 - SAVEPOINT <SAVEPOINT명> : 저장점 지정 - ROLLBACK ; → UNLOCK & 다른 사용자도 조작 가능 - ROLLBACK TO <SAVEPOINT명> : 지정된 곳까지만 취소 SAVEPOINT T1; INSERT INTO STUDENT VALUES(10, 20); SAVEPOINT T2; INSERT INTO STUDENT VALUES(20, 30); ROLLBACK TO T2; COMMIT; SELECT * FROM STUDENT; # 위 SQL문 실행 후 조회되는 행은 # 10, 20 이 입력된 행 1개!
참고도서: SQL 개발자 이론서+기출문제_이기적, 2020
728x90반응형'자격증 > SQLD (SQL 개발자)' 카테고리의 다른 글