更新時(shí)間:2021-01-12 17:48:30 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1466次
視圖是指計(jì)算機(jī)數(shù)據(jù)庫(kù)中的視圖,視圖是一個(gè)虛擬表,其內(nèi)容由查詢(xún)定義。MySQL視圖是MySQL數(shù)據(jù)庫(kù)中的重要組成部分,能夠?yàn)橛脩?hù)簡(jiǎn)化對(duì)數(shù)據(jù)的理解和操作。MySQL視圖的優(yōu)點(diǎn)決定了視圖在MySQL數(shù)據(jù)庫(kù)中不可撼動(dòng)的地位。
同真實(shí)的表一樣,視圖包含一系列帶有名稱(chēng)的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)庫(kù)中以存儲(chǔ)的數(shù)據(jù)值集形式存在。行和列數(shù)據(jù)來(lái)自由定義視圖的查詢(xún)所引用的表,并且在引用視圖時(shí)動(dòng)態(tài)生成。對(duì)其中所引用的基礎(chǔ)表來(lái)說(shuō),視圖的作用類(lèi)似于篩選。定義視圖的篩選可以來(lái)自當(dāng)前或其它數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)表,或者其它視圖。通過(guò)視圖進(jìn)行查詢(xún)沒(méi)有任何限制,通過(guò)它們進(jìn)行數(shù)據(jù)修改時(shí)的限制也很少。視圖是存儲(chǔ)在MySQL數(shù)據(jù)庫(kù)中的查詢(xún)的SQL 語(yǔ)句,下面我們一起來(lái)看看MySQL視圖的優(yōu)點(diǎn):
1. 視點(diǎn)集中
視圖集中即是使用戶(hù)只關(guān)心它感興趣的某些特定數(shù)據(jù)和他們所負(fù)責(zé)的特定任務(wù)。這樣通過(guò)只允許用戶(hù)看到視圖中所定義的數(shù)據(jù)而不是視圖引用表中的數(shù)據(jù)而提高了數(shù)據(jù)的安全性。
2. 簡(jiǎn)化操作
視圖大大簡(jiǎn)化了用戶(hù)對(duì)數(shù)據(jù)的操作。因?yàn)樵诙x視圖時(shí),若視圖本身就是一個(gè)復(fù)雜查詢(xún)的結(jié)果集,這樣在每一次執(zhí)行相同的查詢(xún)時(shí),不必重新寫(xiě)這些復(fù)雜的查詢(xún)語(yǔ)句,只要一條簡(jiǎn)單的查詢(xún)視圖語(yǔ)句即可。可見(jiàn)視圖向用戶(hù)隱藏了表與表之間的復(fù)雜的連接操作。
3. 定制數(shù)據(jù)
視圖能夠?qū)崿F(xiàn)讓不同的用戶(hù)以不同的方式看到不同或相同的數(shù)據(jù)集。因此,當(dāng)有許多不同水平的用戶(hù)共用同一數(shù)據(jù)庫(kù)時(shí),這顯得極為重要。
4. 合并分割數(shù)據(jù)
在有些情況下,由于表中數(shù)據(jù)量太大,故在表的設(shè)計(jì)時(shí)常將表進(jìn)行水平分割或垂直分割,但表的結(jié)構(gòu)的變化卻對(duì)應(yīng)用程序產(chǎn)生不良的影響。如果使用視圖就可以重新保持原有的結(jié)構(gòu)關(guān)系,從而使外模式保持不變,原有的應(yīng)用程序仍可以通過(guò)視圖來(lái)重載數(shù)據(jù)。
5. 安全性
視圖可以作為一種安全機(jī)制。通過(guò)視圖用戶(hù)只能查看和修改他們所能看到的數(shù)據(jù)。其它數(shù)據(jù)庫(kù)或表既不可見(jiàn)也不可以訪(fǎng)問(wèn)。如果某一用戶(hù)想要訪(fǎng)問(wèn)視圖的結(jié)果集,必須授予其訪(fǎng)問(wèn)權(quán)限。視圖所引用表的訪(fǎng)問(wèn)權(quán)限與視圖權(quán)限的設(shè)置互不影響。
視圖的安全性可以防止未授權(quán)用戶(hù)查看特定的行或列,使用戶(hù)只能看到表中特定行的方法如下:
1)在表中增加一個(gè)標(biāo)志用戶(hù)名的列;
2)建立視圖,是用戶(hù)只能看到標(biāo)有自己用戶(hù)名的行;
3)把視圖授權(quán)給其他用戶(hù)。
以上就是5條MySQL視圖的優(yōu)點(diǎn),當(dāng)然,我們所寫(xiě)的并不是MySQL視圖的全部?jī)?yōu)點(diǎn),還有一些細(xì)節(jié)的優(yōu)點(diǎn)我們沒(méi)有顧及到,總的來(lái)說(shuō),以上所提到的5個(gè)MySQL視圖的優(yōu)點(diǎn),決定了視圖在數(shù)據(jù)庫(kù)中存在的意義。想要學(xué)習(xí)更多的MySQL數(shù)據(jù)庫(kù)的相關(guān)知識(shí),可以觀看本站的MySQL教程,給你全新的學(xué)習(xí)體驗(yàn)!
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743