一:什么是表:
表是作為oracle數(shù)據(jù)庫存儲數(shù)據(jù)的一種數(shù)據(jù)結(jié)構(gòu),就相當(dāng)于我們在java中用集合list桌肴,或者數(shù)組存儲我們的數(shù)據(jù)一樣皇筛,表是一種二維結(jié)構(gòu),有行 有列坠七,我們把相同類型的數(shù)據(jù)歸為一列水醋,比如每個人都有姓名,我們就把姓名歸為一列彪置,年齡歸為一列拄踪,而行對應(yīng)著每個人的數(shù)據(jù),比如第一行是小紅的姓名和年齡拳魁,第二行是小強(qiáng)的姓名和年齡惶桐。通過創(chuàng)建表然后向表中插入數(shù)據(jù),最終實現(xiàn)對信息的存儲。?
二:什么是視圖:
1姚糊、為什么要用視圖贿衍??
舉個例子,對于公司人員信息表上都有他們的薪資情況救恨,財務(wù)再根據(jù)數(shù)據(jù)庫里薪資來給每個人發(fā)放工資贸辈,所以工資這一欄是非常重要的,所以為了保證運(yùn)轉(zhuǎn)條理性肠槽,我們一般不能讓數(shù)據(jù)庫管理員看到這一欄的擎淤,畢竟管理員也是員工,對于這些敏感的信息秸仙,可能他看不到對大家都好嘴拢。那么就衍生了該如何解決這個問題呢,有的人會說創(chuàng)建一個新的員工表筋栋,里面沒有員工工資一欄炊汤,但是這個方法可是非常不明智的正驻,因為當(dāng)我們把原來的數(shù)據(jù)修改之后豈不是還要再新表上還要做一次修改弊攘,而且在新表上做了修改還要更新到主表,中間就會出現(xiàn)很多問題的姑曙,此時利用視圖則是最合理的一個方法襟交。?
視圖是從已存在表上抽出邏輯相關(guān)的數(shù)據(jù)集合,其本身和表的區(qū)別不大伤靠,都是對數(shù)據(jù)一種存儲捣域,只不過我們可以在已有表的基礎(chǔ)上抽取一部分我們想要的數(shù)據(jù)。?
2宴合、我們修改視圖之后會更新到基表中嗎焕梅??
這個是肯定的,視圖的意義就是對基表中的數(shù)據(jù)進(jìn)行一部分提取后然后提供給其他人操作的卦洽,如果不能更新基表贞言,那和新建一個表就毫無區(qū)別了,同時對于基表中數(shù)據(jù)的改變也能立馬更新視圖阀蒂。
三:區(qū)別:
1该窗、視圖是已經(jīng)編譯好的sql語句。而表不是蚤霞。?
2酗失、視圖沒有實際的物理記錄。而表有昧绣。
3规肴、表是內(nèi)容,視圖是窗口儡司。
4届谈、表只用物理空間而視圖不占用物理空間,視圖只是邏輯概念的存在饰迹,表可以及時對它進(jìn)行修改序调,但視圖只能有創(chuàng)建的語句來修改醉锅。
5、表是內(nèi)模式发绢,視圖是外模式硬耍。
6、視圖是查看數(shù)據(jù)表的一種方法边酒,可以查詢數(shù)據(jù)表中某些字段構(gòu)成的數(shù)據(jù)经柴,只是一些SQL語句的集合。從安全的角度說墩朦,視圖可以不給用戶接觸數(shù)據(jù)表坯认,從而不知道表結(jié)構(gòu)。
7氓涣、表屬于全局模式中的表牛哺,是實表;視圖屬于局部模式的表劳吠,是虛表引润。
8、視圖的建立和刪除只影響視圖本身痒玩,不影響對應(yīng)的基本表淳附。
???
————————————————
版權(quán)聲明:本文為CSDN博主「黃小小州」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議蠢古,轉(zhuǎn)載請附上原文出處鏈接及本聲明奴曙。
原文鏈接:https://blog.csdn.net/love___code/article/details/79142072