Access数据库程序设计课件_第1页
Access数据库程序设计课件_第2页
Access数据库程序设计课件_第3页
Access数据库程序设计课件_第4页
Access数据库程序设计课件_第5页
已阅读5页,还剩288页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第1章資料庫原理基礎知識1.1資料庫系統概述1.2關係資料庫的基本概念1.3關係資料庫標準語言SQL1.4ACCESS概述21.1資料庫系統概述資料庫技術產生於六十年代末,是數據管理的最新技術,是電腦科學的重要分支資料庫技術是資訊系統的核心和基礎,它的出現極大地促進了電腦應用向各行各業的滲透31.1.1資料庫常用術語數據:是資料庫系統研究和處理的對象,本質上講是描述事物的符號記錄,如數字、文字、聲音等。資料庫:是長期儲存在電腦內的、有組織的、可共用的數據的集合。資料庫管理系統:是位於用戶與操作系統之間的一層數據管理軟體,屬於系統軟體。資料庫系統:指在電腦中引入資料庫後的系統。一般由資料庫、資料庫管理系統(及其開發工具)、應用系統、資料庫管理員和用戶組成。DBMS的主要功能:(1)數據定義功能:對數據庫中數據對象進行定義(2)數據操縱功能:實現對數據庫的基本操作,如查詢、插入、刪除和修改等。(3)資料庫的運行管理 資料庫在建立、運用和維護時由資料庫管理系統統一管理、統一控制,以保證數據的安全性、完整性、多用戶對數據的併發使用及發生故障後的系統恢復。(4)資料庫的建立和維護功能包括資料庫初始數據的輸入、轉換功能。資料庫的轉儲、恢復功能,資料庫的重組織功能和性能監視、分析功能等。這些功能通常由一些實用程式完成。41.1.2數據管理的發展歷程什麼是數據管理對數據進行分類、組織、編碼、存儲、檢索和維護,是數據處理的中心問題數據管理技術的發展過程人工管理階段(40年代中--50年代中)檔系統階段(50年代末--60年代中)資料庫系統階段(60年代末--現在)5人工管理階段時期40年代中--50年代中產生的背景應用需求:科學計算 硬體水準:外存只有卡片、紙帶、磁帶沒有直接存取存儲設備 軟體水準:沒有操作系統 處理方式:批處理 6人工管理階段特點:數據不進行保存沒有專門的數據管理軟體數據面向應用無共用、冗餘度極大7檔系統階段時期50年代末--60年代中產生的背景應用需求:科學計算、管理 硬體水準:磁片、磁鼓 軟體水準:有檔系統 處理方式:聯機即時處理、批處理

8檔系統階段特點:數據可長期保存由檔系統管理數據應用程式直接存儲數據檔數據共用性差,冗餘度大數據獨立性差數據安全性差9資料庫系統階段時期60年代末以來產生的背景應用背景:大規模管理 硬體背景:大容量磁片 軟體背景:有數據庫管理系統 處理方式:聯機即時處理,分佈處理批處理 10資料庫系統階段特點專門的數據管理軟體:DBMS

數據由DBMS統一管理和控制應用程式通過DBMS訪問數據數據面向現實世界數據的共用程度高、獨立性高111.1.3資料庫系統的特點數據整體結構化數據共用性高,冗餘度低,易擴充數據獨立性高數據由DBMS統一管理和控制12數據整體結構化整體數據的結構化是資料庫的主要特徵之一。資料庫中實現的是數據的真正結構化數據的結構用數據模型描述,無需程式定義和解釋。把檔系統中簡單的記錄結構變成了記錄和記錄之間的聯繫所構成的結構化數據,在描述數據時,不僅要描述數據本身,還要描述數據之間的聯繫。從整體角度來組織數據,數據不在針對某一應用,而是面向全組織,實現了整體數據的結構化13數據獨立性物理獨立性指用戶的應用程式與存儲在磁片上的資料庫中數據是相互獨立的。當數據的物理存儲改變了,應用程式不用改變。邏輯獨立性指用戶的應用程式與資料庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,用戶程式也可以不變。14DBMS對數據的控制功能數據的安全性(Security)保護使每個用戶只能按指定方式使用和處理指定數據,保護數據以防止不合法的使用造成的數據的洩密和破壞。數據的完整性(Integrity)檢查將數據控制在有效的範圍內,或保證數據之間滿足一定的關係。15DBMS對數據的控制功能併發(Concurrency)控制對多用戶的併發操作加以控制和協調,防止相互干擾而得到錯誤的結果。資料庫恢復(Recovery)將資料庫從錯誤狀態恢復到某一已知的正確狀態。161.1.4資料庫系統的三級模式結構資料庫系統的三級模式結構由外模式、模式和內模式組成171.模式模式(也稱邏輯模式)資料庫中全體數據的邏輯結構和特徵的描述所有用戶的公共數據視圖,綜合了所有用戶的需求模式的地位:是資料庫系統模式結構的中間層與數據的物理存儲細節和硬體環境無關與具體的應用程式、開發工具及高級程式設計語言無關一個資料庫只有一個模式模式的定義數據的邏輯結構(資料項目的名字、類型、取值範圍等)數據之間的聯繫數據有關的安全性、完整性要求182.外模式外模式(也稱子模式或用戶模式)資料庫用戶(包括應用程式員和最終用戶)使用的局部數據的邏輯結構和特徵的描述資料庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。介於模式與應用之間。外模式通常是模式的子集一個資料庫可以有多個外模式。反映了不同的用戶的應用需求、看待數據的方式、對數據保密的要求同一外模式可以為某一用戶的多個應用系統所使用,但一個應用程式只能使用一個外模式。193.內模式內模式(也稱存儲模式)是數據物理結構和存儲方式的描述是數據在資料庫內部的表示方式一個資料庫只有一個內模式201.1.5資料庫系統的組成資料庫資料庫管理系統(及其開發工具)應用系統人員:DBA、系統分析員、資料庫設計人員、應用程式員和最終用戶。211.2關係資料庫的基本概念

1.2.1數據模型

1.2.2關係的數學定義

1.2.3關係資料庫

1.2.4關係的完整性

