SQL응용과 소프트웨어 개발보안 구축
ALTER
- 테이블에 대한 정의 변경
형식
ALTER TABLE 테이블명 ADD|MODIFY|DROP 속성이름
ADD : 새로운 속성 추가
DROP : 속성을 삭제할때 사용
MODIFY : 속성의 데이터타입을 변경
DROP
- 스키마, 도메인, 테이블, 뷰, 인덱스, 제약조건을 제거
형식
DROP SCHEMA -- 스키마제거
DROP TABLE 테이블명[CASCADE | RESTRICTED] -- 테이블 삭제
DROP VIEW 뷰이름 -- 뷰 삭제
DROP INDEX 인덱스명
DROP CONSTRAINT 제약조건명;
CASCADE : 삭제할 요소를 참조하는 모든 개체를 연쇄적 삭제
RESTRICTED : 삭제할 요소를 다른 개체에서 참조시 삭제 불가
데이터 제어어(DCL)
DCL은 데이터 보안, 무결성, 회복, 병행, 제어 등을 정의하는데 사용하는 언어
COMMIT
: 트랜잭션이 정상적으로 완료시 DB가 새로운 일관성 상태를 가지기위해
수행된 변경을 DB에 반영하여 완료하는 명령어
ROLLBACK
: 트랜잭션이 비정상적으로 완료시 DB가 비일관적인 상태를 가질수 있기에
완료된 일부분을 ROLLBACK시켜 원래의 상태로 되돌리는 명령어
COMMIT, ROLLBACK 예시
GRANT/REVOKE
: DBA(데이터베이스관리자)가 사용자에 적절한 권한을 부여하고
해당 권한을 박탈하고자 할 경우 사용하는 명령어
GRANT : 권한부여
REVOKE : 권한박탈
사용자 등급 지정과 해제
등급지정 형식
GRANT 사용자 등급 TO 사용자ID리스트[IDENTFIED BY 암호];
등급해제 형식
REVOKE 사용자등급 FROM 사용자ID리스트;
사용자 등급
권한 부여 예시
테이블 관련 권한 부여와 해제
권한지정 형식
GRANT 권한리스트 ON 개체 TO 사용자[WITH GRANT OPTION];
권한해제 형식
REVOKE [GRANT OPTION FOR] 권한리스트 ON 개체 FROM 사용자 [CSACADE];
WITH GRANT OPTION : 부여된 권한을 다른 사용자에게 다시 부여할 수 있는 권리
권한 리스트 종류 : ALL, SELECT, INSERT, DELETE, UPDATE, ALTER등
GRANT OPTION FOR : 다른 사용자에게 권한을 부여할 수 있는 권한을 취소
CASCADE : 권한 취소시 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한도 모두 취소하라는 의미
테이블 권한지정/해제 예시
SAVEPOINT
트랜잭션 내에 ROLLBACK할 위치인 저장점을 지정하는 명령어
저장점 지정할 때는 이름을 부여하고 ROLLBACK시 지정된 저장점까지의 트랜잭션 처리 내용이 취소됨
SAVEPOINT 예시
문제 1
정답
1. ALTER
2. ADD
문제 2
정답 : CASCADE
문제 3
정답
1. COMMIT
2. ROLLBACK
3. GRANT
4. REVOKE
5. CASCADE
문제 4
정답 : MODIFY