360 likes | 542 Views
第八章 檔案與資料庫. 8-1 檔案簡介 8-2 檔案存取方式 8-3 資料庫簡介 8-4 Access 資料庫簡介. 「檔案」( File )與「資料庫」( Database )可以說是「電子資料處理」中最重要的元素。 「檔案」就是將所要輸出入的資料以系統化的方法利用「輔助記憶體」(如光碟、磁碟等)組織起來。
E N D
第八章 檔案與資料庫 8-1 檔案簡介 8-2 檔案存取方式 8-3 資料庫簡介 8-4 Access資料庫簡介
「檔案」(File)與「資料庫」(Database)可以說是「電子資料處理」中最重要的元素。「檔案」(File)與「資料庫」(Database)可以說是「電子資料處理」中最重要的元素。 • 「檔案」就是將所要輸出入的資料以系統化的方法利用「輔助記憶體」(如光碟、磁碟等)組織起來。 • 「資料庫」則是以一貫作業方式,將一群相關「資料集」(Data Set)或「資料表」(Data Table)所組成的集合體,儘量以不重覆的方式儲存在一起,並利用「資料庫管理系統」(Data Base Management System, DBMS)以中央控管方式,提供企業或機關所需的資料。
8-1檔案簡介 • 位元(Bit):儲存內部資料的最小單位,如同機器語言中的0與 1。 • 位元組(Byte):表示一個「字組」(Word)所需的位元數目,八個位元表示一個位元組。 • 欄位(Field):由數個「位元組」(Byte)組成,為一個獨立且具備某種意義的資料項目,例如身分證資料上的姓名、性別、住址等都算是一種「欄位」。 • 記錄(Record):由幾個彼此相關的「欄位」所構成,例如姓名、性別、住址、身分證字號、出生年月日等「欄位」可構成一個國民的身分證「記錄」。 • 檔案(File):由數筆相關的記錄構成,例如國民身分證檔就是描述所有國民的每筆記錄所構成。 • 資料庫(Database):針對企業與組織需求,將不重覆的各種檔案儲存在一起,並透過中央控管方式提供企業所需的作業資料。
依據檔案儲存的實際型態的分類 • 文字檔 • 文字檔是以字元編碼的方式進行儲存,在Windows作業系統中副檔名為txt的檔案,就是屬於文字檔,在記事本(NotePad)程式中則預設以ASCII編碼來儲存文字檔,每個字元佔有1位元組。 • 二進位檔 • 二進位檔是以二進位格式儲存,將記憶體中資料原封不動儲存至檔案之中,適用於非字元為主的資料。如果以記事本程式開啟,將會出現一堆亂碼。 • 二進位檔的最大優點在於存取速度快、佔用空間小以及可隨機存取資料,在資料庫應用上較文字檔案來得適合。
檔案類型介紹 • 主檔(Master File):「主檔」是用來儲存最完整與長期不需更新的主要資料檔,例如學校中歷屆學生的學籍資料檔。 • 異動檔(Transaction File):「異動檔」是相對於「主檔」的某些欄位所組成的檔案,內容較少且具時效性,只要具備所需異動的「鍵值欄」(Key Field)與變動項目即可。
報表檔(Report File):由印表機所產生的報表,而形成永久檔案。 • 歷史檔(History File):某些有保存期限的檔案,雖然檔案處理完畢,不過仍然必需保存且不得損害,這樣的檔案叫作「歷史檔」。 • 備份檔(Backup File):為了避免某些有價值的檔案遭到損害,通常會將這些檔案多複製一份,稱為備份檔。
檔案作業模式 • 檔案的六種作業模式:
8-2檔案存取方式 • 檔案依照存取方式的不同,可以歸納為以下三種類型 • 「循序處理檔案」(Sequential Access Method File, SAM) • 「索引處理檔案」(Indexed Sequential Access Method, ISAM) • 「直接處理檔」(Direct Access Method File, DAM)三種。
循序處理檔案 • 優點: • 儲存媒體利用率高,可製作無間隙檔案,不浪費儲存空間,適合大量儲存資料。 • 當主檔資料處理比率高時,處理時間最短。 • 可以容許固定長度和變動長度兩種方法來作為檔案結構。 • 缺點: • 如果「主檔」已經排序好,更新「主檔」時,需要重新排序,非常麻煩。 • 因為讀取資料時必需按照儲存順序逐一讀取,無法立即取得
索引處理檔案 • 優點: • 處理速度快,故可應用於線上處理。 • 只需讀取打算處理的資料,而不必重寫主檔內的所有記錄。 • 可隨時保持資料鍵值排好的記錄,並同時滿足「循序存取」與「直接存取」的需求。 • 缺點: • 處理一筆記錄時,必須對檔案進行兩次存取,一次存取「索引」,一次存取打算處理的記錄。 • 當異動資料過多或主檔內多數資料需要處理時,將嚴重影響存取效率。 • 需要另闢一個索引區來存放「索引」資料。
直接處理檔案 • 優點: • 適合線上即時查詢。因為資料讀寫時不須按照順序,可以最快速處理與回答。 • 不需要額外區域來儲存「索引表」(Index Table)。 • 搜尋任何一筆資料的時間幾乎一樣。 • 缺點: • 存放的儲存媒體必須有直接存取功能。 • 雜湊函數的取得不易,經常容易有碰撞和溢位的情況發生。
8-3 資料庫簡介 • 電腦還不普及的年代,醫院會將事先設計好的個人病歷表準備好,當有新病患上門時,就請他們填寫,之後管理人員可能依照某種次序,例如姓氏或是年齡將病歷表加以分類,然後用資料夾或檔案櫃加以收藏,日後當某位病患回診時,就利用先前整理病歷的分類方式,詢問病患的姓名或是年齡,讓管理人員可以快速地從資料夾或檔案櫃中找出病患的病歷表,而這個檔案櫃中所存放的病歷表就是一種「資料庫」(Database)管理的雛型概念。
資料、資料表與資料庫 資料項目 填寫資料
認識資料表 • 為了讓資料更具價值性,應該把所有有意義且相關聯的資料項目找出來放在一起,如此一來所收集到的資料才會更加完整。 欄位(欄) 欄位名稱 列(記錄) 值
資料表與資料庫 • 因為業務或功能的需求所建立的各種資料表集合,那麼這一堆資料表就可以把它稱為「資料庫」(Database),如下圖所示:
資料庫的相關定義 • 「資料庫」是以一貫作業方式,將一群相關「資料集」(Data Set)或「資料表」(Data Table)所組成的集合體,儘量以不重覆的方式儲存在一起,並利用「資料庫管理系統」(DataBase Management System, DBMS)以中央控管方式,提供企業或機關所需的資料。 • 「資料庫管理系統」(DBMS),就是負責管理資料庫的系統軟體,它讓一個資料庫除了具有儲存資料功能外,還可提供共享資料資源的管理與定義資料庫的結構,讓資料之間的聯繫能有完整性。
資料庫的特性 • 一個完整的「資料庫」必須具備以下四種特性:
資料庫的優點 • 減低資料重覆建立,可共享一份資料,能節省儲存空間。 • 儲存的資料和應用程式之間沒有依賴性,即使儲存方式或檔案格式有所改變,也不會造成應用程式必須重新撰寫與困難性。 • 資料集中管理,可以增加資料的完整性與一致性。 • 可避免在同一時間有許多使用者同時存取相同一筆資料。 • 增強制度標準化與平衡企業各方面的需求。
常見資料庫結構介紹 • 關聯式資料結構: • 關聯式資料庫是以二維表格(two-dimension table)方式來儲存資料,是目前時下最流行也最為普及的資料庫。 • 階層式資料結構: • 此類型資料庫中各種資料都是以階層結構關係儲存,如同家族中父母與子女的關係,例如一個父節點可擁有好幾個子節點,但是一個子節點只能有一個父節點,又可稱為「樹狀結構」。 • 網狀式資料結構: • 類似階層式資料結構,不過除了一個父節點可擁有好幾個子節點,一個子節點也可以存在多個父節點。
物件導向資料庫結構 • 將資料庫中的每一筆資料當作一個物件,而有相同結構的物件則稱為同一「類別」(class)。優點是擴充性高、彈性型態定義及操作過程簡化,缺點則是並非實體世界所有物件都具有階層式關係及查詢語言較複雜等。 • 物件關聯式資料庫結構 • 同時具備物件導向與關聯式資料庫的特點。
外部綱目(External Schema) • 最接近使用者,也就是說不同使用者會使用不同資料,因此對資料庫也產生不同的觀點。可提供不同的應用軟體,以「表單」來建立使用者的操作介面,這包含了一般的輸入介面(如建立員工的資料),也可以查詢語法(SQL)定義其查詢方式,再透過表單來進行操作,也可使用「報表」將資料以不同方式輸出。
概念式綱目(Conceptual Schema) • 「概念式綱目」是對整個資料邏輯結構的描述,也是一種群體使用者的觀點。例如透過「資料表」來定義儲存資料的屬性,包含欄位的大小,使用的資料型態等,因此包含了資料庫結構的完整資訊。
實體綱目(Physical Schema) • 「概念式綱目」雖然定義了資料結構,實際上並沒有儲存任何資料,實體綱目用來決定資料要儲存於磁碟上或者其他的儲存媒體,決定資料的儲存路徑,在建立資料庫時就必須決定。
18-4Access 資料庫簡介 • Access2007是一個隸屬於關聯式資料庫的資料庫管理系統軟體,一般人會把和前面章節介紹的Excel有所混淆。 • Excel雖然提供簡易的資料庫處理能力,基本上是屬於一個單純的檔案系統(File System),並缺乏結構化的組織能力。 • Access雖以檔案系統方式來建立一個資料庫(Access 200-2003版本的副檔名為mdb,Access 2007版本新格式的副檔名為accdb),卻支援資料庫本身特有的SQL(Structured Query Language)語法,產生資料表,並建立查詢內容,以表單來輸入資料,利用報表列印結果。
Access 工作環境 Office按鈕 快速存取工具列 功能區 索引標籤式文件 功能窗格 狀態列
資料庫物件 • Access的資料庫物件包括資料表(Table)、查詢(Query)、表單(Form)、報表(Report)、資料頁(Data Access Page)、巨集(Macro)和模組(VBA) 。
資料表物件 顯示資料表的名稱 欄位名稱 資料記錄 • 資料表是Access儲存資料的所在,當我們完成資料庫的建立後,則會依據資料的不同特性來建立不同的資料表。每個資料表都會有一個特別的名稱,例如學生資料表或選課資料表:
查詢物件 透過查詢功能篩選出男性的客戶 • 在資料表中儲存的資料,如何快速找到所需的資料,就得使用查詢。利用不同的查詢功能,能讓我們篩選出符合條件的相關記錄,進行資料的計算、統計和分析:
表單物件 提供使用者具有親和力的表單介面 • 表單讓Access也能提供一個具有親和力的操作介面,讓使用者能編輯資料或並瀏覽相關內容:
報表物件 • 查詢所得的結果如何顯示!除了從螢幕上顯示外,利用報表輸出也是一個好方法:
巨集物件 • Access提供巨集指令來簡化操作步驟,資料庫設計者不必撰寫程式,能也掌控資料庫的操作程序。
模組物件 • 模組使用VBA(Visual Basic for Application)語言強化資料庫的功能,透過應用程式的開發觀點,以程式語言的設計方式,使用者在資料庫的維護更加容易。