뷰view

view

(전역스키마?) global_schema 의 부분집합? chk

CREATE TABLE을 써서 직접 만든 테이블table중에서 일부분만을 보는 - 창window같은
... 그래서 view를 다른 말로 virtual table이라고도 한다. 그에 대비해 실제 table을 actual table이라 한다. 즉 actual table중에서 일부분이 virtual table.
(황인준)

view를 만드는 기반이 되는 테이블tablebase_table? chk


DB에서, redundancy를 minimize하기 위해, global_schema 의 부분집합인 여러 view들을 (용도에 따라 각각) 만들고, 각각 user(?)들은 view를 통해 접근한다. 그림으로는 이렇게.
https://i.imgur.com/IkYoMjal.png

구체적으로 table(릴레이션relation) 모양은 이런 식.
https://i.imgur.com/iWpwbKGl.png


Ex. SQL에선 대충
CREATE VIEW DEPT_5
AS SELECT *
FROM EMPLOYEE
WHERE DNO=5;




VIEW를 통해 SELECT하는 것은 문제 없는데, UPDATE하는 것은 많은 제약이 있다. 왜냐면 VIEW를 통해 UPDATE하면 ambiguous한 상황이 많이 생기기 때문. (황인준)

view_materialization
처음 view가 query되었을 때, 임시 view table을 실제로 만든다. Physically.(그래서 'materialization'?) 그리고 그 이후에 view가 access 될 때마다 이 임시 테이블table 내용을 참조한다. 오래 사용되지 않으면 자동으로 없어진다.
즉 cache 같은 역할?
(황인준)

둘 이상의 table로 구성된 view를 update하는 것은 복잡한 문제가 생긴다.


Etc, misc
DB와 무관한 건 goto 뷰,view