1.2.5關係運算221.2.1數據模型在資料庫中用數據模型這個工具來抽象、表示和處理現實世界中的數據和資訊。通俗地講數據模型就是現實世界的模擬數據模型分成兩個不同的層次概念模型(資訊模型)是按用戶的觀點來對數據和資訊建模。數據模型:按電腦系統的觀點對數據建模。包括網狀模型、層次模型、關係模型等。數據模型的三個基本組成要素:數據結構、數據操作和完整性約束。231.數據模型的三個基本組成要素數據結構:對象類型的集合,是對系統靜態特性的描述數據操作:對數據庫中各種對象的實例允許執行的操作及有關的操作規則數據操作的類型:檢索、更新(插入、刪除、修改)數據操作是對系統動態特性的描述數據的約束條件一組完整性規則的集合。完整性規則是給定的數據模型中數據及其聯繫所具有的制約和儲存規則,用以限定符合數據模型的資料庫狀態以及狀態的變化,以保證數據的正確、有效、相容。242.概念模型概念模型用於資訊世界的建模,是資料庫設計人員進行資料庫設計的有利工具,也是資料庫設計人員和用戶之間進行交流的語言。25資訊世界中的基本概念(1)實體(Entity)客觀存在並可相互區別的事物稱為實體。可以是具體的人、事、物或抽象的概念。(2)屬性(Attribute)實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。

(3)聯繫(Relationship)現實世界中,事物內部以及事物之間是有聯繫的,我們將它分為實體內部聯繫和實體之間的聯繫。實體內部聯繫是指組成實體各屬性之間的聯繫。實體之間的聯繫是指不同實體集之間的聯繫。26實體之間的聯繫實體之間的聯繫可分為三類班級班級-班長班長111:1聯繫課程選修學生mnm:n聯繫班級組成學生1n1:n聯繫273.概念模型的表示方法概念模型的表示方法很多實體-聯繫方法(E-R方法)用E-R圖來描述現實世界的概念模型E-R方法也稱為E-R模型28E-R圖E-R圖提供了表示實體、屬性和聯繫的方法:實體:用矩形表示,矩形框內寫明實體名。屬性: 用橢圓形表示,橢圓形內寫明屬性名。聯繫: 用菱形表示,菱形框內寫明聯繫名,用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系類型。29E-R圖示例

課程號

學分

教師

上課時間

名額

成績

學號

出生日期姓名

性別系別學生

課程

選修

課程名

m

n

304.常見數據模型非關係模型層次模型(HierarchicalModel)網狀模型(NetworkModel)關係模型(RelationalModel)31層次模型用樹型結構表示實體類型及實體間聯繫樹的結點是記錄類型非根結點有且只有一個雙親結點有且只有一個結點沒有雙親結點上層記錄類型和下層記錄類型的聯繫是1:n聯繫32

R1

根結點

R2

兄弟結點

R3

葉結點

R4

兄弟結點

R5

葉結點

葉結點33網狀模型用有向圖表示實體類型及實體間聯繫有向圖中的結點是記錄類型箭頭表示了從箭尾的記錄類型到箭頭的記錄類型間的1:n聯繫允許一個以上的結點無雙親一個結點可以有多於一個的雙親34

R1

R2

R3L1L2

R1

R2L3L1L2

R3L4

R4

R5

35關係模型最重要的一種數據模型。也是目前主要採用的數據模型1970年由美國IBM公司SanJose研究室的研究員E.F.Codd提出在用戶觀點下,關係模型中數據的邏輯結構是一張二維表,它由行和列組成。36學生基本情況表學號姓名性別系別05002王雨男電子工程系05013張楠女人文系37關係模型的基本術語

關係:二維表結構屬性:二維表中的列稱為屬性,Access中被稱為字段(Field)。域:屬性的取值範圍稱為域。元組:二維表中的行(記錄的值)稱為元組,Access中被稱為記錄(Record)。主碼:表中的某個屬性或屬性組,能夠唯一確定一個元組。Access中主碼被稱為主鍵。關係模式:是對關係的描述。一般表示為:關係名(屬性1,屬性2,…,屬性n)38關係模型的組成關係數據結構:關係模型中數據的邏輯結構是一張二維表。關係操作:關係操作採用集合操作方式,即操作的對象和結果都是集合。關係模型中常用的關係操作包括兩類。查詢操作:選擇、投影、連接、除、並、交、差數據更新:增加、刪除、修改關係完整性約束:關係模型中的完整性是指數據庫中數據的正確性和一致性,包括實體完整性、參照完整性和用戶定義的完整性。

391.2.2關係的數學定義關係模型是建立在集合代數基礎上的,下麵用集合代數給出二維表的關係定義。域:是一組具有相同數據類型的值的集合。例:整數,大於0小於50的正整數,{男,女},實數等等都可以是域。40關係的數學定義(續)笛卡爾積給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(d1,d2,…,dn)|di

Di,i=1,2,…,n}所有域的所有取值的一個組合不能重複41關係的數學定義(續)例給出三個域:

D1=SUPERVISOR={張清玫,劉逸}

D2=SPECIALITY={電腦專業,資訊專業}D3=POSTGRADUATE={李勇,劉晨,王敏}則D1,D2,D3的笛卡爾積為:D1×D2×D3={(張清玫,電腦專業,李勇),(張清玫,電腦專業,劉晨),

(張清玫,電腦專業,王敏),(張清玫,資訊專業,李勇),

(張清玫,資訊專業,劉晨),(張清玫,資訊專業,王敏),

(劉逸,電腦專業,李勇),(劉逸,電腦專業,劉晨),

(劉逸,電腦專業,王敏),(劉逸,資訊專業,李勇),

(劉逸,資訊專業,劉晨),(劉逸,資訊專業,王敏)}42關係D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關係,表示為

R(D1,D2,…,Dn)

R:關係名

n:關係的目或度(Degree)

n=1:稱單元關係(Unaryrelation)

n=2:稱二元關係(Binaryrelation)關係是一個二維表,表的每行對應一個元組,表的每列對應一個域.由於域可以相同,所以為了加以區分。對每列起一個名字,稱為屬性。n目關係必有n個屬性。43

