第10章 資料庫設計
1.請說明資料庫系統之演化過程及應用的情形。
【參考答案】:
圖一是資料庫系統的演化歷程,早期在1960年左右,電子資料處理時期,檔案主要是應用在企業的物料、薪資與會計等資訊系統,1970年代起,階層式與網狀資料庫被發展出來,主要是應用在生產、行銷、薪資、財務與會計等作業,1980年代,取而代之是關聯式資料庫,也是目前資料庫的主流,有集中式、主從式資料庫、平行處理資料庫、異質性資料庫或是分散式資料庫系統。同時,資訊處理的作業方式也延伸至網際網路之作業環境,從1990年代起,物件資料庫開始被應用,此時已經從文字、數字的資料型態增加圖片、聲音或影片等多媒體資料,資料庫之應用範圍也擴大至醫療、科學研究與衛星定位系統。
所謂「檔案」(File)是指:「一群相同資料格式的資料記錄(Data Record)組合而成的一個集合。」換言之,檔案是由若干個具有相同資料格式之邏輯資料記錄所形成的一個集合,因此,檔案又稱之為「資料集」(Data Set)
。一般而言,一個檔案是若干個資料記錄(Data Record)所組成,而每一個資料記錄是由若干個資料欄位(Data Field)所組合而成。
。一般而言,一個檔案是若干個資料記錄(Data Record)所組成,而每一個資料記錄是由若干個資料欄位(Data Field)所組合而成。
類型 | 階層式資料庫 | 網狀資料庫 | 關聯式資料庫 | 物件導向資料庫 |
特性 |
|
|
|
|
優點 |
|
|
|
|
缺點 |
|
|
|
|
物件資料庫的適用對象為大量使用者與多媒體資料、基本上,物件資料庫的適用場合如下﹕(1)需要支援複雜的資料結構的資訊系統,(2)具有不同資料型態的交換能力,(3)支援即興式的查詢作業,與(4)將個人、工作站與大型資料庫進行整合。醫療資訊系統是一個適合的應用場合,因為該系統需要多媒體資料支援包括大量病患之病歷、檢驗或領藥的資料、檢驗影像資料(X光與MRI資料)以及診療資料等。
類型 | 階層式資料庫 | 網狀資料庫 | 關聯式資料庫 | 物件導向資料庫 |
適用對象 | 階層式資料結構檔案,例如材料表(Bill of Material, BOM) | 企業管理資訊系統 | 企業管理資訊系統 | 大型資料庫或多媒體資料庫 |
優點 |
|
|
|
|
缺點 |
|
|
|
|
比較基準 | 集中式架構 | 主從架構(二層或三層以上) | 分散式架構 |
作法 | 資料庫存放在大型電腦主機 | 資料庫存放在後台電腦主機 | 資料庫存放在網際網路之不同電腦主機 |
作業環境 | LAN | LAN 或Internet | Internet |
適用應用對象 |
|
|
|
優點 |
|
|
|
缺點 |
|
|
|
至於作業構面的重點是帳號與密碼控制、存取控制、流程控制、推論控制與資料加密等。一般而言,存取控制的作法有下列三種﹕(1)任意存取控制(Discretionary Access Control, DAC)¾允許資料擁有者將使用權力授與它人的一種做法,它的優點是作業彈性大,但是容易受到駭客入侵或一些電腦病毒的攻擊,(2)強制存取控制(Mandatory Access Control, MAC)¾它是一種高規格的機密保護措施,強制要求只有資料擁有者有使用權力,應用程式大部份是利用控制矩陣檢查使用者合法的使用權力,與(3)以角色為基礎控制(Role-based Access Control, RBAC)¾它是以角色來區分使用權力的一種作法。
技術的工作重點是密碼學與資訊安全相關技術的運用。至於通訊方面,建議採用SSL或SET的傳輸協定(Protocol),以資料加密作業方式進行傳輸,減少資料被竊取的機會。此外,為了保護資料庫的資料安全性,使用「數位浮水印」(Digital Watermarking)的技術也是一個相當有效的作法,它可以減少智慧財產權的資料被非法複製或散佈的機會。
資料庫應用方面的工作重點是實體控制、標準作業程序、稽核作業、安全教育訓練與資料庫管理手冊之建立等。針對一般日常資料處理工作,採取的管制措施如作業人員的管制、密碼檢查、安全政策的建立、應用程式的控制、定期檢查與稽核。因此,資料庫管理師在資料庫系統建立完成以後,第一項工作就是建立使用資料庫系統之個人帳號與密碼做為身分確認與鑑別之用途。其次,資料庫的拷貝與回復作業程序的建立、資料庫檔案的重整(Reorganization)與資料庫安全管制系統的設計等,必須特別加強才行。
- 實體完整性限制(Entity Integrity Constraint)¾規範關聯式資料表的任何一個組值是不能有重複的情形發生,即兩個組值的鍵值屬性不能相同,否則即違反了實體一致性限制。
- 參考完整性限制(Referential Integrity Constraint)¾規範關聯式資料表格之間的關聯(Relationship)之完整性,兩個關聯表彼此之間存在關聯性,其中一個是被參考的關聯稱之為「父關聯」(Parent Relation):而另一個參考關聯的關聯稱之為「子關聯」(Children Relation),由子關聯之外來鍵(Foreign Key)參考父關聯的主鍵(Primary Key)所形成的一個關聯(Relationship)時,而此關聯必須遵循父關聯的主鍵值存在,子關聯的外來鍵值方能存在的限制。
- 鍵值完整性限制(Key Integrity Constraint)¾在一個關聯表中,鍵值是不能有虛無值(Null)的情形發生,主要原因是若鍵值是虛無值時,無法唯一識別關聯表之組值的功能,因此,關聯表必須符合鍵值之完整性。
- 使用者自訂的完整性限制(User Defined Integrity Constraint)¾依據使用者的需求自行定義記錄之新增或更新與刪除之限制條件,例如大學教授的聘用時,必須有教育部審核通過之證書字號才能符合規定的限制。
「水平分割」(Horizontal Partition)是進行反正規化的一種作法,它是指:「以共同的欄位值(Column Values)為基準點,將關聯表分割成數個關聯表。」因此,利用水平分割所產生的每一個檔案均具有相同的紀錄結構。如圖十一所示,將 "地區別" 欄位值以 "N"代表北部地區,"S"代表南部地區,"E"代表北部地區,"W"代表北部地區,經過水平分割以後有四個不同地區客戶基本資料檔。一般而言,水平分割的優點是減少資料處理時間與安全性較佳,其理由是資料經過篩選以後,處理的資料量可以大幅度的減少,或是防止不合法使用者侵入與使用資料庫的情形發生,若是資料庫毀損時,資料回復的時間比較短;其缺點是資料的一致性較差,有可能在更新時不同步的緣故,程式設計的複雜度較高,由於水平分割可能佔用數倍的儲存空間,必須增加一些額外儲存空間與處理的時間。
客戶編號 | 客戶編號 | 地區別 | 住址 | 電話 | FAX | E-MAIL | 客戶等級 |
客戶編號 | 客戶編號 | "N" | 住址 | 電話 | FAX | E-MAIL | 客戶等級 |
客戶編號 | 客戶編號 | "S" | 住址 | 電話 | FAX | E-MAIL | 客戶等級 |
客戶編號 | 客戶編號 | "E" | 住址 | 電話 | FAX | E-MAIL | 客戶等級 |
客戶編號 | 客戶編號 | "W" | 住址 | 電話 | FAX | E-MAIL | 客戶等級 |
零件編號 | 會計 | 工程 | 業務 |
零件編號 | 會計 |
零件編號 | 工程 |
零件編號 | 業務 |
學號 | 姓名 | 就讀科系 |
核准輔修申請代號 | 申請日期 | 申請條件 | 申請日期 | 學號 |
學號 | 姓名 | 就讀科系 | 核准輔修申請代號 | 申請日期 | 申請條件 | 申請日期 | 學號 |
供應商編號 | 住址 | 合約 |
零件編號 | 零件說明 |
供應商編號 | 零件編號 | 價格 |
供應商編號 | 住址 | 合約 |
供應商編號 | 零件編號 | 零件說明 | 價格 |
倉庫編號 | 位置 | 倉庫類型 |
零件編號 | 零件說明 | 倉庫編號 |
零件編號 | 倉庫編號 | 位置 | 倉庫類型 | 零件說明 |
沒有留言:
張貼留言