너무 아름다운다운다운다운 뷰...
아름다운 나를 봐 아름답지
뷰는 테이블과 같은 형태이며, CRUD도 기본 테이블과 거의 같다.
가상테이블로 물리적으로 존재하지 않는다.
필요한 데이터를 뷰로 만들었기에 명령문이 더욱 간소화해진다.
보안이 좋다. (필요한 데이터 이외의 데이터는 접근을 막기 때문에)
기본키를 포함한 속성 집합으로 뷰를 구성해야, CUD를 할 수 있다.
뷰는 다른 뷰의 정의의 기반이 될 수 있다.
뷰가 정의된 기본 테이블이나 뷰를 삭제하면 다른 뷰(그 뷰나 동일한 테이블로 유도된)들도 삭제가 된다.
CREATE VIEW 뷰이름[(속성이름[, 속성이름])] AS SELECT 문;
CREATE VIEW STAFF_STUDENT(STAFF_NO,STUDENT_NO)
AS SELECT STAFF_NO,STUDENT_NO
FROM STUDENT
WHERE HAVEAJOB='Y';
RESTRICT : 뷰를 다른 곳에서 참조하고 있으면 삭제가 되지 않는다.
CASCADE : 뷰를 참조하는 다른 뷰나 제약 조건까지 모두 삭제가 된다.
DROP VIEW 뷰이름 RESTRICT or CASCADE
DROP VIEW STAFF_STUDENT RESTRICT;