SAP關係SUPERVISORSPECIALITYPOSTGRADUATE張清玫資訊專業李勇張清玫資訊專業劉晨劉逸資訊專業王敏44資料庫中的關係有以下性質每一列中的分量是同一類型的數據,來自同一個域;不同的列可出自同一個域,每一列稱為屬性,要給予不同的屬性名;列的順序可以任意交換,行的順序也可以任意交換;關係中的任意兩個元組不能完全相同;每一分量必須是不可分的資料項目。451.2.3關係資料庫一個應用領域中,所有關係的集合構成一個關係資料庫。對關係資料庫的描述稱為關係資料庫模式,是關係資料庫的型若干域的定義在這些域上定義的若干關係模式關係資料庫的值是這些關係模式在某一時刻對應的關係的集合,通常簡稱為關係資料庫461.2.4關係的完整性關係模型的完整性規則是對關係的某種約束條件。關係模型中三類完整性約束:實體完整性參照完整性用戶定義的完整性實體完整性和參照完整性是關係模型必須滿足的完整性約束條件,被稱作是關係的兩個不變性,應該由關係系統自動支持。47實體完整性實體完整性規則規定關係中元組在組成主碼的屬性上不能取空值例:選修(學號,課程號,成績)二者均不能為空48參照完整性關係間的引用在關係模型中實體及實體間的聯繫都是用關係來描述的,因此可能存在著關係與關係間的引用。例1學生實體、專業實體以及專業與學生間的一對多聯繫學生(學號,姓名,性別,專業號,年齡)專業(專業號,專業名)49

學生(學號,姓名,性別,專業號,年齡)

专业(專業號,專業名)

50參照完整性規則若屬性(或屬性組)F是基本關係R的外碼它與基本關係S的主碼Ks相對應(基本關系R和S不一定是不同的關係),則對於R中每個元組在F上的值必須為:

或者取空值(F的每個屬性值均為空值)

或者等於S中某個元組的主碼值。51用戶定義的完整性用戶定義的完整性是針對某一具體關係資料庫的約束條件,反映某一具體應用所涉及的數據必須滿足的語義要求。關係模型應提供定義和檢驗這類完整性的機制,以便用統一的系統的方法處理它們,而不要由應用程式承擔這一功能。例:課程(課程號,課程名,學分)“課程名”屬性必須取唯一值“學分”屬性只能取值{1,2,3,4}521.2.5關係運算關係運算的運算對象及結果都是關係

關係運算可分為以下的兩類:傳統的集合運算:並、差、交、廣義笛卡爾積專門的關係運算:選擇、投影、連接、除53並(Union)R和S具有相同的目n(即兩個關係都有n個屬性)相應的屬性取自同一個域R∪S

仍為n目關係,由屬於R或屬於S的元組組成

R∪S={t|t

R∨t

S}54並(續)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S

55差(Difference)R和S具有相同的目n相應的屬性取自同一個域R-S

仍為n目關係,由屬於R而不屬於S的所有元組組成

R-S={t|t

R∧t

S}56差(續)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S

57交(Intersection)R和S具有相同的目n相應的屬性取自同一個域R∩S仍為n目關係,由既屬於R又屬於S的元組組成

R∩S={t|t

R∧t

S} R∩S=R–(R-S)或R∩S=S-(S-R)58交(續)ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S

59廣義笛卡爾積R:n目關係,k1個元組S:m目關係,k2個元組R×S

列:(n+m)列的元組的集合元組的前n列是關係R的一個元組後m列是關係S的一個元組行:k1×k2個元組R×S={tr

ts|tr

R∧ts

S}60廣義笛卡爾積(續)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR×S

ABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c161選擇(Selection)選擇又稱為限制(Restriction)選擇運算符的含義在關係R中選擇滿足給定條件的諸元組

σF(R)={t|t

R∧F(t)='真'}F:選擇條件,是一個邏輯運算式,包括:運算對象:屬性名、常量、簡單函數;屬性名也可以用它的序號來代替;運算符:比較運算符(>,≥,<,≤,=或≠)也稱θ符邏輯運算符(∧、∨、﹁)62選擇(續)選擇運算是從行的角度進行的運算σ63選擇(續)所在系Sdept學號Sno姓名Sname性別Ssex年齡Sage95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19IS

Student[例3][例2][例4]64[例1]查詢資訊系(IS系)全體學生

σSdept='IS'(Student)

或σ5='IS'(Student)SnoSnameSsexSageSdept95002劉晨女19IS95004張立男19IS65選擇(續)[例2]查詢年齡小於20歲的學生

σSage<20(Student)

或σ4<20(Student)

結果:

SnoSnameSsexSageSdept95002劉晨女19IS95003王敏女18MA95004張立男19IS

662.投影(Projection)投影運算符的含義從R中選擇出若干屬性列組成新的關係

πA(R)={t[A]|t

R} A:R中的屬性列

