440 likes | 564 Views
第 13 章 檔案與資料庫. 章節大綱. 13-1 認識檔案 13-2 檔案存取方式 13-3 認識資料庫 13-4 資料庫模式 13-5 資料庫應用實例. 13-1 認識檔案. 無論是資料、指令或程式,均以檔案 (file) 的形式放在儲存裝置,而數個檔案可以存放在目錄 (directory) 或資料夾 (folder) 。 目錄屬於 階層式結構 。 檔案或目錄的儲存裝置方式取決於檔案系統。 檔案名稱有主檔名與副檔名兩個部分。
E N D
章節大綱 • 13-1 認識檔案 • 13-2 檔案存取方式 • 13-3 認識資料庫 • 13-4 資料庫模式 • 13-5 資料庫應用實例
13-1 認識檔案 • 無論是資料、指令或程式,均以檔案 (file) 的形式放在儲存裝置,而數個檔案可以存放在目錄 (directory) 或資料夾 (folder)。 • 目錄屬於階層式結構。 • 檔案或目錄的儲存裝置方式取決於檔案系統。 • 檔案名稱有主檔名與副檔名兩個部分。 • 檔案路徑指定方式有絕對路徑 (absolute path) 與相對路徑 (relative path) 兩種。 回章節大綱
13-2 檔案存取方式 • 檔案存取方式,包括循序檔案 (sequential file)、索引檔案 (indexed file)、雜湊檔案 (hash file)…,其中循序檔案屬於循序存取,索引檔案和雜湊檔案屬於隨機存取。 回章節大綱
13-3 認識資料庫 • 13-3-1資料V.S.資訊V.S.資料庫 • 13-3-2資料的階層架構 • 13-3-3資料庫的架構 • 13-3-4資料庫管理系統 (DBMS) • 13-3-5分散式資料庫 • 13-3-6檔案處理系統V.S.資料庫管理系統 回章節大綱
13-3-1 資料V.S.資訊V.S.資料庫 • 資料 (data) 係指尚未處理的文字、數字、符號、圖片、影像、聲音等。 • 數位相機所拍攝的照片屬於資料 • 資訊 (information) 係指已經處理的文字、數字、符號、圖片、影像、聲音等。 • 印表機的列印稿屬於資訊 • 資料庫(database) 係指依照一定格式存放在一起的資料。 回章節大綱
13-3-2 資料的階層架構 • 位元 • 字元 • 欄位 • 記錄 • 檔案 • 資料庫 回章節大綱
13-3-3 資料庫的架構 ANSI/SPARC將資料庫的架構定義三個層次: • 內層 (internal level) • 概念層 (conceptual level) • 外層 (external level) 回章節大綱
13-3-4 資料庫管理系統 (DBMS) 資料庫管理系統是用來操作與管理資料庫的軟體, 主要涵蓋下列四個部分: • 硬體 • 軟體 • 資料 • 使用者 回章節大綱
13-3-4 資料庫管理系統 (DBMS) • 資料字典:用來存放資料庫內的檔案資訊 • 資料維護的基本動作: • 新增記錄 (adding record) • 變更記錄 (changing record) • 刪除記錄 (deleting record) 回章節大綱
13-3-4 資料庫管理系統 (DBMS) • 資料擷取 (data retrival) 有兩種形式: • 查詢(query) • 報表(report) • 資料完整性 (data integrity)是指資料的有效性、可靠度及精確度,而完整性限制 (integrity constraint) 是資料為維持完整性須遵守的規則。 • DBMS軟體提供「使用者驗證」及「存取權限」功能,以確保資料安全性。 回章節大綱
13-3-4 資料庫管理系統 (DBMS) • 資料必須定期備份 (backup),一旦遺失或損毀,可進行還原 (restore)。 • 資料庫通常允許多位使用者同時存取,DBMS軟體須負起資料同步控制的責任。 • 為避免工作排程結合鎖定協定發生死結, 我們賦予較舊的交易較高優先權,當兩個交易發生存取衝突時,較新的交易須中斷重新開始,讓較舊的交易優先存取資料,敬老協定 (wound-wait protocol)。 回章節大綱
13-3-5 分散式資料庫 回章節大綱
13-3-6 檔案處理系統V.S.資料庫管理系統 • 早期採用檔案處理系統來存放與管理資料,雖然設計較簡單、存取速度較快、開發成本較低,卻有著資料重覆、不易分享、格式不統一、資料與應用程式高度相依、無法建立關聯等問題,因為組織內不同部門可能擁有各自資料檔案,資料檔案格式針對各個部門經常使用的應用程式所制定 回章節大綱
13-3-6 檔案處理系統V.S.資料庫管理系統 資料庫管理系統 (DBMS) 有如下優點: • 減少資料重覆 • 資料分享與維持一致性 • 資料獨立 • 提供不同觀點來檢視資料 • 提供多重使用者介面 • 確保安全性 • 完整性限制 回章節大綱
13-3-6 檔案處理系統V.S.資料庫管理系統 資料庫管理系統 (DBMS) 有如下缺點: • 初期投資成本較高 • 定義及處理資料的時間較長 • 為提供安全性、資料分享、維持一致性、完整性限制等功能,容易浪費資源 • 長期管理不易,系統往往會日趨複雜 • 一旦系統停擺可能導致企業或組織癱瘓 回章節大綱
13-4 資料庫模式 • 資料庫模式 (database model)是資料庫存放資料須遵循的規則與標準,常見的有: • 階層式(heirarchical) • 網狀式 (network) • 關聯式 (relational) • 物件導向式 (objectoriented) • 多維式 (multidimentional) • 物件關聯式 (objectrelational) • 少數資料庫結合了關聯式和物件導向式特點,屬於物件關聯式 回章節大綱
13-4-1 階層式資料庫 • 階層式資料庫的組織方式就像樹狀結構,每個實體一個父節點,但可有多個子節點,適合存放一對多關係的資料,優點是當資料具階層關係時,資料庫容易建立、搜尋與維護;缺點則是不適合存放多對多關係的資料,須透過父節點存取子節點,使父節點易成為存取瓶頸。 回章節大綱
13-4-2 網狀式資料庫 • 網狀式資料庫的組織方式就像圖形結構,優點是突破階層式資料庫限制,可存多對多關係資料;缺點則是增加複雜度,造成程式設計人員負擔,資料庫進行變更時易出錯。 回章節大綱
13-4-3 關聯式資料庫 • 由行與列所構成的資料表 (table) 來存放資料 • 每個直行稱欄位或屬性,代表資料特徵 • 每個橫列稱記錄或列錄,代表資料實體 • 不同資料表有共通欄位,資料表之間產生關聯,故資料表又稱為關聯表 (relation) • 大部分關聯式資料庫均支援SQL (structured query language) 結構化查詢語言,進行資料擷取或維護 回章節大綱
13-4-4 物件導向式資料庫 • 以物件來存放資料 • 優點是存取資料速度較快,可存放更多類型資料 • 物件導向式資料庫的查詢語言叫做OQL (object query language),和SQL類似 回章節大綱
13-4-5 多維式資料庫 • 以維度來存放資料,不同多維式資料庫不同維度 • 不同的多維式資料庫有各自的查詢語言,但大多查詢語言都和SQL類似 回章節大綱
13-5 資料庫應用實例(一) 一、開啟空白資料庫 1. 點取 [開始] 按鈕,依序選取 [程式集] \ [Microsoft Access]。 2. 點取 [空白資料庫]。 回章節大綱
13-5 資料庫應用實例(一) 3.選擇資料庫檔案的存放路徑,然後輸入檔案名稱,再按 [建立]。 回章節大綱
13-5 資料庫應用實例(二) 二、定義各個資料表的欄位名稱與資料類型 1.在 [使用設計檢視建立資料表] 按兩下。 回章節大綱
13-5 資料庫應用實例(二) 2.輸入欄位名稱為「座號」,選擇資料類型為「數字」,再設定欄位內容。 3.依序輸入「姓名」、「出生年月日」、「通訊地址」等欄位名稱,資料類型分別為「文字」、「日期/時間」、 「文字」,再設欄位內容。 回章節大綱
13-5 資料庫應用實例(二) 4. 點取 [關閉] 按鈕,此時詢問是否要儲存資料表,請按 [是]。輸入資料表名稱「學生資料」,按 [確定]。此時詢問是否定義主索引,按 [否]。 回章節大綱
13-5 資料庫應用實例(二) 5. 仿照前述步驟建立「資料表」: 國文成績、數學成績、自然成績,三個資料表。 並將以下資料表欄位類型設為「數字」: 座號、國文分數、數學分數、自然分數。 回章節大綱
13-5 資料庫應用實例(三) 三、輸入各個資料表的資料 1.在「學生資料」資料表按滑鼠右鍵,選擇 [開啟],依序輸入學生的座號、姓名、出生年月日及通訊地址。 2.仿照前述步驟輸入三個資料表: 國文成績、數學成績、自然成績。 回章節大綱
13-5 資料庫應用實例(四) 四、設定關聯式資料庫與進行查詢 1.點取 [查詢] 標籤,在 [使用設計檢視建立新查詢] 按兩下。 2.選取要建立關聯式資料庫的資 料表,按 [新增],若要選取多 個,按住 [Ctrl] 鍵選取,再按 [關閉] 。 回章節大綱
13-5 資料庫應用實例(四) 3. 出現如下的查詢視窗,裡面有剛才選取的四個資料表。將四個資料表設為關聯式資料庫,共通欄位為「座號」 ,要先建立關聯。 回章節大綱
13-5 資料庫應用實例(四) 4.進行查詢,假設產生一個包含「座號」、「姓名」、「國 文分數」、「數學分數」及「自然分數」五個欄位的資料 表,先在第一個欄位按一下,再從下拉式功能表選取 [學生資料.座號]。依序選取 [學生資料.姓名]、[國文成績.國文分數]、[數學成績.數學分數]、[自然成績.自然分數]。 回章節大綱
13-5 資料庫應用實例(四) 5.點取工具列 [儲存檔案] ,輸入查詢名稱,按 [確定]。剛建立的查詢出現在對話方塊,若要開啟資料表,在查詢名稱按右鍵,選 [開啟],若要修改,選 [設計檢視]。 6.下圖是此查詢的資料表。 回章節大綱
13-5 資料庫應用實例(五) 五、進行排序查詢:產生一個包含「座號」、「姓名」、「國文分數」三個欄位的資料表,而且要依照國文分數由高至低排序。 1.點取 [查詢] 標籤,在 [使用設計檢視建立新查詢] 按兩下。選取要建立關聯式資料庫的資料表,按 [新增],若要選取多個資料表,按住 [Ctrl] 鍵,選取完再按 [關閉]。 回章節大綱
13-5 資料庫應用實例(五) 3. 將「座號」欄位設為共通欄位,依序選取 [學生資料.座號]、[學生資料.姓名]、[國文成績.國文分數] 三個欄位,在國文分數的排序欄位按一下,選取 [遞增排序]。 4. 點取工具列的 [儲存檔案] ,然後輸入這個查詢的名稱,再按 [確定]。 回章節大綱
13-5 資料庫應用實例(五) 5.開啟剛才建立的查詢,就可看到國文分數由高至低排序的新資料表。 回章節大綱
13-5 資料庫應用實例(六) 六、其它查詢 若要找出國文分數大於85之學生的座號、姓名及分數,可建立如下查詢: 回章節大綱
13-5 資料庫應用實例(六) 若要找出姓名包含“小”或“永”之學生的座號、姓名及國文分數,可建立如下查詢: 回章節大綱
13-5 資料庫應用實例(六) 若要找出出生年次為1984之學生的座號、姓名及出生年月日,可建立如下查詢: 回章節大綱
13-5 資料庫應用實例(六) 若算出每個學生各個科目總分,依照總分由高至低排序,可建立如下查詢 : 回章節大綱
13-5 資料庫應用實例(七) 七、產生報表 1.選取[報表] 標籤, 選取[新增] 按鈕。 2.選取格式及資料來源, 例如前面所設定的查詢1- 列出各科成績,按 [確定]。 回章節大綱
13-5 資料庫應用實例(七) 3. 將資料來源設為表格式報表的結果。選取報表視窗 [關閉] ,出現對話方塊詢問是否儲存此報表,按 [是]。 回章節大綱
13-5 資料庫應用實例(七) 4.出現 [另存新檔] 對話方塊,輸入報表名稱,按 [確定]。 5.如果您在步驟2. 的對話方塊中 選取 [自動產生表格-單欄式], 則會產生如右格式的報表。 回章節大綱