6.1 View

: 특정 속성을 특정 사용자에게 숨겨주는 역할을 한다.

Create View myProf as
select pID,name
from professor;

View 특징

View 확장

: 뷰에 대한 질의 → 뷰를 정의로 대체 → 데이터베이스에 대한 질의로 교체

뷰가 더 이상 존재하지 않고 데이터베이스만 존재할 때까지 진행한다.

Create view myFaculty as 
	select pID, name, deptName 
	from professor
	where salary > 50000;

Create view myFacultyCS as 
	select pID, name
	from myFaculty
	where deptName = 'CS';

-- The above view can be expanded: 
Create view myFacultyCS as 
		select pID, name
		from professor
		where deptName = 'CS' and salary>50000;
		
-- myFaculty를 이용하여 정의하였지만 나중엔 professor 만 의존하도록 확장한다.

View 변경

: 뷰에 대한 연산외에도 뷰를 통한 입력, 갱신, 삭제가 가능하다.

뷰에 대한 연산 → 베이스 테이블에 대한 연산으로 대체

Create view myProfessor as 
select pID, name, deptName 
from professor;

Insert into myProfessor values ('12345', 'Lee', 'CS');
-- ("12345', 'Lee', C' S,' null) 이 들어가게됨

Updatable View

: 변경연산이 지원되는 뷰이다.