例:S(S#,SN,SEX,AGE)

A={S#,SN}t[A]={001,李闖}672.投影(Projection)投影操作主要是從列的角度進行運算但投影之後不僅取消了原關係中的某些列,而且還可能取消某些元組(避免重複行)π68投影(續)舉例[例3]查詢學生的姓名和所在系 即求Student關係上學生姓名和所在系兩個屬性上的投影

πSname,Sdept(Student)

或π2,5(Student)69投影(續)SnameSdept李勇CS劉晨IS王敏MA張立IS70投影(續)[例4]查詢學生關係Student中都有哪些系

πSdept(Student)

結果:SdeptCSISMA713.連接(Join)連接也稱為θ連接連接運算的含義從兩個關係的笛卡爾積中選取屬性間滿足一定條件的元組

RS={|tr

R∧ts

S∧tr[A]θts[B]}A和B:分別為R和S上度數相等且可比的屬性組θ:比較運算符

連接運算從R和S的廣義笛卡爾積R×S中選取(R關係)在A屬性組上的值與(S關係)在B屬性組上值滿足比較關係的元組。trts

AθBAθB72

連接(續)兩類常用連接運算等值連接(equijoin)什麼是等值連接θ為“=”的連接運算稱為等值連接

等值連接的含義從關係R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為:

RS={|tr

R∧ts

S∧tr[A]=ts[B]}A=Btrts73

連接(續)自然連接(Naturaljoin)

什麼是自然連接自然連接是一種特殊的等值連接兩個關係中進行比較的分量必須是相同的屬性組在結果中把重複的屬性列去掉自然連接的含義

R和S具有相同的屬性組B

R

S={|tr

R∧ts

S∧tr[B]=ts[B]}trts74連接(續)一般的連接操作是從行的角度進行運算。 自然連接還需要取消重複列,所以是同時從行和列的角度進行運算。

AθBRS75連接(續)[例5]ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS76連接(續)R

S

AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310

C<E77連接(續)

等值連接R

SR.B=S.B

AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b3278連接(續)

自然連接R

S

ABCEa1b153a1b267a2b3810a2b382794.除(Division)給定關係R(X,Y)

和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運算得到一個新的關係P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。

R÷S={tr[X]|tr

R∧πY(S)

Yx}

Yx:x在R中的象集,x=tr[X]80除(續)除操作是同時從行和列角度進行運算

÷RS81除(續)ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2R÷SAa1RS82分析:在關係R中,A可以取四個值{a1,a2,a3,a4}a1的象集為{(b1,c2),(b2,c3),(b2,c1)}

a2的象集為{(b3,c7),(b2,c3)}

a3的象集為{(b4,c6)}

a4的象集為{(b6,c6)}S在(B,C)上的投影為

{(b1,c2),(b2,c1),(b2,c3)}只有a1的象集包含了S在(B,C)屬性組上的投影所以R÷S={a1}831.3關係資料庫標準語言SQLSQL(StructuredQueryLanguage,結構化查詢語言)是關係資料庫的標準語言.SQL的特點:一體化特點:語言功能一體化、結構一體化高度非過程化:幹什麼?面向集合的操作方式以同一種語法結構提供兩種使用方法語言簡潔,易學易用84SQL的數據定義功能定義基本表CREATETABLE<表名>(<列名1><數據類型1>[列級完整性約束條][,<列名2><數據類型2>[列級完整性約束條]]…[表級完整性約束條件]]);85例:建立一個“學生基本情況”表,它由“學號”、“姓名”、“性別”、“系別”四個屬性組成。其中學號不能為空,值是唯一的。

CREATETABLE

學生基本情況

(學號CHAR(5)NOTNULLUNIQUE,

姓名CHAR(8),

性別CHAR(2),

系別CHAR(15));86修改基本表ALTERTABLE<表名>[ADD<新列名><數據類型>[完整性約束][DROP<完整性約束>][ALTERCOLUMN<列名><數據類型>];刪除基本表DROPTABLE〈表名〉SQL的數據定義功能87例:在學生基本情況表中,增加出生日期字段。

ALTERTABLE

學生基本情況

ADD

出生日期DATE88SQL的數據查詢功能SQL語言提供SELECT語句進行資料庫的查詢SELECT語句的一般格式:

SELECT[ALL|DISTINCT]<目標列表達式>[,<目標列表達式>]...FROM<表名或視圖名>[,<表名或視圖名>]...[WHERE<條件運算式>][GROUPBY<列名1>[HAVING<條件運算式>]][ORDERBY<列名2>[ASC|DESC]];

89SELECT語句舉例SELECT

課程設置表.課程代碼,課程設置表.課程名稱,課程設置表.學時,課程設置表.學分FROM

課程設置表WHERE(((課程設置表.學分)>4))ORDERBY

課程設置表.學時DESC;90數據操縱功能

插入數據INSERTINTO<表名>[(<列名1>[,<列名2>…])]VALUES(<常量1>[,<常量2>…])

修改數據UPDATE<表名>SET<列名>=<運算式>[,<列名>=<運算式>]…[WHERE<條件>];刪除數據DELETEFROM<表名>[WHERE<條件>];91例:向學生基本情況表中添加新記錄INSERTINTO

學生基本情況VALUES(“02103”,“張紅”,“女”,“人文系”,“1984-05-10”)例:將學生基本情況表中,學號為02103的姓名改為趙鑫。UPDATE

學生基本情況SET

姓名=趙鑫WHERE

學號=’02103’;921.4Access概述Access作為MicrosoftOffice軟體中的一個重要的組成部分,隨著版本的一次次升級,現已成為世界上最流行的桌面資料庫管理系統。931.4.1Access的特點提供了與其他資料庫管理系統的介面,可通過ODBC介面與其他大型資料庫交換數據可方便與Excel、Word共用資訊。提供了程式設計開發語言VBA,使用該語言可發自己的應用程式。通過資料庫檔來保存表、數據、查詢、報表窗體。方便管理資料庫檔。從Access2000開始,進一步新增了Web頁的功能,使用戶可以更輕鬆的將資料庫的數據通過網頁進行公佈。941.4.2Access的基本對象數據表查詢窗體報表數據訪問頁宏模組95(1)數據表

數據表是關於特定實體的數據集合,由字段和記錄組成。一個資料庫中可以有多個數據表。字段就是表中的一列,字段存放不同的數據類型,具有一些相關的屬性,字段的基本屬性有:字段名稱,數據類型,字段大小等,可設定不同的取值。記錄就是數據表中的一行,記錄用來收集某指定對象的所有資訊。返回96(2)查詢

查詢是資料庫的核心操作。利用查詢可以按照不同的方式查看、更改和分析數據。也可以利用查詢作為窗體、報表和數據訪問頁的記錄源。查詢的目的就是根據指定條件對數據表或其他查詢進行檢索,篩選出符合條件的記錄,構成一個新的數據集合,從而方便用戶對數據庫進行查看和分析。

Access中的查詢包括選擇查詢、計算查詢、參數查詢、交叉表查詢、操作查詢、SQL查詢。

返回97(3)窗體

設計一個好的窗體就建立起友好的用戶介面,會給使用者帶來極大方便,使所有用戶都能根據窗體中的提示完成自己的工作,而不用專門進行培訓。這是建立窗體的基本目標。返回98(4)報表

報表是以列印的形式表現用戶數據。如果想要從某些記錄列印資訊時就可以使用報表。通常情況下,我們需要的是列印到紙張上的報表。在ACCESS中,報表中的數據源主要來自基礎的表、查詢或SQL語句。用戶可以控制報表上每個對象(也稱為報表控件)的大小和外觀,並可以按照所需的方式選擇所需顯示的資訊以便查看或列印輸出。

返回99100(6)宏宏是指一個或多個操作的集合,其中每個操作實現特定的功能,如打開某個窗體或列印某個報表。宏可以使某些普通的、需要多個指令連續執行的任務能夠通過一條指令自動地完成。宏是重複性工作最理想的解決辦法。例如,可設置某個宏,在用戶單擊某個命令按鈕時運行該宏,可以列印某個報表。宏可以是包含一個操作序列的一個宏,也可以是若干個宏的集合所組成的宏組。宏組是一系列相關宏的集合,將相關的宏分到不同的宏組有助於方便地對數據庫進行管理。

返回1012.1資料庫設計的一般方法

確定創建資料庫的目的確定該資料庫中需要的表確定字段:名、類型

確定主鍵確定表之間的關係輸入數據1022.2創建資料庫資料庫檔以.mdb為擴展名。在Access窗口中打開一個資料庫檔,就顯示一個資料庫窗口。創建一個數據訪問頁,就增加一個獨立的.htm檔。一個.mdb檔可包含一個完整的Access資料庫應用系統。只有附帶數據訪問頁的Access應用系統可以包含一個.mdb檔和若干.htm檔。103創建資料庫的方法1.創建空資料庫〖例1〗創建一個空的“學生管理資料庫”。2.利用“資料庫嚮導”創建資料庫Access為10類常見的應用提供了資料庫範本。〖例2〗創建一個“庫存管理”資料庫1042.3表的基本概念表是Access資料庫中存儲數據的唯一資料庫對象,表是關於特定主題的數據集合,表由記錄組成,表中每一行稱為一條記錄,記錄量的多少,決定表的資訊量大小。每一條記錄由若干字段組成,若干字段可完整表達一條記錄資訊設計Access表就是設計其中有多少條記錄,每一條記錄包含哪些字段屬性。105106表的字段字段名字段名是用來標識字段的,字段名稱必須能清楚的反映資訊內容。字段命名應符合Access資料庫的對象命名的規則:長度不超過64個西文字元(或32個漢字)。字段名稱可採用字母、數字和空格及其他任意字元的組合(不含句號“。”、感嘆號“!”、方括號“[]”),不能以空格開頭。不能包含控制字元(0~32的ASCII值)。107表的字段數據類型10種類型:文本,備註,數字,日期/時間,貨幣,自動編號,是/否,OLE對象,超鏈接,查閱嚮導。各種數據類型的用途和佔用的長度見教材數字型數據可細分為位元組、整數、單精確度實數和雙精度實數等子類型。108表的字段字段屬性字段的屬性指字段的大小、外觀和其他的能夠說明字段所表示的資訊和數據類型的描述。確定字段的屬性才能更準確的確定數據在表中的存儲,不同的數據類型有不同的屬性,字段屬性可在表設計器中設定109Access的四種視圖

視圖是Access資料庫對象的外觀表現形式,表有四種視圖。設計視圖:設計視圖是一個功能強大的工具,不僅可以設計表還可以用來修改表結構。數據表視圖:在數據表視圖中可添加、刪除和修改數據。數據透視表視圖和數據透視圖:數據透視表視圖和數據透視圖是用所選格式和計算方法,匯總大量數據的表或圖1102.4表的創建創建表可以有多種方法。在【資料庫】窗口中選擇【表】選項卡後,其右窗格就會顯示【使用設計器創建表】、【使用嚮導創建表】和【通過輸入數據創建表】3個選項單擊資料庫窗口工具欄中的【新建】按鈕,打開【新建表】對話框,其中也包含這3項創建表的功能。在設計圖中創建表用“表嚮導”創建表

通過輸入數據方式創建表111用設計器創建表/修改表結構使用設計器既可以創建新表,也可以修改已有的表。其一般操作步驟是:①打開資料庫窗口②打開表設計視圖③定義/修改表結構④保存表結構112引例:學生基本情況表〖例〗在“學生管理”資料庫中創建“學生基本情況”表的結構,字段數據類型與字段屬性如表所示。字段名稱數據類型字段大小學號文本10姓名文本4性別文本1出生日期日期/時間系別文本型5113向數據表輸入數據數據表是數據表視圖窗口中以行列格式顯示數據的表格。表結構定義結束後,Access將生成一個空白的數據表。向數據表輸入的數據必須與字段的類型匹配。(1)打開“學生基本情況表”的數據表視圖。(2)輸入記錄數據:114圖數據表115通過嚮導創建表例4:使用表嚮導創建一個如表所示成績表116幾點說明:(1)主鍵字段能惟一地標識表中的每個記錄。“自動編號”型字段能在添加記錄時自動插入唯一的順序號。(2)“自動編號”字段的值不能由用戶輸入或修改。如果刪除了一個記錄,“自動編號”值就減少一個,而其他“自動編號”值不變。117通過輸入數據創建表“先輸入數據,再確定字段”的創建表方式。在資料庫窗口中雙擊【通過輸入數據創建表】項,將會顯示一個空板數據表(名為“表1”);在各列輸入數據;雙擊“字段1”等,輸入各字段名單擊工具欄中的【保存】按鈕,Access就會創建表,並自動確定字段數據類型。118常用的字段屬性字段屬性是用來指定數據的存儲、輸入或顯示方式的一組特徵。【字段屬性】窗格可以包含【常規】和【查閱】兩種選項卡,幾十種字段屬性。字段大小1.文本型字段文本的長度0到225個字元。默認50個字元。2.數字型字段【字段大小】框包含位元組、整型、長整型、單精確度型、雙精度型等子類型,(見表2.5),其中長整型為默認類型。119格式:用於指定字段數據的顯示方式。1.文本型和備註型字段的格式自定義格式的格式符:@<>格式字串:最多含有兩個節,中間用分號(;)分隔。第一節作用於字段值非空的字串。第二節表示空串字段值的顯示內容。示例:<;"Unknown"當字段值為空字元串時顯示結果為Unknown,而當字段值為其他內容時,凡大寫的字母均變為小寫。1202.數字型和貨幣型字段的格式(1)標準格式(2)自定義格式占位符:0#$格式字串:正數的格式;負數的格式;零值的格式;Null值的格式示例:+0.0;–0.0;0.0表示在正數之前顯示正號(+),負數之前顯示負號(-);零值顯示0.0。

1213.“日期/時間”型字段的格式標準格式見書表2-3。4.“是/否”型字段的格式標準格式“真/假|True”、“是/否|Yes”、“開/關|On”、-1/0(2)自定義格式格式字串共分3個節。第一節僅用一個分號(;)作為占位符;第二節是邏輯真的顯示文本。第三節則是邏輯假的顯示文本。示例:;是;否“是/否”型字段值以漢字“是”或“否”來顯示。122輸入掩碼輸入掩碼:由掩碼字元和字面顯示字元組成的一個字串,用於控制對字段和控件的數據輸入123示例:為設備表的編號字段定義一個輸入掩碼。要求每一字元時僅能輸入0到9;不允許鍵入正號或負號;每位必填,但字元“-”不必鍵入就能顯示。

在設備表設計視圖中,選定編號字段後往【輸入掩碼】屬性框鍵入000-0。打開數據表視圖,向編號字段空單元格鍵入數據時,將會顯示輸入格式___-_。124索引:設置索引有利於對字段的查詢,分組和排序,此屬性用於設置單一字段索引有效性文本:當用戶違反“有效性規則”時所顯示的提示資訊。有效性規則:輸入數據按指定要求輸入,若違反“有效性規則”,將會顯示“有效性文本”設置的提示資訊。125圖2.20設備表的【常規選項卡】圖2.22【有效性文本】提示框126標題、默認值及其它標題:在“常規”窗口下的“標題”屬性框中輸入名稱,將取代原來字段名稱在表中顯示。默認值:添加新記錄時的自動輸入值。允許空字元串:該屬性僅用來設置文本字段,屬性值也為“是”或“否”項,設置為“是”時,表示該字段可以填寫任何資訊。必填字段:此屬性值為“是”或“否”項。設置“是”時,表示此字段值必須輸入,設置為“否”時,可以不填寫本字段數據,允許此字段值為空。輸入法模式:輸入法模式用來設置是否允許輸入漢字。1272.5表佈局設計的基本操作表佈局的設計包括調整行高、列寬,改變列的順序,顯示或隱藏列,刪除行或列等,這些操作都可通過Access窗口中“格式”菜單來完成(1)選定要修改的表,單擊資料庫窗口工具欄上的“打開”按鈕,打開表(2)在“格式”菜單中選擇相應命令調整列寬和行高列的隱藏和移動(選定列,按住滑鼠左鍵拖動)列的凍結與解凍設置字體與格式1282.6Access中的數據字面值和常量

字面值和常量都是固定不變的數據。字面值指用戶設定的值,而常量則指由Access定義的值。字面值(1)數字字面值:任意一個表示數值的整數或小數。如:10,-100,2.81828。(2)字串字面值:是用半角雙引號括起來的字串,例如“電腦”,“3.14159”在條件運算式中輸入字串時,Access會自動添加雙引號,若想輸出本身帶雙引號的文本可用半角單引號(‘)將字串括起來,如:’“長城”’。

(3)“日期/時間”字面值:

#90-1-1#

#9:59:00#

#90-1-19:59:00#。129常量(1)“是/否”型常量:表示邏輯值,Yes、True、On、-1都表示“真”;No、False、Off、0均表示“假”。(2)空字元串:也稱“零長度字串”,用兩個緊接的半角雙引號("")表示。(3)Null:表示丟失或未知的數據。字段或控件未輸入數據,或數據已刪空而形成“留空”,其值為Null。Null不同於空格;也不同於空字元串,空字元串的長度為零,而Null沒有長度。130函數常用的內置函數:算術函數,文本函數,“日期/時間”函數的要素(1)函數名起標識作用。(2)參數為引數,寫在括弧內的一至多個運算式。(3)函數值是函數運算後的返回值。SQR(4)的函數值為2。函數的類型:函數值的類型。TypeName(varname)函數能返回運算式的類型,也能測出函數的類型。例如:TypeName(Str(5.1)),結果顯示String,表明函數Str(5.1)值是字串。131運算式運算式是運算符、常量、函數、字段名稱、控件和屬性的任意組合,具有計算、判斷和數據類型轉換等作用。Access共有6類運算符(即數學、比較、邏輯、字元、日期/時間和引用)。數學、比較、邏輯運算符表1.7列出了3類運算使用的運算符132133字串運算符字串運算符&(或+號)用於連接兩個字串。“資訊”&“技術”→資訊技術。&比加號功能強,能強制字串和其他類型數據連接為字串Date()&“資訊”→03-8-20資訊134“日期/時間”運算符加(+)、減(-)符號可用作“日期/時間”運算符。(1)日期與日期加或減,結果為數值。例如#01-12-31#-#99-12-31#,結果為數值366。(2)“日期/時間”日期加或減一個數值,表示加或減一個天數,結果為“日期/時間”。(3)日期與時間相加,結果為日期時間。例如#02-6-30#+#9:12:00#,結果為日期時間02-6-309:12:00。135“引用”運算符“引用”運算符分為以下4種。等號(=):在某些場合引用運算式,例如在“計算控件”中設置的運算式必須以等號開頭。方括號([]):標示對象名稱,包括表、查詢、窗體、報表、字段或控件的名稱。例如[價格]>10000

感嘆號(!)和點(.):點(.)可在SQL語句中引用字段,例如:設備.編號。1362.7對象的各種操作整表的複製和刪除打開【表】選項卡後進行操作:1.“Ctrl+拖放”複製表2.通過剪貼板複製表:執行表的【複製】和【粘貼】命令3.刪除整表在資料庫窗口中單擊擬刪除的某表,然後按Delete鍵。4.重命名表:右鍵單擊——重命名137修改表結構插入字段刪除字段:編輯/刪除行移動字段:在表設計視圖和數據表視圖下均可完成修改字段數據類型重命名列138查找與替換記錄對於表中大量的記錄,當需要替換某些記錄值時可使用Access的“編輯”菜單中的“查找和替換”命令實現。首先要快速查找到符合某些條件的記錄,再完成替換。例10: 查找“學生基本情況表”中“電子工程系”的學生,並將其替換為“電子系”。1393.1

查詢的基礎知識

查詢是資料庫最重要、最常見的應用查詢對象不是數據的集合,而是操作的集合。可以這樣理解,查詢是針對數據表中數據源的操作命令。每次打開查詢,就相當於重新按條件進行查詢在Access資料庫中,查詢是一種統計和分析數據的工作,是對數據庫中的數據進行分類、篩選、添加、刪除和修改。Access提供了多種查詢工具,用戶利用它們可以進行各種查詢,進而完成自己所要進行的其他工作。140Access的查詢可以分為以下幾種類型:

選擇查詢:這種查詢檢索滿足特定條件的數據。從一個或多個表中獲取數據並顯示結果。操作查詢:僅在一個操作中更改許多記錄的一種查詢。操作查詢分為四種類型:刪除、追加、更改與生成表。

交叉表查詢:可以匯總數據字段的內容,匯總計算的結果顯示在行與列交叉的單元格中。還可以計算平均、最大值、最小值等

參數查詢:並不是一個獨立的查詢,而是在其他查詢中增加了可變化的參數,以擴大查詢的靈活性,在運行實際查詢之前彈出對話框,提示用戶輸入參數。

SQL查詢:使用SQL語言創建的查詢,寫在SQL視圖中

1413.2

使用查詢嚮導創建查詢

在Access中,有兩種建立查詢的方法,一種是使用嚮導建立查詢,另一種是利用設計視圖建立查詢。利用嚮導建立查詢是以人機對話的方式建立一個簡單的查詢。Access中提供了四種查詢嚮導:

1)簡單查詢嚮導

2)交叉表查詢嚮導

