What and Why?
What is Views?
- view是一种简单的机制,类似于table,但是无法向内写入数据。
- 使用情景:市场部的人员需要得到用户的mail进行广告的投放,但是公司的保密要求他们不能直接接触储存mail的table,因此,可以考虑建立一个table来让市场部的人员得到用户及其mail的数据。
- 创建VIEW:
CREATE VIEW $vw_name ($vw_fild_set) AS SELECT ... - VIEW和一般的TABLE类似,可以
WHERE,ORDER BY,GROUP BY还可以和TABLE间进行JOIN
Why use Views?
Data Security
保护用户的敏感信息,隐藏或用*代替用户的某些信息。
Data Aggregation
用于汇聚组织数据
相较于
TABLE,可以直接使用CREATE VIEW $vw_name AS SELECT...Hiding Complexity
对多个表进行操作,整合,输出一个相对简单,清晰的VIEW,除了使用JOIN还可以考虑使用多重correlated subqueries进行多个数据表的整合。
Joining Partitioned Data
修改表格的结构,而不需要对原有数据的schema进行任何的修改,可以使用
UNION等对多个table之间的数据取并集或交集,放入一个VIEW中