Download presentation
Presentation is loading. Please wait.
Published byFanny Tanudjaja Modified 6年之前
1
陳以德 助理教授: 濟世CS912 07-3121101 轉 2782 itchen@kmu.edu.tw
資料庫系統 database 陳以德 助理教授: 濟世CS912 轉 2782
2
學習目標 資料庫系統簡介 資料庫系統的分類 關聯式資料庫的結構 共用資料庫修改同步問題 關聯式資料庫的分類 資料庫系統未來的發展
3
資料庫系統簡介(一) 資料庫 Database 資料庫管理系統DBMS(Data Base Management System)
龐大且有關聯資料組成, 具有某種特殊結構以供多個系統讀取 資料庫管理系統DBMS(Data Base Management System) 資料庫與使用者間之介面, 可建立, 整理, 輸入, 讀取所須之資料 電腦資料庫使用實例: 圖書館之藏書及借還之紀錄 警察局之犯罪紀錄 顧客名單 比賽結果及統計成績 醫院病例系統
4
資料庫系統 DBMS 客戶 資料庫 產品 資料庫 進銷存 資料庫 User Manager
5
資料庫系統簡介(二) 資料庫管理系統之功能 建立資料庫 交談式資料的輸入、更新及其保持資料一致性 交談式查詢 報告或報表的產生
資料保護與共享 資料資料備份與復原
6
資料庫系統簡介(四) 資料庫的優點: 資料庫的缺點:昂貴、存取控制複雜、Excess
減少資料重複(Reduced redundancy):減少姓名、學 號、住址一類資料重複輸入與存放的狀況。 整合資料(Integrated data):資料的完整性與相關性可 以獲得確保,以滿足「調查學生借書多寡與成績之間的關 係」這類的需求。 完整性(Integrity):某個學生退學或者住址改變,是不 是全校關於這個學生的資料都改變? 資料庫的缺點:昂貴、存取控制複雜、Excess
7
資料庫系統的分類 依資料模型來區分 階層式資料庫(Hierarchical data model):將資料組 成類似樹狀階層模式,就是把資料看成是一組樹狀結 構的型態 網狀資料庫(Network data model):一個資料庫,其子 元素可至一個或多個母元素,就是把資料看成一組網 狀結構的型態(最早研發出來) 關聯式資料庫(Relational data model):把資料看成 一些彼此有相關的表格,目前以此類的資料庫最為成 功(大概是因為觀念簡單好實作) Relational Database Management System
8
關聯式資料庫的結構(一) 資料庫:內含許多「表格」(table) 表格:內含許多「記錄」(record)
紀錄:內含許多「欄位」(field),儲存在 欄位中的資料型態是固定的。 許多表格之間,依賴特定的欄位(稱之為key) 建立起彼此的關係,將之「關聯」起來。 以某醫學院圖書館的資料庫為例: 該資料庫共有三個Table:圖書基本資料、讀者 基本資料、借閱資料
9
關聯式資料庫的結構(二) 圖書基本資料(Table) 欄位(Field) 記錄 Record Key,也是欄位
10
關聯式資料庫的結構(三) 讀者基本資料: 借閱資料: key
11
共用資料庫修改同步問題 兩個使用者同時修改一筆資料時就會發生資 料錯亂的問題,必須依賴特定的「鎖定機制」 來解決這種資料錯亂問題。
這問題處理不好會造成「死結」問題,造成 系統當機。
12
資料檔與索引檔 排序可以加速搜尋,不過資料檔本身只可能 按照一種方式排序,無法滿足所有的快速查 詢要求。
索引檔取某些排序後之欄位,配合指標之使 用以解決此問題。 一個表格可以有多個索引檔
13
關聯式資料庫的分類(一) 關聯式資料庫依照功能與實作的完整度,大概可分 為:
單機資料庫、File Server資料庫、Client Server資 料庫 單機資料庫:無法與人共享資料庫資料。架構簡單, 速度相當快,應用在個人的通訊錄、錄影帶管理系 統、漫畫出租系統
14
關聯式資料庫的分類(二) File Server資料庫:透過分享資料庫檔案的 方式共用資料庫資料,必須由資料庫應用程 式負責資料修改的同步動作 查詢資料庫時,必須將整個資料庫的資料透 過網路傳送,形成速度瓶頸 架構簡單,速度、容量與安全程度較差。 DbaseIII、Clipper、Access屬於這類型的資 料庫。通常應用在數十部電腦以下的環境中。
15
關聯式資料庫的分類(三) File Server型態的資料庫
16
關聯式資料庫的分類(四) Client Server資料庫:透過資料庫管理系統處 理所有工作站對資料庫的查詢、修改、新增 要求,並自動做到資料同步的功能。網路上 只傳遞要求與結果,大量降低網路頻寬需求。 並且可以利用cache等方式來提升工作效率, 在速度、安全、容量上都較為優越。 資料庫管理系統一般都相當複雜昂貴,目前 以DB2、Oracle、Informix、Sybase、SQL Server等較為常用。另外也有強大而免費的 系統:PostgreSQL、MySQL、SQLite 。
17
關聯式資料庫的分類(五) Client Server資料庫:
18
資料庫正規化 正規化的目的: 避免資料重複或相互矛盾的情形 使資料庫在使用時能更有效率、更容易維護 1NF (Normal Form)、2NF、3NF、 BCNF(Boyce-Codd Normal Form)、4NF、 5NF
19
1NF (Normal Form) 刪除各個資料表中的重複群組 為每一組關聯的資料建立不同的資料表 使用主索引鍵識別每一組關聯的資料
20
2NF 符合1NF 各欄位與主鍵間沒有部分相依的關係
21
3NF 符合2NF 各欄位與主鍵間沒有間接相依的關係
22
BCNF (Boyce-Codd Normal Form)
23
4NF 多值從屬性的決定項都為Prime Key
24
5NF 影射-結合從屬性的決定項都為Prime Key
正規化只是建立資料表的原則。過度正規化, 反而影響資料存取的效率。在考量執行效率 的前提下,有時還必須做適當的反正規化 (Denormalize)
25
資料庫未來的發展 在關聯資料庫系統中,加入「物件導向」特質。 分散式資料庫:資料庫存放在不同的電腦中。
更好的同步機制:Table lock、Page lock、Record lock 更好的錯誤回復能力(提款機突然停電)。 Open office 提供BASE軟體,Office有Access,支援基 本資料庫功能 資料探勘
26
資料庫管理系統 Oracle MySQL、SQLite、PostgreSQL Base Sybase、Informix、FoxPro
IBM DB2 MS SQL、Access
27
Summery 資料庫系統簡介 資料庫系統的分類 關聯式資料庫的結構 共用資料庫修改同步問題 關聯式資料庫的分類 資料庫系統未來的發展
Similar presentations