3)查找重複項查詢嚮導

4)查找不匹配項查詢嚮導

1423.2.1簡單查詢嚮導

使用簡單查詢嚮導創建查詢的操作步驟如下:1)在“資料庫”窗口中,單擊“對象”下的“查詢”選項。2)在“查詢”選項卡中單擊“新建”按鈕,打開“新建查詢”對話框3)單擊“簡單查詢嚮導”選項,然後單擊“確定”按鈕,打開“簡單查詢嚮導”對話框1433.2.2交叉表查詢嚮導

1)在“查詢”選項卡中,單擊“資料庫”窗口工具欄上的“新建”按鈕,打開“新建查詢”對話框。2)選擇“交叉表查詢嚮導”選項,然後單擊“確定”按鈕,打開“交叉表查詢嚮導”對話框。

1443)

在“視圖”選項組中,選擇“表”;在“請指定哪個表或查詢中含有交叉表查詢結果所需的字段”列表框中,選擇“學生檔案表”。4)單擊“下一步”按鈕,在“可用字段”框中選擇“院系”作為交叉表中要用的行標題。

1455)單擊“下一步”按鈕,在這個對話框中選擇“性別”作為列標題。

1466)單擊“下一步”按鈕,確定為每個列和行的交叉點計算出什麼數字。

