개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

* 시스템 보안
- 시스템 관리 차원에서 데이터베이스 자체에 대한 접근 권한을 관리
- 데이터베이스 관리자는 사용자 계정, 암호 관리, 사용자별 허용 가능한 디스크공간 할당
-
사용자의 접근 패턴을 감시하여 의심스러운 사용자 시스템 접속을 차단
일정 주기로 암호를 변경하지 않는 사용자의 접속을 차단

 

* 데이터 보안
- 사용자별로 객체를 조작하기 위한 동작 관리
- 데이터베이스 객체에 대한 접근 권한을 관리
-
scott에게 테이블, 뷰, 인덱스와 같은 객체를 생성할 수 있는 권한을 부여
scott가 만든 테이블을 다른 사용자가 접근할 수 없도록 접근 권한 제한

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

* 다중 사용자 환경(multi-user environment)
- 불법적인 접근 및 유출 방지를 위해 보안 대책 필요
- 오라클에서는 사용자는 자신이 생성한 객체에 대해 소유권을 가지고 데이터에 대한 조작이나 조회 가능
- 다른 사용자가 소유한 객체는 소유자로부터 접근 권한을 부여받지 않는 접근 불가
- 다중 사용자 환경에서는 데이터베이스 관리자의 암호를 철저하게 관리

 

* 중앙 집중적인 데이터 관리
- 분산적으로 관리되는 기존의 파일 시스템보다 보안이 취약할 수 있으므로 철저한 보안 대책 필요

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

 

* 뷰의 삭제
- 뷰는 실체가 없는 가상 테이블이므로 뷰의 삭제는 USER_VIEWS데이터 딕셔너리에 저장된 뷰의 정의를 삭제
- 뷰를 정의한 기본 테이블의 구조나 데이터에는 전혀 영향 없음

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

* 단순 뷰
- 단순 뷰는 기본 테이블과 동일하게 DML 명령문 사용
- 내부적으로 기본 테이블에 대한 데이터를 조작하는 과정
- 뷰에 대한 무결성 제약조건도 기본 테이블에 정의된 무결성 제약조건이 적용

* 복합 뷰
- 복합 뷰에서는 DML 명령어 사용 제한
- 데이터 조작이 불가능한 경우 세가지
- 뷰 정의에 포함되지 않는 기본 테이블의 칼럼이 NOT NULL 제약조건으로 지정된 경우
- 뷰 정의시 표현식으로 정의된 칼럼에 대해서는 UPDATE, INSERT 명령문의 실행이 불가능
- 뷰 정의시 그룹 함수, DISTINCT, GROUP BY 절을 포함한 경우에는 모든 종류의 DML 명령문 사용 불가

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

* 뷰의 변경
- 뷰의 변경은 기존 뷰에 대한 정의를 삭제한 후 재생성
- CREATE 명령문에서 OR REPLACE 옵션을 이용하여 재생성
OR REPLACE 옵션은 기존에 생성된 뷰가 있을 경우에는 기존 뷰를 무시하고 재생성하는 옵션
- 변경 결과는 USER_VIEWS 데이터 딕셔너리에 저장

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

 

* ​USER_VIEWS
- 사용자가 생성한 모든 뷰에 대한 정의를 저장

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

* 인라인 뷰(inline view)
- FROM 절에서 참조하는 테이블의 크기가 클 경우, 필요한 행과 컬럼만으로 구성된 집합을 재정의하여 질의문을 효율적 구성
- FROM 절에서 서브쿼리를 사용하여 생성한 임시 뷰
- SQL 명령문이 실행되는 동안만 임시적으로 정의

 

 

* 뷰에 대한 질의의 내부적인 처리 과정
1) USER_VIEW 데이터 딕셔너리에서 뷰에 대한 정의를 조회
2) 기본 테이블에 대한 뷰의 접근 권한을 확인
3) 뷰에 대한 질의를 기본 테이블에 대한 질의로 변환
4) 기본 테이블에 대한 질의를 통해 데이터를 검색
5) 검색된 결과를 출력

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

 

* 사용예
- 교수 테이블에서 학과별 평균 급여와 총계로 정의되는 뷰를 생성하여라.

 

 

+ Recent posts