視圖與表格
視圖和表都是兩種數據庫對象類型。簡而言之,視圖被存儲或命名為select查詢。可以如下所示創建它們。
創建或替換視圖視圖名稱
作為
選擇語句;
表由列和行組成。列是屬於同一數據類型的一組數據。行是一系列值,可以來自不同的數據類型。列由列名標識,每行由表主鍵唯一標識。表是使用“createtable”DDL查詢創建的。
創建表表\u名稱(
列名稱1數據類型(長度),
列名稱2數據類型(長度)
….
….
….
);
意見
如前所述,每個視圖的主體都是一個SELECT語句。視圖被稱為數據庫的“虛擬表”。儘管視圖存儲在數據庫中,但是在使用另一個SELECT語句調用它們之前,它們不會運行。當使用SELECT語句調用它們時,將執行它們存儲的SELECT查詢並顯示結果。由於視圖只有SELECT查詢作為其主體,因此不需要很大的空間。這裡有一些觀點的好處,
- 創建視圖後,可以使用其名稱反覆調用它,而無需多次編寫SELECT查詢。
- 因為這些視圖是預編譯的對象,所以它的執行時間比單獨執行SELECT查詢(視圖主體)要短。
- 視圖可用於限制表數據訪問。因此,它們在數據安全方面也可以發揮重要作用。
桌子
表是行的集合。行可以包含來自不同數據類型的數據。表的每一行都必須使用唯一標識符(主鍵)進行標識。表是我們存儲數據的地方。INSERT、UPDATE和DELETE查詢可用於**新行、更新現有行值以及從表中刪除行。應使用SELECT查詢從表中檢索數據。表結構也可以在創建後更改(如果需要)。應該使用ALTER TABLE querys來更改表結構。表需要比視圖更多的空間來存儲其數據內容。數據庫中有幾種類型的表。
- 內部表格
- 外部表格
- 臨時表
視圖和表之間有什麼區別?視圖是虛擬表,它引用SELECT查詢,但表實際上在數據庫.視圖不需要很大的空間來存儲其內容,但表需要比視圖更大的空間來存儲其內容內容。視圖可以使用“create or replace”語法創建。但是不能使用“create or replace”創建表,它必須是“create table”語法。因為表創建DDL不允許替換.表格列可以被索引。但是視圖列不能被索引。因為視圖是虛擬的桌子。桌子結構可以用ALTER語句修改,但不能用ALTER語句修改視圖的結構。(必須重新創建視圖以修改其結構)DML命令可用於**、更新和刪除表的記錄,但DML僅允許用於可更新視圖,這些視圖在視圖選擇中沒有以下內容語句集運算符(INTERSECT、MINUS、UNION、UNION ALL)DISTINCTGroup聚合函數(AVG、COUNT、MAX、MIN、SUM,等等)GROUP BY子句Order BY ClauseCONNECT BY ClauseSTART WITH ClauseCollection表達式位於Select ListJoin查詢的Select ListSub查詢中 |