在“字段”框中選擇“學號”,在“函數”框中選擇“計數”,

1477)單擊“下一步”按鈕,在出現的對話框中輸入交叉表的名字“學生檔案表_交叉表”。

1483.2.3查找重複項查詢嚮導

根據“查找重複項”查詢的結果,可以確定在表中是否有重複的記錄,或記錄在表中是否共用相同的值。例:搜索所在系字段中的重複值來確定該系的學生。1493.2.4查找不匹配項查詢嚮導

使用“查找不匹配項查詢嚮導”,可以在表中查找與其它記錄不相關的記錄。例:在學生成績管理資料庫中查找沒有選課的學生的學號、姓名、所在系在學生資訊表中查找沒有出現在選修資訊表中的記錄1503.3使用設計視圖創建查詢

使用設計視圖既可以創建查詢,也可以修改已有的查詢。在設計視圖中還可以進一步設計各個字段的查詢準則,使新建查詢的結果更加精確。例:查詢學生的學號、姓名、課程名和成績。例:查找單科成績大於85分的學生記錄,並顯示學生所在院系、學號、姓名151設計視圖

152設計視圖字段:查詢所需要的字段。每個查詢至少包括一個字段,也可以包含多個字段。表:指定查詢的數據來源表或查詢排序:指定查詢的結果是否進行排序。排序方式包括“昇冪”、“降序”和“不排序”三種。條件:指定用戶用於查詢的條件或要求。

