資料庫管理系統把資料集合在一起第十四章學習目的說明資料的階層架構解釋檔案與資料庫之間的不同列出四種資料庫模式說明資料完整性的概念說明資料庫管理系統的功能以一般術語說明建立資料庫的過程比較關聯式資料庫與物件導向資料庫的異同解釋什麼是資料倉儲以及它和資料庫有何不同內容電腦資料庫資料庫管理系統DBMS過程協同控制安全性備份與還原研究資料電腦資料庫記錄資訊維持一致的標準由於較好的資訊儲存效能而提升生產力資料的階層架構欄位•有意義的資料的最小單位•包括一或多個字元所組成有特定意義的群組資料錄•一組欄位的集合,包含代表某個實體的所有資訊•每個資料錄所包含的欄位以及欄位的順序是相同的檔案•相關資料錄的集合資料的階層架構檔案處理檔案處理•資料重複資料庫模式可以降低資料重複的情況•節省資料儲存空間•方便修改資料時間精確性資料庫模式資料庫種類•關聯式•物件導向•階層式•網路式每一種資料庫模式的結構、組成方法、資料的使用方式都不一樣RDBMS關聯式資料庫管理系統將資料組織成相關的資料表(檔案)資料表是由列與欄所組成資料表彼此之間是根據共同的欄位而連結在一起(索引鍵)RDBMS索引鍵主索引鍵(Primarykey)•它的值可以用來唯一識別某個資料錄的欄位外部索引鍵(Foreignkey)•它是另一個資料表的主索引鍵•被用來連結到其它資料表•可以有重複的值OODBMS物件導向資料庫管理系統Manipulatesobject-orienteddatabasesObject–representsareal-worldentity•Attributes/propertiesDataabouttheentity•Methods/ActionsOperationsthatworkthedataOODBMS物件導向資料庫管理系統與RDBMS比較•更複雜•學習曲線很陡峭•只有極少數受過訓練的人夠資格來管理,而這些人的薪水都非常高物件/關聯式DBMS的組合•關聯式資料庫中加入了一些可以處理複雜的資料類型的功能資料完整性資料精確和可靠的程度完整性限制–規則•欄位可以接受什麼樣的值•主索引鍵的值•外部索引鍵在資料輸入時必須強制遵守完整性限制,否則輸入進來的資料就不可靠DBMS資料庫管理系統軟體層級功能複雜的•大型主機•價格昂貴–數萬美元•複雜度高•必須由專業人士來規劃與維護功能簡單的•PC•不貴–數百美元•一般使用者就可以自行建立和使用DBMS資料庫管理系統基本功能建立資料庫輸入資料必要時修改資料從資料庫中擷取出資訊DBMS建立資料庫資料字典/目錄•用來儲存資料庫中關於資料表與欄位的資料每個資料表•資料表名稱•關係每個欄位•欄位名稱•資料型別•欄位大小•驗証規則DBMS輸入與修改資料基本動作•加入新資料•修改現有的資料•刪除資料兩種方法•使用者直接與DBMS溝通•由專業的程式設計師撰寫程式,使用DBMS內建的特定命令來存取資料DBMS資料擷取從資料庫中取得你想要的資料主要的形式•查詢•報表查詢詢問關於資料的問題設定要從資料庫中選取哪些資料的條件結果是資料庫中的某一小部分查詢語言•使用類似英文的敘述來作查詢•每一種DBMS可能都有它自己的查詢語言,不過大部分的關聯式DBMS也會支援結構化查詢語言(SQL)查詢SQL結構化查詢語言(StructuredQueryLanguage)可能是由使用者直接輸入,或是內含在程式裡QBE範例式查詢(Query-by-Example)透過圖形介面來指定你要的條件報表把來自資料庫中的資料套用某些格式美化後呈現出來通常是列印出來的使用報表產生器所設計出來的DBMS的處理過程輸入資料檢查資料並加以編輯直到完全正確為止描述資料DBMS的處理過程紙上計畫…報表…協同控制大型系統資料庫通常可以同時讓許多使用者存取如果有數位使用者剛好同時都要修改同一筆資料錄,就會發生問題資料錄鎖定•第一位使用者發出請求時•DBMS會將資料錄鎖定,不讓其他使用者修改,直到第一個使用者動作完成為止協同控制安全性當資料是集中儲存在某一個位置時•問題:如何避免未經授權的存取•好處:較容易制定安全控管措施方式•使用者ID及密碼•每位使用者可能會被指派特定的存取權限唯讀修改備份與還原原因•資料可能會意外損毀或遺失•硬體可能出問題•天災可能導致實體的損毀•軟體或人為疏失也可能破壞資料備份–應該要定期進行復原–把損毀的資料庫取代成好的備份資料的探究OLTP即時線上交易處理(onlinetransactionprocessing,OLTP)用來處理每日進行的資料庫交易對資料分析方面的助益不大資料的探究資料倉儲資料庫是設計來支援企業每日的營運資料是從資料庫中抓取出來的•摘要形式•定期•每隔一段時間就抓取一次也可能包含從外部來源收集而得的資料資料的探究資料倉儲即時線上分析處理(OnlineAnalyticalProcessing,OLAP)•對資料進行分析•產生經理人想要的資訊資料採礦(Datamining)•使用統計與人工智慧技術•找出其中的規律性關係相互關係趨勢•幫助經理人制定策略性的商業決策