資料庫view
thinkphp數肢巧啟據庫數據在寬敗view顯示出來的方法如下:
1、在資料庫新建一個數據表thinkphp,在表內插入幾條記錄。
2、或在配置好的Thinkphp環境中,新建一歷如個控制器。
⑵ 試述關系資料庫系統中視圖的定義,引進view的概念有什麼意義
試述關系資料庫系統中視圖(VIEW)的定義,引進VIEW的概念有什麼優點。
答案 視圖是從一個或幾個基本表導出的表。視圖本身不獨立存儲在資料庫中,是一個虛表。即資料庫中只存放視圖的定義而不存放視圖對應的數據,這些數據仍存放在導出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。引進VIEW的優點有: (1)視圖能夠簡化用戶的操作。 (2)視圖使用戶能以多種角度看待同一數據。 (3)視圖對重構資料庫提供了一定程度的邏輯獨立性。 (4)視圖能夠對機密數據提供安全保護。
⑶ 資料庫中的視圖又什麼用
視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在資料庫中以存儲的數據值集形式存在。行和列數據來自由定義視圖的查詢所引用的表,並且在引用視圖時動態生成。
對其中所引用的基礎表來說,視圖的作用類似於篩選。定義視圖的篩選可以來自當前或其它資料庫的一個或多個表,或者其它視圖。分布式查詢也可用於定義使用多個異類源數據的視圖。如果有幾台不同的伺服器分別存儲組織中不同地區的數據,而您需要將這些伺服器上相似結構的數據組合起來,這種方式就很有用。
通過視圖進行查詢沒有任何限制,通過它們進行數據修改時的限制也很少。
視圖的作用
* 簡單性。看到的就是需要的。視圖不僅可以簡化用戶對數據的理解,也可以簡化他們的操作。那些被經常使用的查詢可以被定義為視圖,從而使得用戶不必為以後的操作每次指定全部的條件。
* 安全性。通過視圖用戶只能查詢和修改他們所能見到的數據。資料庫中的其它數據則既看不見也取不到。資料庫授權命令可以使每個用戶對資料庫的檢索限制到特定的資料庫對象上,但不能授權到資料庫特定行和特定的列上。通過視圖,用戶可以被限制在數據的不同子集上:
使用許可權可被限制在基表的行的子集上。
使用許可權可被限制在基表的列的子集上。
使用許可權可被限制在基表的行和列的子集上。
使用許可權可被限制在多個基表的連接所限定的行上。
使用許可權可被限制在基表中的數據的統計匯總上。
使用許可權可被限制在另一視圖的一個子集上,或是一些視圖和基表合並後的子集上。
* 邏輯數據獨立性。視圖可幫助用戶屏蔽真實表結構變化帶來的影響。
二、視圖的優點
(1)視圖能簡化用戶的操作
(2)視圖機制可以使用戶以不同的方式查詢同一數據
(3)視圖對資料庫重構提供了一定程度的邏輯獨立性
(4)視圖可以對機密的數據提供安全保護
三、視圖的安全性
視圖的安全性可以防止未授權用戶查看特定的行或列,是用戶只能看到表中特定行的方法如下:
1 在表中增加一個標志用戶名的列;
2 建立視圖,是用戶只能看到標有自己用戶名的行;
3 把視圖授權給其他用戶。
四、邏輯數據獨立性
視圖可以使應用程序和資料庫表在一定程度上獨立。如果沒有視圖,應用一定是建立在表上的。有了視圖之後,程序可以建立在視圖之上,從而程序與資料庫表被視圖分割開來。視圖可以在以下幾個方面使程序與數據獨立:
1 如果應用建立在資料庫表上,當資料庫表發生變化時,可以在表上建立視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。
2 如果應用建立在資料庫表上,當應用發生變化時,可以在表上建立視圖,通過視圖屏蔽應用的變化,從而使資料庫表不動。
3 如果應用建立在視圖上,當資料庫表發生變化時,可以在表上修改視圖,通過視圖屏蔽表的變化,從而應用程序可以不動。
4 如果應用建立在視圖上,當應用發生變化時,可以在表上修改視圖,通過視圖屏蔽應用的變化,從而資料庫可以不動。
五、視圖的書寫格式
CREATE VIEW <視圖名>[(列名組)]
AS <子查詢>
DROP VIEW <索引名>
注意:視圖可以和基本表一樣被查詢,但是利用視圖進行數據增,刪,改操作,會受到一定的限制。
(1)由兩個以上的基本表導出的視圖
(2)視圖的欄位來自欄位表達式函數
(3)視圖定義中有嵌套查詢
(4)在一個不允許更新的視圖上定義的視圖
⑷ sql語言中的「視圖(View) 」對應於資料庫三級模式結構中的( )。
外模式 外模式是資料庫用戶能夠看見和使用的局部數據的邏輯結構和特徵的描述,是資料庫用戶的數據視圖,是某一應用有關的數據的邏輯表示,外模式是保證資料庫安全性的一個有力支持,通過視圖每個用戶只能看見和訪問所對應的外模式中的數據,而資料庫中的其餘數據是不可見的
⑸ 資料庫中的procere和view有什麼區別請問
Procere就像是執行子查詢表格,接受參數,你可以用where或者order by這樣的參數經行進一步的定義
Procere被定義出來之後,非常的方便,下次如果需要調用相同的命令,就直接把procere名字打上去就能顯示結果,通常為內部人員使用。
View本身就是顯示一個表格,View可以顯示出表格,但是VIEW本身並沒有包括任何數據,view也不接受參數,所以其實view就是一個虛擬的表格,而不是實際的,所以在需要參數的時候,需要提前在建立view的時候定義好。VIEW一般是給外部非專業IT人員使用,因為你可以隨意修改名稱並限定輸出的內容。
⑹ 鏁版嵁搴撶殑瑙嗗浘鐨勮存硶鍝涓鏄姝g『鐨
鍏充簬鏁版嵁搴撹嗗浘鐨勮存硶錛屾g『鐨勬槸瑙嗗浘鏄鉶氳〃錛屾槸浠庝竴涓鎴栧嚑涓鍩烘湰琛錛堟垨瑙嗗浘錛変腑瀵煎嚭鐨勮〃錛屽湪緋葷粺鐨勬暟鎹瀛楀吀涓浠呭瓨鏀句簡瑙嗗浘鐨勫畾涔夛紝涓嶅瓨鏀捐嗗浘瀵瑰簲鐨勬暟鎹銆
瑙嗗浘鐪嬩笂鍘婚潪甯稿儚鏁版嵁搴撶殑鐗╃悊琛錛屽瑰畠鐨勬搷浣滃悓浠諱綍鍏跺畠鐨勮〃涓鏍楓傚綋閫氳繃瑙嗗浘淇鏀規暟鎹鏃訛紝瀹為檯涓婃槸鍦ㄦ敼鍙樺熀琛ㄤ腑鐨勬暟鎹錛岀浉鍙嶅湴錛屽熀琛ㄦ暟鎹鐨勬敼鍙樹篃浼氳嚜鍔ㄥ弽鏄犲湪鐢卞熀琛ㄤ駭鐢熺殑瑙嗗浘涓銆
瑙嗗浘鍙浠ヤ嬌鎿嶄綔鑰呭彧鑳界湅鍒拌〃涓鐗瑰畾琛岋紝璧峰埌瀹夊叏淇濇姢浣滅敤銆
鎷撳睍璧勬枡錛
浠ヤ笅鏄涓涓鏁版嵁搴撹嗗浘錛圴iew錛夌殑渚嬪瓙錛屽亣璁炬湁涓涓鏁版嵁搴撹〃"employees"錛屽寘鍚濡備笅瀛楁碉細id, name, age, address, salary銆
sqlCREATE VIEW view_employees_names AS
SELECT name
FROM employees;
榪欎釜SQL鍛戒護鍒涘緩浜嗕竴涓鍚嶄負"view_employees_names"鐨勮嗗浘錛屽畠鍙鍖呭惈"employees"琛ㄤ腑鐨"name"瀛楁點傞氳繃榪欎釜瑙嗗浘錛屾垜浠鍙浠ユ煡璇㈡垨媯緔㈣〃涓鐨"name"瀛楁碉紝鑰屼笉闇瑕佹瘡嬈¢兘鐩存帴鎿嶄綔鏁翠釜"employees"琛ㄣ
渚嬪傦紝鍙浠ヤ嬌鐢ㄤ互涓婼QL璇鍙ユ煡璇㈣ヨ嗗浘錛
sqlSELECT * FROM view_employees_names;
榪欏皢榪斿洖鎵鏈夊憳宸ョ殑鍚嶅瓧銆
⑺ 關於向資料庫中的view插入數據
有的VIEW可以插入數據,數據會保存在相應的表中,看建立的語句。
補充:
各類資料庫可能對VIEW的INSERT和UPDATE規定有區別,下面是MYSQL的規定:
關於可插入性(可用INSERT語句更新),如果它也滿足關於視圖列的下述額外要求,可更新的視圖也是可插入的:
·不得有重復的視圖列名稱。
·視圖必須包含沒有默認值的基表中的所有列。
·視圖列必須是簡單的列引用而不是導出列。導出列不是簡單的列引用,而是從表達式導出的。下面給出了一些導出列示例:
·3.14159
·col1+3
·UPPER(col2)
·col3/col4
·(subquery)
混合了簡單列引用和導出列的視圖是不可插入的,但是,如果僅更新非導出列,視圖是可更新的。考慮下述視圖:
CREATEVIEWvASSELECTcol1,1AScol2FROMt;
該視圖是不可插入的,這是因為col2是從表達式導出的。但是,如果更新時不更新col2,它是可更新的。這類更新是允許的:
UPDATEvSETcol1=0;
下述更新是不允許的,原因在於,它試圖更新導出列:
UPDATEvSETcol2=0;