153查詢準則準則:是指在查詢中用來限制檢索記錄的條件運算式,它是算術運算符、邏輯運算符、常量、字段值和函數等的組合。1.簡單準則運算式字元型數字型表示空字段值2.操作符比較操作符字元運算符邏輯運算符3.函數邏輯運算符操作符形式含義And<運算式1>And<運算式2>限制字段值必須同時滿足<運算式1>和<運算式2>Or<運算式1>Or<運算式2>限制字段值只要滿足<運算式1>和<運算式2>中的一個即可NotNot<運算式>限制字段值不能滿足<運算式>的條件函數說明Abs(數值運算式)返回數值運算式值的絕對值Int(數值運算式)返回數值運算式值的整數部分Sqr(數值運算式)返回數值運算式值的平方根Sgn(數值運算式)返回數值運算式的符號值。當數值運算式值大於0時返回值為1;當數值運算式值等於0時返回值為0;當數值運算式值小於0時返回值為-1數值函數字元函數函數說明Space(數值運算式)返回由數值運算式的值確定的空格個數組成的空字元串String(數值運算式,字元運算式)返回由字元運算式的第1個字元重複組成的長度為數值運算式值的字串Left(字元運算式,數值運算式)返回從字元運算式左側第1個字元開始長度為數值運算式值的字串Right(字元運算式,數值運算式)返回從字元運算式右側第1個字元開始長度為數值運算式值的字串Len(字元運算式)返回字元運算式的字元個數Mid(字元運算式,數值運算式1[,數值運算式2])返回從字元運算式中第數值運算式1個字元開始,長度為數值運算式2個的字串。數值運算式2可以省略,若省略則表示從第數值運算式1個字元開始直到最後一個字元為止日期/時間函數函數說明Day(date)返回給定日期1~31的值。表示給定日期是一個月中的哪一天Month(date)返回給定日期1~12的值。表示給定日期是一年中的哪個月Year(date)返回給定日期100~9999的值。表示給定日期是哪一年Weekday(date)返回給定日期1~7的值。表示給定日期是一周中的哪一天Hour(date)返回給定小時0~23的值。表示給定時間是一天中的哪個鐘點Date()返回當前的系統日期統計函數函數說明Sum(字元運算式)返回字元運算式中值的總和。字元運算式可以是一個字段名,也可以是一個含字段名的運算式,但所含字段應該是數字數據類型的字段Avg(字元運算式)返回字元運算式中值的平均值。字元運算式可以是一個字段名,也可以是一個含字段名的運算式,但所含字段應該是數字數據類型的字段Count(字元運算式)返回字元運算式中值的個數。字元運算式可以是一個字段名,也可以是一個含字段名的運算式,但所含字段應該是數字數據類型的字段Max(字元運算式)返回字元運算式中值的最大值。字元運算式可以是一個字段名,也可以是一個含字段名的運算式,但所含字段應該是數字數據類型的字段Min(字元運算式)返回字元運算式中值的最小值。字元運算式可以是一個字段名,也可以是一個含字段名的運算式,但所含字段應該是數字數據類型的字段使用文本值作為準則示例字段名稱準則功能院系"資訊技術學院"查詢院系為資訊技術學院的記錄課程名稱Like"電腦*"查詢課程名稱以“電腦”開頭的記錄民族Not"漢"查詢所有民族不是漢族的記錄姓名In("海楠","王平")或"海楠"or"王平"查詢姓名為海楠或王平的記錄姓名Left([姓名],1)="王"查詢所有姓王的記錄學號Mid([學號],3,2)="04"查詢學號第3位和第4位為04的記錄使用處理日期結果作為準則示例字段名稱準則功能出生日期Between#1980-1-1#And#1984-12-31#或Year([出生日期])=1980查詢1980年出生的記錄出生日期Month([出生日期])=Month(Date())查詢本月出生的記錄出生日期Month([出生日期])=1980AndDay([出生日期])=4查詢1980年4月出生的記錄工作時間>Date()-20查詢20天內參加工作的記錄161對查詢進行編輯編輯查詢中的字段增加字段刪除字段移動字段在查詢中修改字段的標題改變字段順序運行查詢排序查詢的結果162選擇查詢選擇查詢是Access支持的多種類型查詢對象中最常見、最重要的一種,它從一個或多個表中根據準則檢索數據,它的優點在於能將一個或多個表中的數據集合在一起。例如,查找單科成績大於85分的學生記錄,並顯示學生所在院系、學號、姓名。1633.4

