阿摩線上測驗 登入

申論題資訊

試卷:108年 - 合作金庫商業銀行 108 年第二次新進人員 開放系統第二類程式設計人員 專業科目:程式設計(以 APP、Angular JS/TS、SQL 語言為主)、系統分析、 資料結構及資料庫應用#78869
科目:程式設計(以 JAVA、SQL 語言為主)、系統分析、資料結構及資料庫應用
年份:108年
排序:3

題組內容

第二題: SQL 是用來存取關聯式資料庫系統的結構化查詢語言,它可用來操作及管理資料庫的程 式敘述,請分別說明以下內容: (三)針對以下 SQL SELECT 程式指令,請撰寫其程式敘述(包括實例)和說明其功 能?【9 分】

申論題內容

第二題: SQL 是用來存取關聯式資料庫系統的結構化查詢語言,它可用來操作及管理資料庫的程 式敘述,請分別說明以下內容: (二)從 SQL 資料儲存運作的角度,來說明資料表和檢視表(view table)的差異?【8 分】

詳解 (共 2 筆)

詳解 提供者:god Manto

View 檢視表和資料表(table)主要差異在於是否有實際儲存資料。View 檢視表主要是儲存複雜或常用的 SQL 查詢敘述,透過查詢敘述取得的資料更進一步進行查詢和過濾,並沒有實際儲存資料,可以想成就是一個虛擬的資料表(virtual table)。

詳解 提供者:hchungw

資料表(Table)和檢視表(View Table)的差異

在 SQL 資料庫中,資料表和檢視表都是用來儲存和檢視數據的重要結構,但它們有著不同的功能和用途。以下是從 SQL 資料儲存運作的角度來說明兩者的差異:

資料表(Table)

意涵

  • 資料表是關聯式資料庫中的基本儲存單位,實際儲存數據的結構。每個資料表由行(rows)和列(columns)組成。

特點

  • 數據儲存:資料表直接在資料庫中儲存數據。
  • 數據結構:表的結構定義了數據的模式(schema),包括列的名稱、數據類型和約束條件(如主鍵、外鍵、非空約束等)。
  • 持久性:數據表中的數據是持久化的,存儲在硬盤上,直到被明確刪除或更新。
  • 操作:可以使用 SQL 語句進行插入(INSERT)、更新(UPDATE)、刪除(DELETE)和選擇(SELECT)等操作。
 

檢視表(View Table)

意涵

  • 檢視表是基於一個或多個資料表(或其他檢視表)的虛擬表,它並不儲存實際數據,而是儲存一個查詢語句的定義。每次訪問檢視表時,實際上是執行這個查詢語句。

特點

  • 數據儲存:檢視表不直接儲存數據,它依賴於基礎資料表中的數據。檢視表是一個動態的查詢結果,數據存儲在基礎表中。
  • 數據結構:檢視表的結構由其查詢語句的結果集決定,通常是基於 SELECT 語句。
  • 持久性:檢視表本身的定義是持久化的,但它不儲存數據,數據是動態生成的。
  • 操作:檢視表主要用於數據查詢,某些檢視表(特別是簡單檢視表)也支持插入、更新和刪除操作,前提是這些操作可映射到基礎資料表。
 

差異總結

特性 資料表(Table) 檢視表(View Table)
數據儲存 直接儲存數據 不儲存數據,基於查詢動態生成
數據結構 定義模式,包括列名稱、數據類型和約束條件 基於查詢語句的結果集
持久性 數據和結構均持久化 只有定義持久化,數據由基礎表動態生成
操作 支持插入、更新、刪除和選擇操作 主要用於選擇操作,某些情況下支持插入、更新和刪除操作
依賴性 獨立存在 依賴於基礎表

使用場景

  • 資料表:適用於需要直接存儲和管理數據的情況,常用於數據插入、更新和刪除操作。
  • 檢視表:適用於需要基於現有數據創建不同視圖的情況,可以簡化複雜查詢,提供數據安全性(通過限制訪問檢視表),並且可以提高數據查詢的重用性。

通過了解這些差異和使用場景,可以更好地設計和管理資料庫結構,滿足不同應用的需求。