《資料庫系統理論與實務》由会员分享,可在线阅读,更多相关《資料庫系統理論與實務(45页珍藏版)》请在金锄头文库上搜索。
1、資料庫系統理論與實資料庫系統理論與實務務目錄-1n n第1章: 資料庫與資料庫模型n n第2章: 資料庫管理系統n n第3章: Access的基本使用n n第4章: 建立資料表n n第5章: 資料表的索引與查詢n n第6章: 資料工作表的排序與篩選n n第7章: 表單的使用介面n n第8章: 輸出報表目錄-2n n第9章: 關聯式資料庫n n第10章: 實體關聯圖與正規化分析n n第11章: 建立資料庫的關聯n n第12章: 建立關聯式查詢n n第13章: 關聯式表單的建立n n第14章: 建立關聯式報表n n第15章: 表單的進階設計n n第16章: 運算式的應用目錄-3n n第17章: 巨
2、集的使用n n第18章: SQL結構化查詢語言n n第19章: VBA程式設計n n第20章: 銷售管理系統的需求與規劃n n第21章: 客戶資料管理n n第22章: 員工資料管理n n第23章: 產品資訊管理n n第24章: 訂單資訊管理目錄-4n n第25章: 銷售排行榜與業績統計n n第26章: 銷售管理系統的整合n n附錄A:事件分類說明n n附錄B:巨集指令的分類說明n n附錄C:VBA函數速查表第1章 資料庫與資料庫模型n n1-1 資料庫的基礎n n1-2 資料庫模型n n1-3 資料庫系統的種類n n1-4 資料庫系統的處理架構1-1 資料庫的基礎n n1-1-1 資料庫的定義
3、n n1-1-2 邏輯關聯資料n n1-1-3 Access資料庫1-1 資料庫的基礎-說明n n一般來說,我們所泛稱的資料庫正確的說是資料庫系統(Database System)的一部分,資料庫系統是由資料庫(Database)和資料庫管理系統(Database Mangement System,簡稱DBMS)所組成。1-1 資料庫的基礎-圖例1-1-1 資料庫的定義-範例n n資料庫(資料庫(DatabaseDatabase)這個名詞是一個概念,這)這個名詞是一個概念,這是一種資料儲存單位,一些經過組織的資料集合。是一種資料儲存單位,一些經過組織的資料集合。事實上,有很多現成擁有或一些常常
4、使用的資料事實上,有很多現成擁有或一些常常使用的資料集合,都可以稱為資料庫,如下所示:集合,都可以稱為資料庫,如下所示: 在在WordWord文件中編輯的通訊錄資料。文件中編輯的通訊錄資料。 使用使用ExcelExcel管理的學生成績資料。管理的學生成績資料。 在應用程式提供相關功能來維護和分析儲存在大型檔在應用程式提供相關功能來維護和分析儲存在大型檔案的資料。案的資料。 銀行的帳戶資料和交易資料。銀行的帳戶資料和交易資料。 醫院的病人資料。醫院的病人資料。 大學的學生、課程、選課和教授資料。大學的學生、課程、選課和教授資料。 電信公司的帳單資料。電信公司的帳單資料。1-1-1 資料庫的定義-
5、定義n n資料庫正式的定義有很多種,比較通用的定義,資料庫正式的定義有很多種,比較通用的定義,如下所示:如下所示:定義定義1.11.1:資料庫(:資料庫(DatabaseDatabase)是一個儲存資料的)是一個儲存資料的電子文件檔案櫃(電子文件檔案櫃(An Electronic Filing An Electronic Filing CabinetCabinet)。)。n n以現代的企業或組織來說,資料庫是讓企業或組以現代的企業或組織來說,資料庫是讓企業或組織能夠正常運作的重要元件,想想看!如果銀行織能夠正常運作的重要元件,想想看!如果銀行沒有帳戶和交易記錄的資料庫,客戶存款和提款沒有帳戶和
6、交易記錄的資料庫,客戶存款和提款需要如何運作。每家航空公司都需要依賴訂票系需要如何運作。每家航空公司都需要依賴訂票系統的資料庫,才能讓各旅行社訂機票,旅客才知統的資料庫,才能讓各旅行社訂機票,旅客才知道班機是否已經客滿。道班機是否已經客滿。1-1-1 資料庫的定義-長存資料n n在企業或組織資料庫儲存的大量資料並非短暫儲在企業或組織資料庫儲存的大量資料並非短暫儲存的暫時資料,而是長時間存在的資料,稱為存的暫時資料,而是長時間存在的資料,稱為長存資料(長存資料(Persistent DataPersistent Data),長存資料是維),長存資料是維持企業或組織正常運作的重要資料,如下:持企業
7、或組織正常運作的重要資料,如下: 在組織中的資料需要一些操作或運算來維護資料。例在組織中的資料需要一些操作或運算來維護資料。例如:當公司員工有人離職或是新進,員工資料需要新如:當公司員工有人離職或是新進,員工資料需要新增和刪除操作來進行維護。增和刪除操作來進行維護。 資料之間是有關係的。例如:員工資料和出勤資料擁資料之間是有關係的。例如:員工資料和出勤資料擁有關係,一位員工擁有一份多筆的出勤資料。有關係,一位員工擁有一份多筆的出勤資料。 資料不包含輸出資料、暫存資料或任何延伸資訊。例資料不包含輸出資料、暫存資料或任何延伸資訊。例如:員工平均出勤資料、年齡和居住地分佈資料等並如:員工平均出勤資料
8、、年齡和居住地分佈資料等並不屬於長存資料,因為這些資料都可以透過資料運算不屬於長存資料,因為這些資料都可以透過資料運算而得,亦稱為導出資料(而得,亦稱為導出資料(Derived DataDerived Data)。)。1-1-2 邏輯關聯資料n n在資料庫儲存的是一種擁有關係的資料,這些資在資料庫儲存的是一種擁有關係的資料,這些資料使用關聯性(料使用關聯性(RelationshipsRelationships)建立與其它資料)建立與其它資料的邏輯關聯,所以稱為邏輯關聯資料的邏輯關聯,所以稱為邏輯關聯資料(Logically Related DataLogically Related Data)
9、。)。n n關聯性是一個術語,如果使用口語方式來說,可關聯性是一個術語,如果使用口語方式來說,可以將它視為一種資料間的連結,在資料庫儲存的以將它視為一種資料間的連結,在資料庫儲存的是一種完全連結(是一種完全連結(Fully ConnectedFully Connected)的資)的資料,完全連結是指資料庫儲存的資料間擁有連結料,完全連結是指資料庫儲存的資料間擁有連結方式,這個連結允許從一個資料存取其它的資料。方式,這個連結允許從一個資料存取其它的資料。例如:前述的員工資料和出勤資料擁有關係,一例如:前述的員工資料和出勤資料擁有關係,一位員工擁有一份多筆的出勤資料,換一個角度來位員工擁有一份多筆
10、的出勤資料,換一個角度來說,就是在資料之間擁有連結方式,以便可以將說,就是在資料之間擁有連結方式,以便可以將員工資料連接到出勤資料。員工資料連接到出勤資料。1-1-3 Access資料庫-儲存資料1n nAccessAccess資料庫的資料是儲存在資料表資料庫的資料是儲存在資料表(TablesTables)物件,每一個資料表使用欄位)物件,每一個資料表使用欄位(FieldsFields)分類成很多群組,每一個群組是一筆)分類成很多群組,每一個群組是一筆記錄(記錄(RecordsRecords),例如:通訊錄資料原來),例如:通訊錄資料原來是使用表格儲存,如下表所示:是使用表格儲存,如下表所示:
11、1-1-3 Access資料庫-儲存資料1n nAccessAccess可以將上述表格轉換成可以將上述表格轉換成【通訊錄資料通訊錄資料.mdb.mdb】檔案,這是一個資料庫,內含上述表格的檔案,這是一個資料庫,內含上述表格的通訊資料,通訊資料,【通訊錄通訊錄】是表格名稱,順理成章成是表格名稱,順理成章成為資料表物件的名稱,表格的每一列是一筆記錄為資料表物件的名稱,表格的每一列是一筆記錄的群組,這個群組分成欄位:姓名、地址、電話、的群組,這個群組分成欄位:姓名、地址、電話、生日和電子郵件地址。生日和電子郵件地址。n n換一個角度來看,我們使用資料庫儲存資料的目換一個角度來看,我們使用資料庫儲存資
12、料的目的是為了能夠快速排序和查詢,或是輸出報表,的是為了能夠快速排序和查詢,或是輸出報表,所以資料庫管理系統提供有各種排序和查詢功能,所以資料庫管理系統提供有各種排序和查詢功能,只需透過資料庫管理系統就能夠輕鬆取出資料庫只需透過資料庫管理系統就能夠輕鬆取出資料庫所需的資料且產生所需的報表,這也是我們建立所需的資料且產生所需的報表,這也是我們建立資料庫的目的。資料庫的目的。1-1-3 Access資料庫-組成物件n nAccess資料庫是一個副檔名為.mdb的檔案,這個檔案內含多種物件,其組成架構如下圖所示:1-2 資料庫模型n n1-2-1 大型檔案資料庫模型n n1-2-2 階層式資料庫模型
13、n n1-2-3 網路式資料庫模型n n1-2-4 關聯式資料庫模型1-2 資料庫模型n n資料庫模型(Database Model)是使用一組整合觀念來描述資料與資料間的關係和資料的限制條件(檢查是否是儲存正確資料的條件),也就是用來描述資料庫中資料的關聯性。n nAccess是一套關聯式資料庫系統,這是指它是一套使用關聯式資料庫模型(Relational Database Model)的資料庫管理系統。1-2-1 大型檔案資料庫模型-說明n n大型檔案資料庫模型(Flat-File Database Model)是直接使用檔案(通常是文字檔案)儲存資料庫的資料。n n早期在沒有資料庫管理系
14、統的年代,大部分公司都是直接使用COBOL程式語言設計系統,以文字檔案儲存資料,每一個檔案是一個資料表,檔案中的每一列是一筆記錄,使用固定欄寬或特殊的分隔字元儲存欄位資料。1-2-1 大型檔案資料庫模型-範例n n例如:【學生資料】的資料表,如下所示:江小魚江小魚: :中和景平路中和景平路10001000號號:02-22222222:1978/2/2::02-22222222:1978/2/2:劉得華劉得華: :桃園巿三民路桃園巿三民路10001000號號:02-33333333:1982/3/3:.te:02-33333333:1982/3/3:.te郭富成郭富成: :台中巿中港路三段台中巿
15、中港路三段500500號號:03-44444444:1981/4/4:.tw:03-44444444:1981/4/4:.tw離明離明: :台南巿中正路台南巿中正路10001000號號:04-55555555:1978/5/5::04-55555555:1978/5/5:張學有張學有: :高雄市四維路高雄市四維路10001000號號:05-66666666:1979/6/6::05-66666666:1979/6/6:n n在文字檔案內容一共有5個欄位,使用”:”符號分隔,如果大型檔案資料庫使用分隔符號儲存,請注意!欄位資料不可使用分隔符號。1-2-2 階層式資料庫模型-說明n n階層式資料庫
16、模型(階層式資料庫模型(Hierarchical Database Hierarchical Database ModelModel)是使用樹狀結構來組織資料且建立關聯)是使用樹狀結構來組織資料且建立關聯性,記錄資料間是以父子關係來建立鏈結,每一性,記錄資料間是以父子關係來建立鏈結,每一個子記錄只能擁有一個父記錄。個子記錄只能擁有一個父記錄。1-2-2 階層式資料庫模型-資料結構n n階層式資料庫模型的資料結構一定擁有一個樹階層式資料庫模型的資料結構一定擁有一個樹根(根(RootRoot),然後使用父子關聯性),然後使用父子關聯性(Parent-child RelationshipsParen
17、t-child Relationships)來鏈結記錄集)來鏈結記錄集合,將資料建立成階層的樹狀結構。階層式模型合,將資料建立成階層的樹狀結構。階層式模型擁有擁有2 2種基本型態,如下所示:種基本型態,如下所示: 記錄型態(記錄型態(記錄型態(記錄型態(Record TypeRecord Type):):):):記錄型態是由一組欄位記錄型態是由一組欄位屬性組成。每一個記錄型態的成員稱為記錄,資料是屬性組成。每一個記錄型態的成員稱為記錄,資料是一組記錄的集合。一組記錄的集合。 父子關聯型態(父子關聯型態(父子關聯型態(父子關聯型態(Parent-child Relationship Parent
18、-child Relationship TypeType):):):):2 2個記錄型態間的連接型態,屬於一對多關個記錄型態間的連接型態,屬於一對多關聯性(聯性(RelationshipRelationship),這是從稱為父記錄型態),這是從稱為父記錄型態(Parent Record TypeParent Record Type)可以關聯到多個子資料型)可以關聯到多個子資料型態(態(Child Record TypeChild Record Type)。)。1-2-2 階層式資料庫模型-資料庫n n完整圖書出版的階層式資料庫,如下圖所示:1-2-2 階層式資料庫模型-多對多關聯性n n多對多
19、關聯性(多對多關聯性(RelationshipsRelationships)在階層式資料庫)在階層式資料庫模型可以使用重複相同的記錄型態來建立,如下模型可以使用重複相同的記錄型態來建立,如下圖所示:圖所示:1-2-2 階層式資料庫模型-優缺點1-2-3 網路式資料庫模型-資料結構1n n網路式資料庫模型(網路式資料庫模型(Network Database Network Database ModelModel)是將資料組織成網路狀圖形,資料間的)是將資料組織成網路狀圖形,資料間的鏈結可以擁有迴圈。網路式資料庫模型一樣擁有鏈結可以擁有迴圈。網路式資料庫模型一樣擁有2 2種基本型態,如下所示:種基
20、本型態,如下所示: 記錄型態(記錄型態(記錄型態(記錄型態(Record TypeRecord Type):):):):記錄型態是由一組屬性記錄型態是由一組屬性所組成,每一個記錄型態的成員稱為記錄,資料是一所組成,每一個記錄型態的成員稱為記錄,資料是一組記錄的集合。組記錄的集合。 鏈結型態(鏈結型態(鏈結型態(鏈結型態(Link TypeLink Type):):):):在在2 2個記錄型態間的連接個記錄型態間的連接型態,屬於一對多關聯性(型態,屬於一對多關聯性(RelationshipRelationship),這是從),這是從稱為擁有者型態(稱為擁有者型態(Owner TypeOwner
21、Type)關聯到多個成)關聯到多個成員型態(員型態(Member TypeMember Type)。)。1-2-3 網路式資料庫模型-資料結構2n n網路式資料庫模型是建立在網路式資料庫模型是建立在2 2種集合結構種集合結構(Set StructuresSet Structures),也就是一組記錄型態的記),也就是一組記錄型態的記錄集合(錄集合(A Set of RecordsA Set of Records)和一組鏈結型態的)和一組鏈結型態的鏈結集合(鏈結集合(A Set of LinksA Set of Links),如下圖所示:),如下圖所示:1-2-3 網路式資料庫模型-資料庫n n
22、完整銀行分行帳戶的網路式資料庫,如下圖:完整銀行分行帳戶的網路式資料庫,如下圖:1-2-3 網路式資料庫模型-優缺點1-2-4 關聯式資料庫模型-說明n n關聯式資料庫模型(Relational Database Model)是1970年由IBM研究員E. F. Codd博士開發的資料庫模型,其理論基礎是數學的集合論(Set Theory),不同於階層和網路式模式使用低階指標連結資料,關聯式資料庫模型是使用資料值(Data Value)建立關聯,支援一對一、一對多和多對多關聯性。1-2-4 關聯式資料庫模型-資料結構n n關聯式資料庫模型可以視為一個儲存記錄的二維關聯式資料庫模型可以視為一個儲
23、存記錄的二維表格,其資料結構是關聯表(表格,其資料結構是關聯表(RelationsRelations),),如下圖所示:如下圖所示:1-2-4 關聯式資料庫模型-關聯性n n關聯式資料庫模型建立的關聯是以資料值(關聯式資料庫模型建立的關聯是以資料值(Data Data ValuesValues),而不是使用鏈結結構(),而不是使用鏈結結構(Links Links StructuresStructures),如下圖所示:),如下圖所示:1-2-4 關聯式資料庫模型-優缺點1-3 資料庫系統的種類n n1-3-1 使用者數來區分n n1-3-2 範圍來區分n n1-3-3 位置來區分n n1-3-
24、4 資料庫模型來區分1-3-1 使用者數來區分n n資料庫系統以使用者人數來區分可以分為單人使用和多人使用的資料庫系統,如下所示:單人使用(單人使用(單人使用(單人使用(Single-userSingle-user):):):):單人使用的資料單人使用的資料庫系統,資料庫系統只有專屬的使用者,從早庫系統,資料庫系統只有專屬的使用者,從早期大型主機的資料庫系統和一些小型資料庫系期大型主機的資料庫系統和一些小型資料庫系統都屬於此類。統都屬於此類。多人使用(多人使用(多人使用(多人使用(Multi-userMulti-user):):):):資料庫系統允許資料庫系統允許多位使用者同時使用,目前大部分
25、資料庫系統多位使用者同時使用,目前大部分資料庫系統都屬於多人使用的資料庫系統。都屬於多人使用的資料庫系統。1-3-2 範圍來區分n n桌上型(桌上型(桌上型(桌上型(DesktopDesktop):):):):桌上型資料庫系統是指在桌上型資料庫系統是指在個人電腦上執行的資料庫系統,通常屬於個人使個人電腦上執行的資料庫系統,通常屬於個人使用,適用在個人或中小企業的資料庫應用。用,適用在個人或中小企業的資料庫應用。n n工作群組(工作群組(工作群組(工作群組(WorkgroupWorkgroup):):):):在公司部門或組織在公司部門或組織中以工作群組方式區分的資料庫系統。例如:業中以工作群組方
26、式區分的資料庫系統。例如:業務、會計和倉庫管理等各工作群組使用的資料庫務、會計和倉庫管理等各工作群組使用的資料庫系統,巿面上眾多現成的進銷存、會計和客戶管系統,巿面上眾多現成的進銷存、會計和客戶管理等資料庫系統都屬此類。理等資料庫系統都屬此類。n n企業級(企業級(企業級(企業級(EnterpriseEnterprise):):):):跨部門或分公司的大跨部門或分公司的大型資料庫系統,屬於大型企業使用的資料庫系統,型資料庫系統,屬於大型企業使用的資料庫系統,因為分公司可能分佈在世界各地,大多是使用分因為分公司可能分佈在世界各地,大多是使用分散式資料庫系統(散式資料庫系統(Distributed
27、 Database Distributed Database SystemSystem)。)。1-3-3 位置來區分n n集中式資料處理(集中式資料處理(集中式資料處理(集中式資料處理(Centralized Data Centralized Data ProcessingProcessing):):):):指使用單一大型主機指使用單一大型主機(MainframeMainframe),將資料處理、儲存都集中在這),將資料處理、儲存都集中在這台電腦,使用終端機(台電腦,使用終端機(TerminalsTerminals)連接主)連接主機執行資料處理,換句話說,資料庫系統就是安機執行資料處理,換句話
28、說,資料庫系統就是安裝在這台主機上。裝在這台主機上。n n分散式資料處理(分散式資料處理(分散式資料處理(分散式資料處理(Distributed Data Distributed Data ProcessingProcessing):):):):電腦是分散在公司和組織的不電腦是分散在公司和組織的不同位置,使用網路連接電腦,此時的資料庫系統同位置,使用網路連接電腦,此時的資料庫系統可以安裝在任何一台電腦執行所需的資料處理。可以安裝在任何一台電腦執行所需的資料處理。1-3-4 資料庫模型來區分n n資料庫系統如果使用上一節的資料庫模型來區分,資料庫系統可以依使用的資料庫模型分類成數種,例如:網路式
29、資料庫系統。網路式資料庫系統。階層式資料庫系統。階層式資料庫系統。關聯式資料庫系統。關聯式資料庫系統。1-4 資料庫系統的處理架構n n1-4-1 集中式處理架構n n1-4-2 分散式處理架構1-4 資料庫系統的處理架構n n電腦系統的架構很多,依照需求可有無限多種的選擇,不過各種電腦系統架構都可以歸類成兩類,換句話說,資料庫系統架構也可以分成這2種處理架構,如下所示:集中式處理架構(集中式處理架構(Centralized Processing Centralized Processing ArchitecturesArchitectures)。)。分散式處理架構(分散式處理架構(Distr
30、ibuted Processing Distributed Processing ArchitecturesArchitectures)。)。1-4-1 集中式處理架構-說明n n在早期大型主機(Mainframe)時代,電腦系統主要是使用IBM公司開發的系統網路架構(Systems Network Architecture, SNA),這種架構屬於集中式處理架構,擁有一台大型主機,使用多個終端機(Terminals)與主機溝通。1-4-1 集中式處理架構-圖例1-4-2 分散式處理架構-說明n n分散式處理架構(Distributed Processing Architectures)隨著個
31、人電腦和區域網路的興起,大型主機逐漸被功能強大的個人電腦或工作站(Workstation)取代,個人電腦和工作站足以分擔原來大型主機負責的工作,使用多台個人電腦和工作站透過網路分開在各電腦執行所分擔的工作,稱為分散式處理架構。1-4-2 分散式處理架構-主從架構n n在1980年代的中期,主從架構(Client/Server Architecture)成為資料庫系統架構的主流,這是一種分散式處理架構,資料庫系統的工作是分散在客戶端(Client)和伺服端(Server)的電腦執行,如下所示:伺服端(伺服端(伺服端(伺服端(ServerServer):):):):在主從架構中扮演提供在主從架構中扮演提供服務(服務(ServiceService)的提供者()的提供者(ProviderProvider)角色。)角色。客戶端(客戶端(客戶端(客戶端(ClientClient):):):):在主從架構中的角色是提在主從架構中的角色是提出服務請求(出服務請求(RequestRequest)的請求者)的請求者(RequesterRequester)。)。1-4-2 分散式處理架構-圖例