DATABASE 15장 연습문제
문제1] 데이터베이스 보안을 위한 시스템 보안과 데이터 보안 방법을 간략히 설명하시오.
시스템 보안은 시스템 관리 차원에서 데이터베이스 자체에 대한 접근 권한을 관리하며
데이터 보안은 사용자별로 객체를 조작하기 위한 동작과 데이터베이스 객체에 대한 접근 권한을 관리
문제2] 권한에는 시스템 권한과 객체 권한이 있다, 각각 간략히 설명하시오.
시스템 권한은 시스템 차원의 자원, 사용자 스키마 객체 관리 등과 같은 데이터베이스 관리 작업을 할 수 있는 권한을 말하며, 객체 권한은 테이블,뷰,시퀀스, 함수 등과 같은 객체를 조작할 수 있는 권한을 말한다.
문제3] scott 사용자에게 함수 기반 인덱스를 생성할 수 있는 query rewrite권한을 부여하시오.
SQL>
GRANT query rewrite TO scott;
문제4] scott 사용자가 소유한 부서 테이블(department)을 조회 및 수정할 수 있는 권한을
tiger 사용자에게 부여하시오.
SQL>
GRANT SELECT ON scott.department TO tiger;
문제5] tiger사용자에게 부여한 부서테이블을 조회할 수 있는 권한을 회수하시오.
SQL>
revoke SELECT ON scott.department from tiger;
문제6] connect롤과 resource롤이 가지는 권한을 설명하시오.
connect롤 : 사용자가 데이터베이스에 접속하여 세션을 생성할 수 있는 권한(테이블 또는 뷰와 같은 객체를 생성할 수 있는 권한)
resource롤 : 사용자에게 자신의 테이블, 시퀀스, 프로시져, 트리거 객체 생성 할 수 있는 권한
문제7] r_stud롤을 생성하고, 3-4번의 권한을 r_stud롤에게 부여하시오.
CREATE ROLE r_stud;
GRANT query rewrite TO r_stud;
GRANT SELECT ON scott.department TO r_stud;
문제8] r_stud롤을 tiger사용자에게 부여하시오.
GRANT r_stud TO tiger;
문제9] r_stud롤을 삭제하시오.
DROP ROLE r_stud;
문제10] scott가 소유한 학생테이블에 대한 접속 권한을 tiger 사용자에게 부여하였다.
이런 경우에 tiger 사용자의 동의어(syn_stud)을 생성하시오.
1. tiger 사용자의 동의어(syn_stud)을 생성하는 방법 설명:
전용 동의어 (sys_stud)를 생성하려면
CREATE SYNONYM (동의어 생성) 명령어를 사용해야한다.
사용방법 : CREATE [PUBLIC] SYNONYM [SCHEMA.] synonym
(public 은 모든 사용자가 사용 가능 , 기본 값은 전용 동의어)
2. 동의어(syn_stud)라는 동의어 생성
CREATE SYNONYM syn_stud FOR scott.student;
select * from syn_stud;