Access资料库系统理论与实务.ppt
資料庫系統理論與實務,課程名稱:_ 指導教授:_,目錄-1,一、資料庫與資料庫管理系統第1章:資料庫與資料庫模型第2章:資料庫管理系統第3章:Access的基本使用第4章:建立資料表第5章:資料表的索引與查詢第6章:資料工作表的排序與篩選第7章:表單的使用介面第8章:輸出報表,目錄-2,二、關聯式資料庫第9章:關聯式資料庫第10章:實體關聯圖與正規化分析第11章:建立資料庫關聯圖第12章:建立關聯式查詢第13章:關聯式表單的建立第14章:建立關聯式報表,目錄-3,三、資料庫系統開發實務第15章:表單的進階設計第16章:運算式的應用第17章:巨集的使用第18章:SQL結構化查詢語言第19章:VBA程式設計,目錄-4,四、資料庫系統專案實務 進銷存系統第20章:銷售管理系統的需求與規劃第21章:客戶資料管理第22章:員工資料管理第23章:產品資訊管理第24章:訂單資訊管理第25章:銷售排行榜與業績統計第26章:系統整合與資料庫管理,目錄-5,附錄A:事件分類說明附錄B:巨集指令的分類說明附錄C:VBA函數速查表,第1章 資料庫與資料庫模型,1-1 資料庫的基礎1-2 資料庫模型1-3 資料庫系統的種類1-4 資料庫系統的處理架構,1-1 資料庫的基礎,1-1-1 資料庫的定義1-1-2 邏輯關聯資料1-1-3 Access資料庫,1-1 資料庫的基礎-說明,一般來說,我們所泛稱的資料庫正確的說是資料庫系統(Database System)的一部分,資料庫系統是由資料庫(Database)和資料庫管理系統(Database Mangement System,簡稱DBMS)所組成。,1-1 資料庫的基礎-圖例,1-1-1 資料庫的定義-範例,資料庫(Database)這個名詞是一個概念,這是一種資料儲存單位,一些經過組織的資料集合。事實上,有很多現成擁有或一些常常使用的資料集合,都可以稱為資料庫,如下所示:在Word文件中編輯的通訊錄資料。使用Excel管理的學生成績資料。在應用程式提供相關功能來維護和分析儲存在大型檔案的資料。銀行的帳戶資料和交易資料。醫院的病人資料。大學的學生、課程、選課和教授資料。電信公司的帳單資料。,1-1-1 資料庫的定義-定義,資料庫正式的定義有很多種,比較通用的定義,如下所示:定義1.1:資料庫(Database)是一個儲存資料的電子文件檔案櫃(An Electronic Filing Cabinet)。以現代的企業或組織來說,資料庫是讓企業或組織能夠正常運作的重要元件,想想看!如果銀行沒有帳戶和交易記錄的資料庫,客戶存款和提款需要如何運作。每家航空公司都需要依賴訂票系統的資料庫,才能讓各旅行社訂機票,旅客才知道班機是否已經客滿。,1-1-1 資料庫的定義-長存資料,在企業或組織資料庫儲存的大量資料並非短暫儲存的暫時資料,而是長時間存在的資料,稱為長存資料(Persistent Data),長存資料是維持企業或組織正常運作的重要資料,如下:在組織中的資料需要一些操作或運算來維護資料。例如:當公司員工有人離職或是新進,員工資料需要新增和刪除操作來進行維護。資料之間是有關係的。例如:員工資料和出勤資料擁有關係,一位員工擁有一份多筆的出勤資料。資料不包含輸出資料、暫存資料或任何延伸資訊。例如:員工平均出勤資料、年齡和居住地分佈資料等並不屬於長存資料,因為這些資料都可以透過資料運算而得,亦稱為導出資料(Derived Data)。,1-1-2 邏輯關聯資料,在資料庫儲存的是一種擁有關係的資料,這些資料使用關聯性(Relationships)建立與其它資料的邏輯關聯,所以稱為邏輯關聯資料(Logically Related Data)。關聯性是一個術語,如果使用口語方式來說,可以將它視為一種資料間的連結,在資料庫儲存的是一種完全連結(Fully Connected)的資料,完全連結是指資料庫儲存的資料間擁有連結方式,這個連結允許從一個資料存取其它的資料。例如:前述的員工資料和出勤資料擁有關係,一位員工擁有一份多筆的出勤資料,換一個角度來說,就是在資料之間擁有連結方式,以便可以將員工資料連接到出勤資料。,1-1-3 Access資料庫-儲存資料1,Access資料庫的資料是儲存在資料表(Tables)物件,每一個資料表使用欄位(Fields)分類成很多群組,每一個群組是一筆記錄(Records),例如:通訊錄資料原來是使用表格儲存,如下表所示:,1-1-3 Access資料庫-儲存資料1,Access可以將上述表格轉換成【通訊錄資料.mdb】檔案,這是一個資料庫,內含上述表格的通訊資料,【通訊錄】是表格名稱,順理成章成為資料表物件的名稱,表格的每一列是一筆記錄的群組,這個群組分成欄位:姓名、地址、電話、生日和電子郵件地址。換一個角度來看,我們使用資料庫儲存資料的目的是為了能夠快速排序和查詢,或是輸出報表,所以資料庫管理系統提供有各種排序和查詢功能,只需透過資料庫管理系統就能夠輕鬆取出資料庫所需的資料且產生所需的報表,這也是我們建立資料庫的目的。,1-1-3 Access資料庫-組成物件,Access資料庫是一個副檔名為.accdb的檔案(舊版Access副檔名是.mdb),在此檔案包含多種物件,其組成架構如下圖所示:,1-2 資料庫模型,1-2-1 大型檔案資料庫模型1-2-2 階層式資料庫模型1-2-3 網路式資料庫模型1-2-4 關聯式資料庫模型,1-2 資料庫模型,資料庫模型(Database Model)是使用一組整合觀念來描述資料與資料間的關係和資料的限制條件(檢查是否是儲存正確資料的條件),也就是用來描述資料庫中資料的關聯性。Access是一套關聯式資料庫系統,這是指它是一套使用關聯式資料庫模型(Relational Database Model)的資料庫管理系統。,1-2-1 大型檔案資料庫模型-說明,大型檔案資料庫模型(Flat-File Database Model)是直接使用檔案(通常是文字檔案)儲存資料庫的資料。早期在沒有資料庫管理系統的年代,大部分公司都是直接使用COBOL程式語言設計系統,以文字檔案儲存資料,每一個檔案是一個資料表,檔案中的每一列是一筆記錄,使用固定欄寬或特殊的分隔字元儲存欄位資料。,1-2-1 大型檔案資料庫模型-範例1,資料庫的每一個文字檔案就是一個資料表,在檔案中的每一列是一筆記錄,使用固定欄寬或特殊分隔字元來儲存欄位資料,例如:【學生】資料表,如下圖所示:,1-2-1 大型檔案資料庫模型-範例2,如果資料庫很龐大,需要使用多個資料表來儲存資料時,每一個資料表就是一個檔案,例如:新增【選課】資料表,如右圖所示:,1-2-2 階層式資料庫模型-說明,階層式資料庫模型(Hierarchical Database Model)是使用樹狀結構來組織資料且建立關聯性,記錄資料間是以父子關係來建立連接,每一個子記錄只能擁有一個父記錄。,1-2-2 階層式資料庫模型-資料結構,階層式資料庫模型的資料結構一定擁有一個樹根(Root),使用父子關聯性(Parent-child Relationships)來連接記錄集合,將資料建立成階層的樹狀結構。階層式資料庫模型擁有兩種基本型態,如下所示:記錄型態(Record Type):記錄型態是由一組欄位屬性所組成。每一個記錄型態的成員稱為記錄,資料表是一組記錄的集合。父子關聯型態(Parent-child Relationship Type):在兩個記錄型態間的連接型態,屬於一種一對多關聯性(Relationship),這是從稱為父記錄型態(Parent Record Type)關聯到多個子記錄型態(Child Record Type)。,1-2-2 階層式資料庫模型-資料庫,完整圖書出版的階層式資料庫,如下圖所示:,1-2-2 階層式資料庫模型-多對多關聯性,多對多關聯性(Relationships)在階層式資料庫模型可以使用重複相同的記錄型態來建立,如下圖所示:,1-2-2 階層式資料庫模型-優缺點,階層式資料庫模型的優缺點,如下表所示:,1-2-3 網路式資料庫模型-資料結構1,網路式資料庫模型(Network Database Model)不同於階層式是一種階層架構,它是將資料組織成網路狀的圖形,在資料間的連接可以擁有迴圈。網路式資料庫模型一樣擁有兩種基本型態,如下所示:記錄型態(Record Type):記錄型態是由一組屬性所組成,每一個記錄型態的成員稱為記錄,資料表是一組記錄的集合。連接型態(Link Type):在兩個記錄型態間的連接型態,屬於一種一對多關聯性(Relationship),這是從稱為擁有者型態(Owner Type)關聯到多個成員型態(Member Type)。,1-2-3 網路式資料庫模型-資料結構2,網路式資料庫模型是建立在兩種集合結構(Set Structures),也就是一組記錄型態的記錄集合(A Set of Records)和一組連接型態的連接集合(A Set of Links),如下圖所示:,1-2-3 網路式資料庫模型-資料庫,完整銀行分行帳戶的網路式資料庫,如下圖:,1-2-3 網路式資料庫模型-優缺點,網路式資料庫模型的優缺點,如下表所示:,1-2-4 關聯式資料庫模型-說明,關聯式資料庫模型(Relational Database Model)是1970年由IBM研究員E.F.Codd博士開發的資料庫模型,其理論基礎是數學的集合論(Set Theory),不同於階層和網路式模式使用低階指標連結資料,關聯式資料庫模型是使用資料值(Data Value)建立關聯,支援一對一、一對多和多對多關聯性。,1-2-4 關聯式資料庫模型-資料結構,關聯式資料庫模型可以視為一個儲存記錄的二維表格,其資料結構是關聯表(Relations),如下圖所示:,1-2-4 關聯式資料庫模型-關聯性,關聯式資料庫模型建立的關聯是以資料值(Data Values),而不是使用連接結構(Links Structures),如下圖所示:,1-2-4 關聯式資料庫模型-優缺點,關聯式資料庫模型的優缺點,如下表所示:,1-3 資料庫系統的種類,1-3-1 使用者數來區分1-3-2 範圍來區分1-3-3 位置來區分1-3-4 資料庫模型來區分,1-3-1 使用者數來區分,資料庫系統以使用者人數來區分可以分為單人使用和多人使用的資料庫系統,如下所示:單人使用(Single-user):單人使用的資料庫系統,資料庫系統只有專屬的使用者,從早期大型主機的資料庫系統和一些小型資料庫系統都屬於此類。多人使用(Multi-user):資料庫系統允許多位使用者同時使用,目前大部分資料庫系統都屬於多人使用的資料庫系統。,1-3-2 範圍來區分,桌上型(Desktop):桌上型資料庫系統是指在個人電腦上執行的資料庫系統,通常屬於個人使用,適用在個人或中小企業的資料庫應用。工作群組(Workgroup):在公司部門或組織中以工作群組方式區分的資料庫系統。例如:業務、會計和倉庫管理等各工作群組使用的資料庫系統,巿面上眾多現成的進銷存、會計和客戶管理等資料庫系統都屬此類。企業級(Enterprise):跨部門或分公司的大型資料庫系統,屬於大型企業使用的資料庫系統,因為分公司可能分佈在世界各地,大多是使用分散式資料庫系統(Distributed Database System)。,1-3-3 位置來區分,集中式資料處理(Centralized Data Processing):指使用單一大型主機(Mainframe),將資料處理、儲存都集中在這台電腦,使用終端機(Terminals)連接主機執行資料處理,換句話說,資料庫系統就是安裝在這台主機上。分散式資料處理(Distributed Data Processing):電腦是分散在公司和組織的不同位置,使用網路連接電腦,此時的資料庫系統可以安裝在任何一台電腦執行所需的資料處理。,1-3-4 資料庫模型來區分,資料庫系統如果使用上一節的資料庫模型來區分,資料庫系統可以依使用的資料庫模型分類成數種,例如:網路式資料庫系統。階層式資料庫系統。關聯式資料庫系統。,1-4 資料庫系統的處理架構,1-4-1 集中式處理架構1-4-2 分散式處理架構,1-4 資料庫系統的處理架構,電腦系統的架構很多,依照需求可有無限多種的選擇,不過各種電腦系統架構都可以歸類成兩類,換句話說,資料庫系統架構也可以分成這2種處理架構,如下所示:集中式處理架構(Centralized Processing Architectures)。分散式處理架構(Distributed Processing Architectures)。,1-4-1 集中式處理架構-說明,在早期大型主機(Mainframe)時代,電腦系統主要是使用IBM公司開發的系統網路架構(Systems Network Architecture,SNA),這種架構屬於集中式處理架構,擁有一台大型主機,使用多個終端機(Terminals)與主機溝通。,1-4-1 集中式處理架構-圖例,1-4-2 分散式處理架構-說明,分散式處理架構(Distributed Processing Architectures)隨著個人電腦和區域網路的興起,大型主機逐漸被功能強大的個人電腦或工作站(Workstation)取代,個人電腦和工作站足以分擔原來大型主機負責的工作,使用多台個人電腦和工作站透過網路分開在各電腦執行所分擔的工作,稱為分散式處理架構。,1-4-2 分散式處理架構-主從架構,在1980年代的中期,主從架構(Client/Server Architecture)成為資料庫系統架構的主流,這是一種分散式處理架構,資料庫系統的工作是分散在客戶端(Client)和伺服端(Server)的電腦執行,如下所示:伺服端(Server):在主從架構中扮演提供服務(Service)的提供者(Provider)角色。客戶端(Client):在主從架構中的角色是提出服務請求(Request)的請求者(Requester)。,1-4-2 分散式處理架構-圖例,