1. 程式人生 > 其它 >檢視、索引和資料庫表之間的關係

檢視、索引和資料庫表之間的關係

1 表

  • 資料庫中的資料都儲存在表中;
  • 表示物理儲存的,真實存在的。

2 檢視

2.1 檢視的定義

檢視:檢視本身就是一張虛擬表,其內容與真實表類似,包含一些列帶有名稱的列和行資料。檢視並不在資料庫中以儲存資料值的形式存在。行和列資料來定義檢視的查詢所引用基本表,並且在具體引用檢視時動態生成。

  • 檢視是基於SQL語句的結果集的視覺化表;
  • 包含行和列,就像一個真實的表。檢視中的欄位就是來自一個或多個數據庫中的真實的表中的欄位。
  • 檢視是邏輯概念,並非真實存在,它不同於一張物理表,它是一個邏輯表。
  • 檢視是SQL集,它表示的事對一個SQL查詢的結果。

2.2 檢視的特點

  • 檢視的列可以來自於不同的表,是表的抽象在邏輯意義上建立的新關係;
  • 檢視是由基本表(是表)產生的表(虛表);
  • 檢視的建立和刪除不影響基本表;
  • 對檢視內容的更新(新增、刪除、修改)直接影響基本表;
  • 當檢視來自多個基本表時,不允許新增和刪除資料。

2.3 建立檢視的 SQL 語句

2.3.1 建立檢視

create view View-name [引數列表]
as select [查詢列表] from 表名;

2.3.2 查詢檢視

select [檢視列表] from 檢視名

2.3.3 建立各種視圖表

3 索引

3.1 索引的定義

資料庫索引通俗的講就是和書本的目錄一樣,只要就是為了提高查詢資料的效率。由於資料儲存在資料庫表中,所以索引是建立在資料庫表物件上,有表中的一個欄位或多個欄位生成的鍵組成,由表中的一個或多個欄位生成的鍵組成,這些鍵儲存在資料結構(B-樹或hash表)中,通過MySQL可以快速有效地查詢和鍵值相關聯的欄位。根據索引的儲存型別,可以將索引分為B型樹索引(Btree)和雜湊索引(hash)。MySQL中支援的索引有6中,分別是普通索引、唯一索引、全文索引、單列索引、多列索引和空間索引。

3.2 索引的特性

  • 在不讀取整個表的情況下,索引使資料庫應用程式可以更快地查詢資料。(是為了快速查詢而針對某些欄位建立起來的)
  • 更新一個包含索引的表需要比更新一個沒有索引的表更多的時間,這是由於縮影本身也需要更新。