440 likes | 578 Views
資料庫系統. 資料庫系統. 資料庫:一群相關資料的集合。 資料庫管理系統:用來建立和維護資料庫的套裝軟體。 資料庫系統:資料庫管理系統+資料庫。 一個電腦化的資料保存系統。. 誰使用資料庫系統?. 製造業存放原料、產品、人事、會計與行銷(進、出貨)資料。 銀行 ( 帳目資料 ) 。 航空公司 ( 乘客資料與機位 ) 。 醫院 ( 病患資料 ) 。 學校中 ( 學生、老師、職員的資料 ) 。 圖書館(藏書資料)。 . 資料庫系統上的運算 (operation). 新增或刪除一個資料庫 加入新檔和除去舊檔。 插入、刪除、更新現有檔案裡的資料。
E N D
資料庫系統 Hue-Ling Chen
資料庫系統 • 資料庫:一群相關資料的集合。 • 資料庫管理系統:用來建立和維護資料庫的套裝軟體。 • 資料庫系統:資料庫管理系統+資料庫。 • 一個電腦化的資料保存系統。 Hue-Ling Chen
誰使用資料庫系統? • 製造業存放原料、產品、人事、會計與行銷(進、出貨)資料。 • 銀行(帳目資料)。 • 航空公司(乘客資料與機位)。 • 醫院(病患資料)。 • 學校中(學生、老師、職員的資料)。 • 圖書館(藏書資料)。 Hue-Ling Chen
資料庫系統上的運算(operation) • 新增或刪除一個資料庫 • 加入新檔和除去舊檔。 • 插入、刪除、更新現有檔案裡的資料。 • 從現有檔案中擷取資料。 Hue-Ling Chen
簡單的資料庫系統與運算的例子 欄位 (資料型態, 資料的大小範圍) 記錄 (由彼此相關的欄位組成) 檔案(許多的資料實體) Hue-Ling Chen
(一) 一個【學生成績】的資料庫 Hue-Ling Chen
(二) 一些基本的運算 • 橫列的子集(擷取) SELECT 姓名, 國文, 數學 FROM 學生成績 WHERE 國文 = 77; Hue-Ling Chen
(二) 一些基本的運算 (cont.) • 縱列的子集(擷取) SELECT 姓名, 數學 FROM 學生成績; Hue-Ling Chen
(二) 一些基本的運算 (cont.) • 插入 INSERT INTO 學生成績 VALUES(‘孫七’, 85, 92); Hue-Ling Chen
(二) 一些基本的運算 (cont.) • 更新 UPDATE 學生成績 SET 數學 = 87 WHERE 姓名 =‘孫七’; 87 Hue-Ling Chen
(二) 一些基本的運算 (cont.) • 刪除 DELETE FROM 學生成績 WHERE 國文 = 77; Hue-Ling Chen
為何使用資料庫系統 • 迅速 (特別的資料組成方式與存取技術) • 資料集中控制 (整合性與共用性) Hue-Ling Chen
使用者 程式 資料檔案 ‧‧‧ ‧ ‧ ‧ 使用者 程式 資料檔案 ‧‧‧ 沒有聯繫 重複的程式碼 重複的資料 圖例. 傳統的方法 Hue-Ling Chen
資料庫 管理員 使用者 資料檔案 資料庫管理系統 ‧‧‧ 使用者 共享計算能力、工具 共享資料 與程序等等。 圖例. 資料庫管理系統方法 Hue-Ling Chen
資料庫管理系統(DBMS) 資料庫 應用程式 終端使用者 圖例. 資料庫系統簡圖 Hue-Ling Chen
資料庫系統的組成 • 使用者 • 資料 • 硬體 • 軟體 Hue-Ling Chen
使用者 • 直接使用者: • 這些人的工作是為了查詢、更新與產生報表而需要去存取資料庫。 • 應用程式設計師 • 資料庫設計師:負責設計資料庫,也稱為資料管理員。 • 依照企業的資料作政策決定的人。 • 決定哪些資料先被置入資料庫中,並訂定策略來維護及處理這些資料。 • 資料庫管理師:負責管理資料庫系統。 • 負責執行資料管理員的資料管理決策的技術人員。 Hue-Ling Chen
資料、硬體、軟體 • 資料 • 運算資料: • 使用者產生 • 系統產生 • 異動記錄 • 硬體 • 軟體 • 資料庫管理系統 • 應用程式 Hue-Ling Chen
使用資料庫系統的優點 • 簡潔性 • 節省空間,簡化對資料的管理。 • 增快擷取資料的速度 • 最新的資料 Hue-Ling Chen
使用資料庫系統的優點(cont.) • 可以減少資料的重複性 • 因為每個包含有相同資料的檔案浪費空間 • 可以避免資料的不一致 • 因為當允許資料重複存在時,更新時就有可能造成資料的不一致 Hue-Ling Chen
使用資料庫系統的優點(cont.) • 資料可以共用 • 共用:資料庫中個別的資料中可以讓許多不同的使用者共用,也就是每一個使用者都可以存取同一份資料(並且可用在不同的用途上)。 • 可以強迫遵循標準 (資料的表示法) • 標準化的資料格式對系統間的資料交換有特殊的幫助。 Hue-Ling Chen
使用資料庫系統的優點(cont.) • 安全性的限制可以實行 • 完整性可以維持 (檢查資料型態、範圍大小或不存在的資料) • 整合:將重複的資料完全或部分刪除,以達到不同檔案之間的完整性。 員工資料 員工進修課程 員工進修課程 Hue-Ling Chen
使用資料庫系統的優點(cont.) • 互相抵觸的需求可以平衡 • 提供最佳化的服務 • 資料獨立 • 應用程式對儲存結構和存取技術改變的免疫力。 • 例如:資料的邏輯結構沒有改變,然而相對應的儲存結構卻可以任意改變 Hue-Ling Chen
使用資料庫系統的優點(cont.) • 提供決策支援(Decision Support) • 透過適當的資料模式(Data Models)將資料之間的複雜關係表現出來 • 快速備份(Backup)與回復(Recovery)資料庫 • 提供不同的視界(View) Hue-Ling Chen
資料庫系統架構 • 架構分成三層:內層、概念層、外層。 • 內層:處理資料的實際儲存方式。 • 外層:處理個別使用者觀看資料的方式 (個別使用者景觀)。 • 概念層:介於兩者之間的間接層 (群體使用者景觀)。 • 概念景觀是指資料庫整體資訊的表現方式。 • 每一層由相對的綱要所訂定。 Hue-Ling Chen
外層 ‧‧‧‧‧‧ (個別使用者景觀) 概念層 (群體使用者景觀) 內層 (儲存景觀) 圖例. 架構三個層次 Hue-Ling Chen
資料庫系統綱要 • 資料庫綱要:資料庫的描述;那些在資料庫中應該有的資料庫結構與某些限制型態的描述。 • 資料庫案例:資料庫在某個特定時刻的資料,也稱為資料庫狀態或資料庫出現。 • 資料庫綱要不會經常的變動,然而資料庫狀態在每一次資料庫被更新後就會改變。綱要有時也稱為內涵,資料庫狀態有時也稱為綱要的外在。 Hue-Ling Chen
SELECT Name Male ID Name FROM Male 外層綱要 SELECT Name EMP SSN Name TEL Sex From EMP 概念層綱要 WHERE Sex = 'Male' 內層綱要 Low Level Program 1.相同的物件在不同的綱要可以有不一樣的名字。 2.物件出現在較低的綱要可以不出現在較高的綱要。 資料庫 3.詳細的實作方式只發生在內層綱要。 圖例. 資料庫結構的範例 Hue-Ling Chen
資料庫管理系統中的三層綱要 • 內部綱要:位於內層,描述有關資料庫的資料儲存與存取路徑的完整細節。 • 哪些索引存在、儲存欄如何表示、儲存記錄的實際順序 • 概念綱要:位於概念層,描述整個資料庫的結構與限制。 • 安全性檢驗與整合性檢驗 • 外部綱要:位於外層,描述各種使用者景觀。 • 由該外部景觀中各種不同外部記錄型態的定義所構成) Hue-Ling Chen
邏輯資料獨立:不必改變外部綱要或應用程式,即可改變概念綱要的能力。邏輯資料獨立:不必改變外部綱要或應用程式,即可改變概念綱要的能力。 • 實體資料獨立:不必改變概念綱要即可改變內部綱要的能力。 • 映射:在各層間轉換需求與結果的過程。 Hue-Ling Chen
使用者 使用者 使用者 應用程式 應用程式 應用程式 資料庫管 外部綱要 外部綱要 理員 邏輯資料 獨立 A 映射 概念綱要 實體資料 獨立 B 映射 內部綱要 裝置設 備獨立 C 映射 儲存結構 圖例. 資料庫管理系統架構 Hue-Ling Chen
程式 資料語言 資料庫管理系統 A,B 映射 存取方式 C 映射 實際儲存方式 圖例. 資料存取 Hue-Ling Chen
資料庫管理員的工作 • 定義概念綱要。 • 正確決定資料庫所該儲存的資訊 • 定義內部綱要。 • 決定資料如何表示於儲存資料庫中 • 與使用者聯絡。 • 定義安全性與完整性規則。 • 定義備份和復原的程序。 • 監督執行效率及應付需求的改變。 Hue-Ling Chen
資料管理系統語言 • 資料定義語言(DDL):資料庫系統管理員與資料庫設計師用來定義概念與內部綱要。 • 資料處理語言(DML):處理包括資料的擷取、插入、刪除與修改。 • 資料處理語言的命令(又稱資料子語言)可以被嵌入在一個通用的程式語言(稱為主語言)裡,像是 COBOL、C、PASCAL。 • 使用於獨立交談式的高階資料處理語言稱為查詢語言。 • 資料子語言:主語言必須負責提供各種與資料庫無關的功能。(if … then) Hue-Ling Chen
Givens: string; Rank: string; City: string; … Exec SQL Declare S Table (S# char(5) not null, Sname char(20), Status smalllist, City char(15)); Exec SQL Include SQLCA; … If A > B then begin Readln(Givens); Exec SQL select Status, City into : Rank, : City from S where S# =: Givens; … Writeln (Rank, City); end; 範例. (Pascal+ SQL) 主語言 Pascal 資料子語言 Hue-Ling Chen
資料管理系統語言(cont.) • 資料控制語言(DCL):用來控制資料的保密事宜與存取權限。 Hue-Ling Chen
資料庫管理系統 • 處理所有對資料庫存取的軟體。 • 整體功能是提供資料庫系統的使用者介面。 • 使用者透過資料子語言發出存取要求。 • 資料庫管理系統收到這個要求並加以分析。 • 資料庫管理系統檢視該使用者的外部綱要、對應的外層/概念層映射、概念層綱要、概念層/內層映射及儲存結構定義。 • 資料庫管理系統在儲存資料上執行必須的操作。 Hue-Ling Chen
資料庫管理系統的功能 • 資料定義:接受原始形式的資料定義,並將其轉變成適當的目的形式。對於各種資料定義語言都必須提供一個語言處理程式。 • 資料處理:處理使用者的要求。資料庫管理系統必須提供資料處理語言的處理程式。 • 資料安全性與完整性:資料庫管理系統必須監督使用者的需求,並拒絕任何侵犯資料庫管理員所訂定之安全性及完整性規則的意圖。 • 資料復原及並行性。(交易管理程式) • 資料字典:描述資料的資料。(交叉參考) • 效率 Hue-Ling Chen
設計資料庫的目的 • 使用方便 • 維護方便 • 成本效益好 Hue-Ling Chen
知識的表達 資料庫模型、資料結構、資料整體的維護 處理 效率分析 查詢語言、使用方便性 查詢處理、簡單性、回應 時間、空間需求 圖例. 資料庫系統的研究領域 Hue-Ling Chen
資料處理模式的演進 • 第一階段:人工檔案管理 • 第二階段:以電腦化循序檔案系統為核心 • 第三階段:以電腦化直接存取檔案系統為核心 • 第四階段:以記錄為處理單元的資料庫管理系統為核心。 • 第五階段:以物件為處理單元的資料庫管理系統為核心。 Hue-Ling Chen
資料庫管理系統與檔案系統 • 資料庫管理系統是架在檔案系統上的軟體 • 有些資料庫為了效率上的考量,直接捨棄檔案系統不用,自行控制磁碟或磁帶機等周邊 Hue-Ling Chen