更新時(shí)間:2021-02-16 23:31:09 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2121次
在java中,數(shù)據(jù)庫(kù)視圖是基于SQL語(yǔ)句的結(jié)果集的可視化的表,相信java程序員們對(duì)數(shù)據(jù)庫(kù)視圖都不陌生,因?yàn)樵谝粋€(gè)查詢需要頻繁作為子查詢使用時(shí),視圖可以簡(jiǎn)化代碼,可以直接調(diào)用。今天為剛?cè)腴Tjava編程不久的朋友們來(lái)介紹一下數(shù)據(jù)庫(kù)視圖的概念及一些相關(guān)知識(shí)點(diǎn),一起來(lái)學(xué)習(xí)吧。
數(shù)據(jù)庫(kù)視圖就像一個(gè)真實(shí)的表,包含行和列,是從一個(gè)或幾個(gè)基本表(或視圖)中導(dǎo)出的虛擬的表,在系統(tǒng)的數(shù)據(jù)字典中僅存放了視圖的定義,不存放視圖對(duì)應(yīng)的數(shù)據(jù)。視圖在數(shù)據(jù)庫(kù)管理系統(tǒng)中也是一個(gè)對(duì)象,也是以文件形式存在的
視圖也對(duì)應(yīng)了一個(gè)查詢結(jié)果,只是從不同的角度查看數(shù)據(jù)。
看到這里,可以會(huì)有人對(duì)表和視圖混淆,數(shù)據(jù)庫(kù)視圖和表還是有區(qū)別的,總結(jié)起來(lái),有以下幾點(diǎn)區(qū)別:(1)視圖是已經(jīng)編譯好的sql語(yǔ)句,而表不是;(2)視圖沒(méi)有實(shí)際的物理記錄,而表有;(3)表是內(nèi)容,視圖是窗口;(4)表占用物理空間而視圖不占用物理空間,視圖只是邏輯概念的存在,表可以及時(shí)對(duì)它進(jìn)行修改,但視圖只能用創(chuàng)建的語(yǔ)句來(lái)修改;(5)表是內(nèi)模式,試圖是外模式;
(6)視圖是查看數(shù)據(jù)表的一種方法,可以查詢數(shù)據(jù)表中某些字段構(gòu)成的數(shù)據(jù),只是一些SQL語(yǔ)句的集合,從安全的角度說(shuō),視圖可以不給用戶接觸數(shù)據(jù)表,從而不知道表結(jié)構(gòu);(7)表屬于全局模式中的表,是實(shí)表,視圖屬于局部模式的表,是虛表;(8)視圖的建立和刪除只影響視圖本身,不影響對(duì)應(yīng)的基本表;(9)不能對(duì)視圖進(jìn)行update或者insert into操作。
數(shù)據(jù)庫(kù)視圖中的字段就是來(lái)自一個(gè)或多個(gè)數(shù)據(jù)庫(kù)中的真實(shí)的表中的字段,我們可以向視圖添加SQL函數(shù)、WHERE 以及 JOIN 語(yǔ)句,我們也可以提交數(shù)據(jù),就像這些來(lái)自于某個(gè)單一的表。
下面介紹幾個(gè)關(guān)于視圖操作的語(yǔ)法結(jié)構(gòu):
1、創(chuàng)建數(shù)據(jù)庫(kù)視圖的語(yǔ)法結(jié)構(gòu)是:create view 視圖名稱 as 查詢語(yǔ)句;例子:
注:(1)視圖中的數(shù)據(jù)是脫離emp原表的;(2)視圖中的數(shù)據(jù)也可以進(jìn)行增刪改,但是視圖中的增刪改與原表emp無(wú)關(guān);(3)只能將查詢結(jié)果作為視圖創(chuàng)建出來(lái)。
2、想要?jiǎng)h除數(shù)據(jù)庫(kù)視圖的語(yǔ)法結(jié)構(gòu):
drop view if exists 視圖名稱;
3、修改數(shù)據(jù)庫(kù)視圖的語(yǔ)法結(jié)構(gòu):
alter view視圖名稱 as 查詢語(yǔ)句
如:
alter view myview as select empno,ename,sal,hiredate;
當(dāng)一個(gè)查詢需要頻頻的作為子查詢使用時(shí),視圖可以簡(jiǎn)化代碼,直接調(diào)用而不是每次都去重復(fù)寫這個(gè)東西。系統(tǒng)的數(shù)據(jù)庫(kù)管理員需要給他人提供一張表的某兩列數(shù)據(jù),而不希望他可以看到其他任何數(shù)據(jù),這時(shí)可以建一個(gè)只有這兩列數(shù)據(jù)的視圖,然后把視圖公布給他。這是使用數(shù)據(jù)庫(kù)視圖的作用。
數(shù)據(jù)庫(kù)視圖在實(shí)際的開發(fā)中,會(huì)被廣泛的用到,在使數(shù)據(jù)簡(jiǎn)單化的同時(shí)也保證了安全性,所以希望學(xué)習(xí)數(shù)據(jù)庫(kù)的人都可以學(xué)會(huì)使用視圖。在本站的MySQL教程中,對(duì)數(shù)據(jù)庫(kù)視圖有很詳細(xì)的講解,想要學(xué)習(xí)這方面知識(shí)的小伙伴千萬(wàn)不要錯(cuò)過(guò)。
相關(guā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ì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743