計算查詢

創建計算查詢在建立查詢時,有時可能關心查詢記錄,有時可能關心記錄的計算結果。通過查詢操作完成表內部或各表之間數據的運算,是建立查詢對象的一個常用的功能。完成計算操作是通過在查詢的對象中設計計算查詢列實現的。例1:查詢所有學生資訊,學號只顯示後6位例2:查詢各門課程的平均分修改顯示標題添加計算字段1643.5操作查詢

操作查詢是在查詢的過程中在資料庫中完成一定的操作,使用戶可以根據自己的需要,利用查詢創建一個新的數據表以及對數據表中的數據進行增加、刪除和修改等操作。有4種類型的操作查詢:更新查詢:替換現有數據。追加查詢:在現有表中添加新記錄。刪除查詢:從現有表中刪除記錄。生成表查詢:創建新表。

1653.6聯接表

3.6.1表間關係

在同一資料庫中的數據表,彼此之間常常存在或多或少的聯繫,稱為表間關係。表間關係可通過Access提供的“關係”窗口來創建。表的關聯:父表——子表指針聯動

關係的類型

排序與索引

1663.7創建交叉表和參數查詢

創建交叉表查詢

例:P82按行顯示學號和課程號在每列顯示相應學生的科目成績及所在系167參數查詢

參數查詢是動態的,它利用對話框提示用戶輸入參數並檢索符合所輸入參數的記錄或值。要創建參數查詢,必須在查詢列的“條件”單元格中輸入參數運算式(括在方括號中),而不是輸入特定的條件。運行該查詢時,Access將顯示包含參數運算式文本的參數提示框。參數查詢可以應用於選擇查詢、生成表查詢、追加查詢等查詢中

1683.8SQL查詢

SQL是StructureQueryLanguage的縮寫,即“結構化查詢語言”。當今的所有關係型資料庫管理系統都是以SQL作為核心的。單純的SQL語言所包含的語句並不多,但在使用的過程中需要大量輸入各種表、查詢和字段的名字。使用SQL查詢創建的查詢有以下4種:聯合查詢、傳遞查詢、數據定義查詢和子查詢。169SQL視圖170

SELECT語句:其只要功能是實現數據源數據的篩選、投影和連接操作,並能夠完成篩選字段重命名、對數據源數據組合、分類匯總、排序等具體操作,具有非常強大的數據查詢功能。SELECT的語法SELECT[predicate]{*|table.*|[table.]field1[ASalias][,[table.]field2[ASalias2][,…]]}FROMtableexpression[,…][INextrnaldatabase][WHERE…][GROUPBY…][HAVING…][ORDERBY…];

171SELECT語句舉例

SELECT課程代碼,課程名稱,學時,學分FROM課程表WHERE學分>2ORDERBY學時DESC;172聯合查詢聯合查詢:可以將兩個或多個表(查詢)中的字段合併到一個查詢結果中。執行聯合查詢時,將返回所包含的表或查詢中對應字段的記錄。Select學號,姓名From學生表1Unionselect學號,姓名From學生表2173注意:(1)要為兩個SELCET語句以相同的順序指定相同的字段——SQL語句的列數相同,並且相應的列的數據類型相同,。此時,Access不會關心每個列的名稱。當列的名稱不相同時,查詢會使用來自第一個SELECT語句的名稱。(2)如果不要返回重複記錄,可以輸入帶有UNION運算的SQLSELECT語句;如果要返回重複記錄,需要輸入帶有UNIONALL運算的SQLSELECT語句。(3)如果要在聯合查詢中指定排序,應在最後一個SELECT語句的末端添加一個ORDERBY從句。174傳遞查詢

Access傳遞查詢可直接將命令發送到ODBC資料庫伺服器。使用傳遞查詢,不必連接到伺服器上的表,就可直接使用相應的表。175數據定義查詢

數據定義查詢是SQL的一種特定查詢。使用數據定義查詢可以在資料庫中創建或更改對象。CREATETABLE:創建表。CREATETABLE語句不會覆蓋已經存在的同名表,如果表已經存在,會返回一個錯誤消息,並取消這一任務。176

DROP:從資料庫中刪除表,或者從字段或字段組中刪除索引。CREATEINDEX:為字段或字段組創建索引。

CREATEINDEX索引名稱ON表(字段);為了避免索引字段的重複,添加如下各式的UNIQUE保留字:

CREATEUNIQUEINDEX索引ON表(字段);要指明索引字段是主鍵,使用如下格式的PRIMARY保留字:

CREATEINDEX索引

ON表(字段)WITHPRIMARY;177子查詢使用子查詢可以定義字段或定義字段的條件。操作步驟如下:1.新建一個查詢,將所需的字段添加到設計視圖的設計網格中。2.如果要用子查詢來定義字段的條件,在要設置條件的“條件”單元格中輸入一條SELECT語句,並將SELECT語句放置在括弧中。178

窗體類型

窗體的三種視圖

使用嚮導創建窗體

使用設計視圖創建窗體

創建子窗體

創建多頁或多選項卡窗體

179窗體類型

從功能上分1、提示性窗體:給出提示幫助資訊2、數據性窗體:

主要用於顯示數據,接收數據輸入、刪除、編輯與修改等操作。數據性窗體的特點是:它必須具有數據源。

1801813、控制性窗體:主操作介面窗體,在這個窗體上安置上一些命令按鈕,用以實現數據應用系統中其他窗體的調用,也表明了本系統所具備的全部功能182窗體類型(續)從邏輯上分為主窗體和子窗體183窗體類型(續)從顯示數據方式上分1、縱欄式窗體2、表格式窗體3、數據表窗體4、圖表窗體5、數據透視表窗體示例184窗體的三種視圖設計視圖:用來創建和修改窗體對象的窗口窗體視圖:能夠同時輸入、修改和查看完整的記錄數據的窗口,可顯示圖片、命令按鈕、OLE對象等數據表視圖:以行列方式顯示數據185使用嚮導創建窗體創建“自動窗體”使用“自動窗體”功能是創建數據維護窗體最迅速、最簡便的方法。自動創建窗體嚮導

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论