




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .第第6章章 數(shù)據(jù)庫(kù)使用初步數(shù)據(jù)庫(kù)使用初步2計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .目 錄 6.1 數(shù)據(jù)庫(kù)系統(tǒng)的基本概念數(shù)據(jù)庫(kù)系統(tǒng)的基本概念 6.2 Access數(shù)據(jù)庫(kù)的建立和維護(hù)數(shù)據(jù)庫(kù)的建立和維護(hù) 6.3 數(shù)據(jù)庫(kù)查詢數(shù)據(jù)庫(kù)查詢 6.4窗體和報(bào)表窗體和報(bào)表3計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.1 數(shù)據(jù)庫(kù)系統(tǒng)的基本概念 數(shù)據(jù)庫(kù)技術(shù)是有關(guān)數(shù)據(jù)管理的技術(shù),是計(jì)數(shù)據(jù)庫(kù)技術(shù)是有關(guān)數(shù)據(jù)管理的技術(shù),是計(jì)算機(jī)科學(xué)與技術(shù)的重要分支,也是信息系算機(jī)科學(xué)與技術(shù)的重要分支,也是信息系統(tǒng)的核心和基礎(chǔ)。當(dāng)今社會(huì)上各種各樣的統(tǒng)的核心和基礎(chǔ)。當(dāng)今社會(huì)上各種各樣的信息系統(tǒng)都是以數(shù)據(jù)庫(kù)為基礎(chǔ)、對(duì)信息進(jìn)信息
2、系統(tǒng)都是以數(shù)據(jù)庫(kù)為基礎(chǔ)、對(duì)信息進(jìn)行處理和應(yīng)用的系統(tǒng)。數(shù)據(jù)庫(kù)能借助計(jì)算行處理和應(yīng)用的系統(tǒng)。數(shù)據(jù)庫(kù)能借助計(jì)算機(jī)保存和管理大量復(fù)雜的數(shù)據(jù),快速而有機(jī)保存和管理大量復(fù)雜的數(shù)據(jù),快速而有效地為不同的用戶和各種應(yīng)用程序提供需效地為不同的用戶和各種應(yīng)用程序提供需要的數(shù)據(jù),以便人們能更方便、更充分地要的數(shù)據(jù),以便人們能更方便、更充分地利用這些資源。利用這些資源。4計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.1.1 數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng) 1數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)(DataBase,DB)是長(zhǎng)期保存在計(jì))是長(zhǎng)期保存在計(jì)算機(jī)外存上的、有結(jié)構(gòu)的、可共享的數(shù)據(jù)算機(jī)外存上的、有結(jié)構(gòu)的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)
3、中的數(shù)據(jù)按一定的數(shù)據(jù)模型集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型描述、組織和儲(chǔ)存,具有很小的冗余度、描述、組織和儲(chǔ)存,具有很小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,可為不同較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,可為不同的用戶共享。的用戶共享。5計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.1.1 數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng) 2數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng) 數(shù)據(jù)庫(kù)管理系統(tǒng)(數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBase Management System,DBMS)是指對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的軟件系統(tǒng),它是數(shù)據(jù)庫(kù)系統(tǒng)的核是指對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的軟件系統(tǒng),它是數(shù)據(jù)庫(kù)系統(tǒng)的核心組成部分,數(shù)據(jù)庫(kù)中的一切操作,如查詢、更新、插入、心組成部分
4、,數(shù)據(jù)庫(kù)中的一切操作,如查詢、更新、插入、刪除以及各種控制,都是通過(guò)刪除以及各種控制,都是通過(guò)DBMS進(jìn)行的。進(jìn)行的。 DBMS是位于用戶(或應(yīng)用程序)和操作系統(tǒng)之間的系統(tǒng)是位于用戶(或應(yīng)用程序)和操作系統(tǒng)之間的系統(tǒng)軟件。它與用戶之間的接口稱為用戶接口,軟件。它與用戶之間的接口稱為用戶接口,DBMS提供給提供給用戶可使用的數(shù)據(jù)庫(kù)語(yǔ)言。用戶可使用的數(shù)據(jù)庫(kù)語(yǔ)言。 數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,其主要工作就是管數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,其主要工作就是管理數(shù)據(jù)庫(kù),為用戶或應(yīng)用程序提供訪問(wèn)數(shù)據(jù)庫(kù)的方法。理數(shù)據(jù)庫(kù),為用戶或應(yīng)用程序提供訪問(wèn)數(shù)據(jù)庫(kù)的方法。6計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.1.
5、1 數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng) 3數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng) 數(shù)據(jù)庫(kù)系統(tǒng)(數(shù)據(jù)庫(kù)系統(tǒng)(DataBase System,DBS)是由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、應(yīng)用程序、是由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、應(yīng)用程序、數(shù)據(jù)庫(kù)管理員、用戶等構(gòu)成的人機(jī)系統(tǒng)。數(shù)據(jù)庫(kù)管理員、用戶等構(gòu)成的人機(jī)系統(tǒng)。數(shù)據(jù)庫(kù)管理員是專門從事數(shù)據(jù)庫(kù)建立、使數(shù)據(jù)庫(kù)管理員是專門從事數(shù)據(jù)庫(kù)建立、使用和維護(hù)的工作人員。數(shù)據(jù)庫(kù)系統(tǒng)并不單用和維護(hù)的工作人員。數(shù)據(jù)庫(kù)系統(tǒng)并不單指數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng),而是指包含指數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng),而是指包含數(shù)據(jù)庫(kù)的整個(gè)計(jì)算機(jī)系統(tǒng)。數(shù)據(jù)庫(kù)的整個(gè)計(jì)算機(jī)系統(tǒng)。7計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.1.2 數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)
6、生和發(fā)展數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生和發(fā)展 早期的計(jì)算機(jī)主要用于科學(xué)計(jì)算。當(dāng)計(jì)算早期的計(jì)算機(jī)主要用于科學(xué)計(jì)算。當(dāng)計(jì)算機(jī)應(yīng)用于檔案管理、財(cái)務(wù)管理、圖書資料機(jī)應(yīng)用于檔案管理、財(cái)務(wù)管理、圖書資料管理、倉(cāng)庫(kù)管理等領(lǐng)域時(shí),它所面對(duì)的是管理、倉(cāng)庫(kù)管理等領(lǐng)域時(shí),它所面對(duì)的是數(shù)量驚人的各種類型的數(shù)據(jù)。為了有效地?cái)?shù)量驚人的各種類型的數(shù)據(jù)。為了有效地管理和利用這些數(shù)據(jù),就產(chǎn)生了計(jì)算機(jī)的管理和利用這些數(shù)據(jù),就產(chǎn)生了計(jì)算機(jī)的數(shù)據(jù)管理技術(shù)。數(shù)據(jù)管理技術(shù)。 隨著數(shù)據(jù)管理規(guī)模的擴(kuò)大,計(jì)算機(jī)的數(shù)據(jù)隨著數(shù)據(jù)管理規(guī)模的擴(kuò)大,計(jì)算機(jī)的數(shù)據(jù)管理技術(shù)經(jīng)歷了人工管理、文件系統(tǒng)管理管理技術(shù)經(jīng)歷了人工管理、文件系統(tǒng)管理和數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)3個(gè)階段。
7、個(gè)階段。8計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn) 采用一定的數(shù)據(jù)模型,最大限度地減少數(shù)據(jù)的冗余。采用一定的數(shù)據(jù)模型,最大限度地減少數(shù)據(jù)的冗余。 最低的冗余度,數(shù)據(jù)冗余是指在數(shù)據(jù)庫(kù)中數(shù)據(jù)的重復(fù)存最低的冗余度,數(shù)據(jù)冗余是指在數(shù)據(jù)庫(kù)中數(shù)據(jù)的重復(fù)存放。數(shù)據(jù)冗余是不可避免的,但是數(shù)據(jù)庫(kù)可以最大限度地放。數(shù)據(jù)冗余是不可避免的,但是數(shù)據(jù)庫(kù)可以最大限度地減少數(shù)據(jù)的冗余,確保最低的冗余度。減少數(shù)據(jù)的冗余,確保最低的冗余度。 有較高的數(shù)據(jù)獨(dú)立性,數(shù)據(jù)的存儲(chǔ)和使用數(shù)據(jù)的程序彼有較高的數(shù)據(jù)獨(dú)立性,數(shù)據(jù)的存儲(chǔ)和使用數(shù)據(jù)的程序彼此獨(dú)立,數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的變化盡量不影響用戶程序的使用。此獨(dú)立,數(shù)據(jù)存儲(chǔ)
8、結(jié)構(gòu)的變化盡量不影響用戶程序的使用。 安全性,并不是每一個(gè)用戶都應(yīng)該訪問(wèn)全部數(shù)據(jù),通過(guò)安全性,并不是每一個(gè)用戶都應(yīng)該訪問(wèn)全部數(shù)據(jù),通過(guò)設(shè)置用戶的使用權(quán)限可以防止數(shù)據(jù)的非法使用,能防止數(shù)設(shè)置用戶的使用權(quán)限可以防止數(shù)據(jù)的非法使用,能防止數(shù)據(jù)的丟失,在數(shù)據(jù)庫(kù)被破壞時(shí),系統(tǒng)有能力把數(shù)據(jù)庫(kù)恢復(fù)據(jù)的丟失,在數(shù)據(jù)庫(kù)被破壞時(shí),系統(tǒng)有能力把數(shù)據(jù)庫(kù)恢復(fù)到可用狀態(tài)。到可用狀態(tài)。 完整性,系統(tǒng)采用一些完整性檢驗(yàn)以確保數(shù)據(jù)符合某些完整性,系統(tǒng)采用一些完整性檢驗(yàn)以確保數(shù)據(jù)符合某些規(guī)則,保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)始終是正確的。規(guī)則,保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)始終是正確的。 總之,數(shù)據(jù)庫(kù)系統(tǒng)能實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量有關(guān)總之,數(shù)據(jù)庫(kù)系統(tǒng)
9、能實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量有關(guān)聯(lián)的數(shù)據(jù),能方便多個(gè)用戶訪問(wèn)。聯(lián)的數(shù)據(jù),能方便多個(gè)用戶訪問(wèn)。9計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.1.3 數(shù)據(jù)模型和數(shù)據(jù)庫(kù)的分類數(shù)據(jù)模型和數(shù)據(jù)庫(kù)的分類 1數(shù)據(jù)模型數(shù)據(jù)模型 數(shù)據(jù)模型是數(shù)據(jù)庫(kù)中數(shù)據(jù)的存儲(chǔ)方式,是數(shù)據(jù)庫(kù)數(shù)據(jù)模型是數(shù)據(jù)庫(kù)中數(shù)據(jù)的存儲(chǔ)方式,是數(shù)據(jù)庫(kù)系統(tǒng)的核心和基礎(chǔ)。以下系統(tǒng)的核心和基礎(chǔ)。以下3種重要的數(shù)據(jù)模型。種重要的數(shù)據(jù)模型。 層次模型,它用樹(shù)型結(jié)構(gòu)來(lái)表示實(shí)體及實(shí)體間層次模型,它用樹(shù)型結(jié)構(gòu)來(lái)表示實(shí)體及實(shí)體間的聯(lián)系。的聯(lián)系。 網(wǎng)狀模型,它用網(wǎng)狀結(jié)構(gòu)來(lái)表示實(shí)體及實(shí)體間網(wǎng)狀模型,它用網(wǎng)狀結(jié)構(gòu)來(lái)表示實(shí)體及實(shí)體間的聯(lián)系。的聯(lián)系。 關(guān)系模型,它用一組二維表表示實(shí)
10、體及實(shí)體間關(guān)系模型,它用一組二維表表示實(shí)體及實(shí)體間的關(guān)系。的關(guān)系。 在這在這3種數(shù)據(jù)模型中,目前應(yīng)用最廣泛的是關(guān)系數(shù)種數(shù)據(jù)模型中,目前應(yīng)用最廣泛的是關(guān)系數(shù)據(jù)模型。據(jù)模型。10計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .關(guān)系模型及其基本知識(shí)關(guān)系模型及其基本知識(shí) 關(guān)系模型:關(guān)系模型:關(guān)系模型將數(shù)據(jù)組織成二維表格的形式,這種二維表在數(shù)學(xué)上稱為關(guān)系。 關(guān)系:關(guān)系:一個(gè)關(guān)系對(duì)應(yīng)一張二維表 。 關(guān)系模式:關(guān)系模式:關(guān)系模式是對(duì)關(guān)系的描述,一般形式為:關(guān)系名(屬性1,屬性2,屬性n) 記錄:記錄:表中的一行稱為一條記錄,記錄也被稱為元組。 屬性:屬性:表中的一列為一個(gè)屬性,屬性也被稱為字段。每一個(gè)屬性都有一個(gè)名稱,被稱
11、為屬性名。 關(guān)鍵字:關(guān)鍵字:表中的某個(gè)屬性集,它可以惟一確定一條記錄。 11計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .關(guān)系模型及其基本知識(shí)關(guān)系模型及其基本知識(shí) 關(guān)系有關(guān)系有3種類型:種類型: 基本表:基本表就是關(guān)系模型中實(shí)際存在的表,基本表:基本表就是關(guān)系模型中實(shí)際存在的表,如表如表Students和表和表Scores。 查詢表:查詢表是查詢結(jié)果表,或查詢中生成查詢表:查詢表是查詢結(jié)果表,或查詢中生成的臨時(shí)表。查詢表的數(shù)據(jù)是從基本表中抽取的。的臨時(shí)表。查詢表的數(shù)據(jù)是從基本表中抽取的。查詢表中具有一定的冗余性,表中的陰影部分就查詢表中具有一定的冗余性,表中的陰影部分就是冗余的數(shù)據(jù)。是冗余的數(shù)據(jù)。 視圖:視
12、圖是由基本表或其他視圖導(dǎo)出的表。視圖:視圖是由基本表或其他視圖導(dǎo)出的表。視圖是為了數(shù)據(jù)查詢方便、數(shù)據(jù)處理簡(jiǎn)便及數(shù)據(jù)視圖是為了數(shù)據(jù)查詢方便、數(shù)據(jù)處理簡(jiǎn)便及數(shù)據(jù)安全要求而設(shè)計(jì)的數(shù)據(jù)虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的安全要求而設(shè)計(jì)的數(shù)據(jù)虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)。利用視圖可以進(jìn)行數(shù)據(jù)查詢以及對(duì)基本表數(shù)據(jù)。利用視圖可以進(jìn)行數(shù)據(jù)查詢以及對(duì)基本表進(jìn)行數(shù)據(jù)維護(hù)。進(jìn)行數(shù)據(jù)維護(hù)。12計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.2 Access數(shù)據(jù)庫(kù)的建立和維護(hù)數(shù)據(jù)庫(kù)的建立和維護(hù) 6.2.1 Access數(shù)據(jù)庫(kù)的啟動(dòng)與退出數(shù)據(jù)庫(kù)的啟動(dòng)與退出 啟動(dòng)Access和啟動(dòng)Word的方法一樣,有3種: 1雙擊桌面上的Access圖標(biāo)。 2單擊
13、任務(wù)欄上的“開(kāi)始”按鈕,在彈出的菜單中選“程序”項(xiàng),在彈出的級(jí)聯(lián)菜單中單擊“Microsoft Access”。 3雙擊Access數(shù)據(jù)庫(kù)文件。 用前兩種方法啟動(dòng)Access2003就打開(kāi)了Access主窗口,如圖6-1所示。13計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .任務(wù)窗格 14計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .“數(shù)據(jù)庫(kù)”窗口 雙擊Access數(shù)據(jù)庫(kù)文件后啟動(dòng)Access后就立即打開(kāi)了該數(shù)據(jù)庫(kù)文件,并打開(kāi)該數(shù)據(jù)庫(kù)的“數(shù)據(jù)庫(kù)”窗口 ?!皵?shù)據(jù)庫(kù)”窗口中工具欄 15計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.2.2 Access數(shù)據(jù)庫(kù)的組成數(shù)據(jù)庫(kù)的組成 在在Access中,一個(gè)數(shù)據(jù)庫(kù)包含的對(duì)象有表、查詢、中,一個(gè)
14、數(shù)據(jù)庫(kù)包含的對(duì)象有表、查詢、窗體、報(bào)表、宏、模塊和頁(yè)。窗體、報(bào)表、宏、模塊和頁(yè)。 Access中各個(gè)對(duì)象之間的關(guān)系中,表是數(shù)據(jù)庫(kù)的中各個(gè)對(duì)象之間的關(guān)系中,表是數(shù)據(jù)庫(kù)的核心與基礎(chǔ),存儲(chǔ)著數(shù)據(jù)庫(kù)中的全部數(shù)據(jù)信息。核心與基礎(chǔ),存儲(chǔ)著數(shù)據(jù)庫(kù)中的全部數(shù)據(jù)信息。報(bào)表、查詢和窗體都是從數(shù)據(jù)表中獲得數(shù)據(jù)信息,報(bào)表、查詢和窗體都是從數(shù)據(jù)表中獲得數(shù)據(jù)信息,以實(shí)現(xiàn)用戶某種特定的需要,例如查找、計(jì)算以實(shí)現(xiàn)用戶某種特定的需要,例如查找、計(jì)算統(tǒng)計(jì)、打印、編輯修改等。窗體可以提供一種統(tǒng)計(jì)、打印、編輯修改等。窗體可以提供一種良好的用戶操作界面,通過(guò)它可以直接或問(wèn)接地良好的用戶操作界面,通過(guò)它可以直接或問(wèn)接地調(diào)用宏或模塊,并執(zhí)
15、行查詢、打印、預(yù)覽、計(jì)算調(diào)用宏或模塊,并執(zhí)行查詢、打印、預(yù)覽、計(jì)算等功能,甚至對(duì)表進(jìn)行編輯和修改。等功能,甚至對(duì)表進(jìn)行編輯和修改。16計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.2.2 Access數(shù)據(jù)庫(kù)的組成數(shù)據(jù)庫(kù)的組成 在在Access中,一個(gè)數(shù)據(jù)庫(kù)包含的對(duì)象有表、查詢、中,一個(gè)數(shù)據(jù)庫(kù)包含的對(duì)象有表、查詢、窗體、報(bào)表、宏、模塊和頁(yè)。窗體、報(bào)表、宏、模塊和頁(yè)。 Access中各個(gè)對(duì)象之間的關(guān)系中,表是數(shù)據(jù)庫(kù)的中各個(gè)對(duì)象之間的關(guān)系中,表是數(shù)據(jù)庫(kù)的核心與基礎(chǔ),存儲(chǔ)著數(shù)據(jù)庫(kù)中的全部數(shù)據(jù)信息。核心與基礎(chǔ),存儲(chǔ)著數(shù)據(jù)庫(kù)中的全部數(shù)據(jù)信息。報(bào)表、查詢和窗體都是從數(shù)據(jù)表中獲得數(shù)據(jù)信息,報(bào)表、查詢和窗體都是從數(shù)據(jù)表中
16、獲得數(shù)據(jù)信息,以實(shí)現(xiàn)用戶某種特定的需要,例如查找、計(jì)算以實(shí)現(xiàn)用戶某種特定的需要,例如查找、計(jì)算統(tǒng)計(jì)、打印、編輯修改等。窗體可以提供一種統(tǒng)計(jì)、打印、編輯修改等。窗體可以提供一種良好的用戶操作界面,通過(guò)它可以直接或問(wèn)接地良好的用戶操作界面,通過(guò)它可以直接或問(wèn)接地調(diào)用宏或模塊,并執(zhí)行查詢、打印、預(yù)覽、計(jì)算調(diào)用宏或模塊,并執(zhí)行查詢、打印、預(yù)覽、計(jì)算等功能,甚至對(duì)表進(jìn)行編輯和修改。等功能,甚至對(duì)表進(jìn)行編輯和修改。17計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.2.2 Access數(shù)據(jù)庫(kù)的組成數(shù)據(jù)庫(kù)的組成 1表:它是數(shù)據(jù)庫(kù)中最基本的對(duì)象,沒(méi)有表也就表:它是數(shù)據(jù)庫(kù)中最基本的對(duì)象,沒(méi)有表也就沒(méi)有其他對(duì)象。一個(gè)數(shù)據(jù)庫(kù)中
17、可能有多個(gè)表,表沒(méi)有其他對(duì)象。一個(gè)數(shù)據(jù)庫(kù)中可能有多個(gè)表,表與表之間通常是有關(guān)系的,可以通過(guò)相關(guān)的字段與表之間通常是有關(guān)系的,可以通過(guò)相關(guān)的字段建立關(guān)聯(lián)。表及其表之間的關(guān)系構(gòu)成了數(shù)據(jù)庫(kù)的建立關(guān)聯(lián)。表及其表之間的關(guān)系構(gòu)成了數(shù)據(jù)庫(kù)的核心。核心。 2查詢:就是從一個(gè)或多個(gè)表(或查詢)中選擇查詢:就是從一個(gè)或多個(gè)表(或查詢)中選擇一部分?jǐn)?shù)據(jù),將它們集中起來(lái),形成一個(gè)全局性一部分?jǐn)?shù)據(jù),將它們集中起來(lái),形成一個(gè)全局性的集合,供用戶查看。的集合,供用戶查看。 3窗體:它是用戶與數(shù)據(jù)庫(kù)交互的界面,窗體可窗體:它是用戶與數(shù)據(jù)庫(kù)交互的界面,窗體可以看做是一個(gè)容器,在其中可以放置標(biāo)簽、文本以看做是一個(gè)容器,在其中可以
18、放置標(biāo)簽、文本框、列表框等控件來(lái)顯示表(或查詢)中的數(shù)據(jù)???、列表框等控件來(lái)顯示表(或查詢)中的數(shù)據(jù)。在窗體上,用戶可對(duì)表(或查詢)中的數(shù)據(jù)進(jìn)行在窗體上,用戶可對(duì)表(或查詢)中的數(shù)據(jù)進(jìn)行修改、添加、刪除等操作。修改、添加、刪除等操作。18計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.2.2 Access數(shù)據(jù)庫(kù)的組成數(shù)據(jù)庫(kù)的組成 4報(bào)表:它是一種按指定的樣式格式化的數(shù)據(jù)形報(bào)表:它是一種按指定的樣式格式化的數(shù)據(jù)形式,可以瀏覽和打印。式,可以瀏覽和打印。 5宏:宏是若干個(gè)操作的組合,可用來(lái)簡(jiǎn)化一些宏:宏是若干個(gè)操作的組合,可用來(lái)簡(jiǎn)化一些經(jīng)常性的操作。如果將一系列操作設(shè)計(jì)為一個(gè)宏,經(jīng)常性的操作。如果將一系列操作
19、設(shè)計(jì)為一個(gè)宏,則在執(zhí)行這個(gè)宏時(shí),其中定義的所有操作就會(huì)按則在執(zhí)行這個(gè)宏時(shí),其中定義的所有操作就會(huì)按照規(guī)定的順序依次執(zhí)行。照規(guī)定的順序依次執(zhí)行。 6模塊:在模塊中,用戶可以用模塊:在模塊中,用戶可以用VBA語(yǔ)言編寫語(yǔ)言編寫函數(shù)過(guò)程或子程序。函數(shù)過(guò)程或子程序。 7Web頁(yè):用戶可以通過(guò)創(chuàng)建頁(yè)(也稱頁(yè):用戶可以通過(guò)創(chuàng)建頁(yè)(也稱Web頁(yè)),把數(shù)據(jù)庫(kù)中的數(shù)據(jù)向:頁(yè)),把數(shù)據(jù)庫(kù)中的數(shù)據(jù)向:Internet或或Intranet上發(fā)布。上發(fā)布。19計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.2.3 Access數(shù)據(jù)庫(kù)的建立數(shù)據(jù)庫(kù)的建立 要建立基本表,首先必須確定表的結(jié)構(gòu),即確定要建立基本表,首先必須確定表的結(jié)構(gòu),即確
20、定表中各字段的名稱、類型、屬性等。表中各字段的名稱、類型、屬性等。 在在Access中,常用的是以下中,常用的是以下8種數(shù)據(jù)類型:種數(shù)據(jù)類型: 文本型(文本型(Text)用于存放文本,最多存儲(chǔ))用于存放文本,最多存儲(chǔ)255個(gè)字符。一般來(lái)說(shuō),在將來(lái)的應(yīng)用中,不需要計(jì)個(gè)字符。一般來(lái)說(shuō),在將來(lái)的應(yīng)用中,不需要計(jì)算的數(shù)值數(shù)據(jù)都應(yīng)設(shè)置為文本型,例如學(xué)生學(xué)號(hào)、算的數(shù)值數(shù)據(jù)都應(yīng)設(shè)置為文本型,例如學(xué)生學(xué)號(hào)、電話號(hào)碼等。需要注意的是,在電話號(hào)碼等。需要注意的是,在Access中,一個(gè)中,一個(gè)漢字也是一個(gè)字符,也就是說(shuō)字符數(shù)不等于占用漢字也是一個(gè)字符,也就是說(shuō)字符數(shù)不等于占用的字節(jié)數(shù)。的字節(jié)數(shù)。 備注型(備注型(
21、Memo)用于存放較長(zhǎng)的文本,如說(shuō))用于存放較長(zhǎng)的文本,如說(shuō)明性文字等,最多可以存儲(chǔ)明性文字等,最多可以存儲(chǔ)64萬(wàn)個(gè)字符。萬(wàn)個(gè)字符。 數(shù)字型(數(shù)字型(Number)用于存放將來(lái)要進(jìn)行算術(shù))用于存放將來(lái)要進(jìn)行算術(shù)運(yùn)算的數(shù)值數(shù)據(jù)。運(yùn)算的數(shù)值數(shù)據(jù)。20計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.2.3 Access數(shù)據(jù)庫(kù)的建立數(shù)據(jù)庫(kù)的建立 日期時(shí)間(日期時(shí)間(Date Time)用于存放日期和)用于存放日期和時(shí)間。日期時(shí)間型字段的寬度為時(shí)間。日期時(shí)間型字段的寬度為8個(gè)字節(jié)。個(gè)字節(jié)。 貨幣型(貨幣型(Currency)用于存放貨幣值,貨幣)用于存放貨幣值,貨幣型字段的寬度為型字段的寬度為8個(gè)字節(jié)。個(gè)字節(jié)。 自
22、動(dòng)編號(hào)型(自動(dòng)編號(hào)型(AutoNumber-)用于對(duì)數(shù)據(jù)表)用于對(duì)數(shù)據(jù)表中的記錄進(jìn)行編號(hào)。當(dāng)添加一新記錄時(shí),自動(dòng)編中的記錄進(jìn)行編號(hào)。當(dāng)添加一新記錄時(shí),自動(dòng)編號(hào)型字段的值自動(dòng)產(chǎn)生,或者依次自動(dòng)加號(hào)型字段的值自動(dòng)產(chǎn)生,或者依次自動(dòng)加1,或者,或者隨機(jī)編號(hào)。自動(dòng)編號(hào)型字段的寬度為隨機(jī)編號(hào)。自動(dòng)編號(hào)型字段的寬度為4個(gè)字節(jié)。個(gè)字節(jié)。 是否型(是否型(YesNo)用于存放邏輯型數(shù)據(jù),)用于存放邏輯型數(shù)據(jù),是否型字段的寬度為是否型字段的寬度為l位。位。 OLE對(duì)象(對(duì)象(OLE Object)用于鏈接或嵌入使)用于鏈接或嵌入使用用OLE協(xié)議在其他程序中創(chuàng)建的協(xié)議在其他程序中創(chuàng)建的OLE對(duì)象,最多對(duì)象,最多可
23、達(dá)可達(dá)1 GB。21計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.2.3 Access數(shù)據(jù)庫(kù)的建立數(shù)據(jù)庫(kù)的建立 2宇段屬性:不同的數(shù)據(jù)類型有著不同的屬性,宇段屬性:不同的數(shù)據(jù)類型有著不同的屬性,但是常用的屬性共有但是常用的屬性共有8種。種。 字段大?。褐付ㄎ谋拘妥侄魏蛿?shù)字型字段的長(zhǎng)字段大小:指定文本型字段和數(shù)字型字段的長(zhǎng)度。文本型字段長(zhǎng)度為度。文本型字段長(zhǎng)度為0255個(gè)字符,數(shù)字型字個(gè)字符,數(shù)字型字段的長(zhǎng)度由數(shù)據(jù)類型決定。段的長(zhǎng)度由數(shù)據(jù)類型決定。 格式:指定字段的數(shù)據(jù)顯示格式。例如,可以格式:指定字段的數(shù)據(jù)顯示格式。例如,可以選擇以選擇以“月日年月日年”格式或其他格式來(lái)設(shè)置日格式或其他格式來(lái)設(shè)置日期。不
24、僅可以從預(yù)定義字段格式的列表中選擇期。不僅可以從預(yù)定義字段格式的列表中選擇“自動(dòng)編號(hào)自動(dòng)編號(hào)”、“數(shù)字?jǐn)?shù)字”、“貨幣貨幣”、“日期日期時(shí)間時(shí)間”和和“是否是否”數(shù)據(jù)類型的格式,而且可以數(shù)據(jù)類型的格式,而且可以為除為除“OLE對(duì)象對(duì)象”以外的數(shù)據(jù)類型創(chuàng)建自定義的以外的數(shù)據(jù)類型創(chuàng)建自定義的格式。格式。22計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.2.3 Access數(shù)據(jù)庫(kù)的建立數(shù)據(jù)庫(kù)的建立 小數(shù)位數(shù):指定小數(shù)的位數(shù)(只用于數(shù)字和貨小數(shù)位數(shù):指定小數(shù)的位數(shù)(只用于數(shù)字和貨幣型數(shù)據(jù))。幣型數(shù)據(jù))。 標(biāo)題:用于在窗體和報(bào)表中取代字段的名稱。標(biāo)題:用于在窗體和報(bào)表中取代字段的名稱。 默認(rèn)值:添加新記錄時(shí),自動(dòng)加
25、入到字段中的默認(rèn)值:添加新記錄時(shí),自動(dòng)加入到字段中的值。值。 有效性規(guī)則:字段的有效性規(guī)則用于檢查字段有效性規(guī)則:字段的有效性規(guī)則用于檢查字段中的輸入值是否符合要求。中的輸入值是否符合要求。 有效性:文本當(dāng)數(shù)據(jù)不符合有效性規(guī)則時(shí)所顯有效性:文本當(dāng)數(shù)據(jù)不符合有效性規(guī)則時(shí)所顯示的信息。示的信息。 索引:當(dāng)指定某一字段作為索引后,可以加速索引:當(dāng)指定某一字段作為索引后,可以加速基于索引字段的查詢、排序及分組等操作。基于索引字段的查詢、排序及分組等操作。23計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .【例【例6-1】創(chuàng)建表】創(chuàng)建表Students。1、首先確定表的結(jié)構(gòu),如表6-3所示Students的結(jié)構(gòu)字段名稱
26、字段類型字段寬度學(xué)號(hào)Text 6個(gè)字符姓名Text 4個(gè)字符性別Text 1個(gè)字符黨員YesNo 1位專業(yè)Text 20個(gè)字符出生年月 DateTime 8字節(jié)助學(xué)金 Currency 8字節(jié)照片OLE Object 不確定24計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .。2、建立一個(gè)“空數(shù)據(jù)庫(kù)”,輸入文件名“學(xué)生MDB”,出現(xiàn)如圖6-2所示的“學(xué)生:數(shù)據(jù)庫(kù)”窗口。3、選擇“使用設(shè)計(jì)器創(chuàng)建表”向?qū)?,進(jìn)人如圖6-3所示的設(shè)計(jì)視圖,輸入各個(gè)字段的信息。 圖6-325計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .4、定義“學(xué)號(hào)”為主鍵。方法:選中圖6-3 中的“學(xué)號(hào)”字段,單擊右鍵,在出現(xiàn)的快捷菜單中選擇“主鍵”,就完成了定
27、義主鍵操作。如圖6-3所示,“學(xué)號(hào)”字段左邊有個(gè)鑰匙樣的標(biāo)志,表明該字段是主鍵。主鍵不是必須的,但是應(yīng)盡量定義主鍵。一個(gè)表,只有定義了主鍵后才能建立與數(shù)據(jù)庫(kù)中其他表的關(guān)系。5、保存表,輸入表的名稱“Students”。至此,表Students建立完成,可以向表中輸入數(shù)據(jù)了。26計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.2.4 數(shù)據(jù)庫(kù)的管理與維護(hù)數(shù)據(jù)庫(kù)的管理與維護(hù) 1向表中輸向表中輸入數(shù)據(jù)入數(shù)據(jù) 選定基本表,選定基本表,然后進(jìn)入數(shù)然后進(jìn)入數(shù)據(jù)表視圖,據(jù)表視圖,如圖如圖6-4所示,所示,輸入數(shù)據(jù)。輸入數(shù)據(jù)。圖圖6-427計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .2表結(jié)構(gòu)的修改選定基本表,進(jìn)入如圖6-3表的設(shè)計(jì)視圖
28、,就可以修改表結(jié)構(gòu)??梢孕薷淖侄蚊Q、字段類型和字段屬性,可以對(duì)字段進(jìn)行插入、刪除、移動(dòng)等操作,還可以重新設(shè)置主鍵。圖6-36.2.4 數(shù)據(jù)庫(kù)的管理與維護(hù)數(shù)據(jù)庫(kù)的管理與維護(hù)28計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .3數(shù)據(jù)的導(dǎo)出和導(dǎo)入使用“文件”菜單中“導(dǎo)出”的選項(xiàng)可以將表中數(shù)據(jù)以另一種文件格式(如TXT、RTF或者XLS格式等)保存在磁盤上。圖6-5所示是將表“Students”以“Microsoft Excel 2003”的格式導(dǎo)出到D:盤。圖6-56.2.4 數(shù)據(jù)庫(kù)的管理與維護(hù)數(shù)據(jù)庫(kù)的管理與維護(hù)29計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .Access提供了豐富的運(yùn)算符和內(nèi)部函數(shù),用戶能非常方便地構(gòu)造各種
29、類型的表達(dá)式,用來(lái)實(shí)現(xiàn)許多特定操作。1常量:常量是預(yù)先定義好的、固定不變的數(shù)據(jù)。在Access中,常量有以下幾種類型:字符常量:也稱為文字值,是用雙引號(hào)或單引號(hào)括起來(lái)的數(shù)據(jù),比如:”張三”、2006027 等等。數(shù)值常量:也稱為數(shù)字值,也就是常數(shù),用來(lái)表示一個(gè)數(shù)量的大小,例如:25,-37,23.45等等。日期 / 時(shí)間常量:日期型數(shù)據(jù)用“#”括起來(lái)的數(shù)據(jù)。比如#05/12/2008#、#12/31/1996#等等。邏輯常量:True和False,作為邏輯運(yùn)算的結(jié)果??罩党A浚篘ull,適用于各種類型。6.2.5 表達(dá)式表達(dá)式30計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .2變量:變量是命名的存儲(chǔ)空間,用
30、于存儲(chǔ)可以改變的數(shù)據(jù)。變量名的命名規(guī)則是:以字母或者漢字開(kāi)頭的不超過(guò)255個(gè)字符的字符串。3常用運(yùn)算符:運(yùn)算符是表示實(shí)現(xiàn)某種運(yùn)算的符號(hào)。Access的運(yùn)算符分為4類:算術(shù)運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符。表6-4列出了最常用的運(yùn)算符。6.2.5 表達(dá)式表達(dá)式類型運(yùn)算符算術(shù)運(yùn)算符 +(加)、 -(減)、*(乘)、 / (除)、(乘方)、 (整除)、MOD(取余)關(guān)系運(yùn)算符、= 、 、= 、Between 、Like邏輯運(yùn)算符 And(與)、 Or(或)、 Not(非)字符運(yùn)算符 &(字符連接)31計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) . MOD是取余數(shù)運(yùn)算符。例如,5 MOD 3的結(jié)
31、果為2 。 所有關(guān)系運(yùn)算符的結(jié)果都是邏輯值。其中,Between運(yùn)算符的使用格式為 Between And 它用來(lái)檢測(cè)表達(dá)式l的值是否介于表達(dá)式2和表達(dá)式3之間,結(jié)果為True或False,例如:3 Between 1 And 10的值為True,表示3屬于1和10之間的數(shù)據(jù);3 Between 1 And 2的值為False,表示3不屬于1和2之間的數(shù)據(jù)。 I,ike通常與?、* 、# 等通配符結(jié)合使用,主要用于模糊查詢。其中,“?”表示任何單一字符;“*”表示零個(gè)或多個(gè)字符;“#”表示任何一個(gè)數(shù)字(09)。例如,查找姓“張”的學(xué)生,則表達(dá)式為:姓名 Like 張;查找不是姓“張”的學(xué)生,表
32、達(dá)式為:姓名 Not Like “張*” 用于連接兩個(gè)字符串。例如, “ABC” ”1234” 的結(jié)果是 ”ABCl234”。運(yùn)算符說(shuō)明運(yùn)算符說(shuō)明32計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .1INSERT語(yǔ)句在SQL中,INSERT語(yǔ)句用于數(shù)據(jù)插入。其語(yǔ)法格式為:格式1:INSERT INTO表名(字段1,字段2,字段n) VALUES(常量l,常量2,常量n)格式2:INSERT INTO表名(字段1,字段2,字段n) VALUES 子查詢第一種格式是把一條記錄插入到指定的表中,第二種格式是把某個(gè)查詢的結(jié)果插入表中。自動(dòng)編號(hào)型字段的數(shù)據(jù)不能做插入操作,也不能出現(xiàn)在INSERT中,因?yàn)樗闹凳亲詣?dòng)生成
33、的,否則出錯(cuò)。除了自動(dòng)編號(hào)型字段以外,如果表中某個(gè)字段在INSERT中沒(méi)有出現(xiàn),則這些字段上的值取空值(NULL)。如果新記錄在每一個(gè)字段上都有值,則字段名表連同兩邊的括號(hào)可以省略。6.2.6 SQL的數(shù)據(jù)更新語(yǔ)句的數(shù)據(jù)更新語(yǔ)句33計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .向表Students中插入記錄(990301,楊國(guó)強(qiáng),男,黨員,化學(xué),19801228,220)。INSERT INTO Students(學(xué)號(hào),姓名,性別,黨員,專業(yè),出生年月,助學(xué)金)VALUES(”990301”,”楊國(guó)強(qiáng)”,”男”,TRUE,”化學(xué)”,#122880#,220)在Access中,字符型常量用單引號(hào)“”或雙引號(hào)“
34、”括起來(lái),是否型字段的值是TrueFalse、YesNo或OnOff,日期的表示形式為“MMDDYY”或“MMDDYYYY”?!纠纠?-2】 向表向表Students中插入記錄中插入記錄34計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .在Access中,不能直接執(zhí)行SQL語(yǔ)句,但可在查詢視圖中運(yùn)行。具體的操作步驟是:將“數(shù)據(jù)庫(kù)”窗口切換到“查詢”頁(yè)。選擇“在設(shè)計(jì)視圖中創(chuàng)建查詢”,在彈出的對(duì)話框中不選擇任何的表或查詢,直接關(guān)閉對(duì)話框,目的是建立一個(gè)空查詢。切換到SQL視圖。輸入SQL命令,如圖6-6所示。執(zhí)行查詢。選擇主窗口中“查詢”菜單中“運(yùn)行”項(xiàng),則運(yùn)行該SQL語(yǔ)句。打開(kāi)表Students,查看結(jié)果。3
35、5計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .2DELETE語(yǔ)句在SQL中,DELETE語(yǔ)句用于數(shù)據(jù)刪除。其語(yǔ)法格式為:DELETE FROM表WHERE條件DELETE語(yǔ)句從表中刪除滿足條件的記錄。如果省略WHERE子句,則刪除表中所有的記錄,但是表沒(méi)有被刪除,僅僅刪除了表中的數(shù)據(jù)?!纠?-3】刪除表Students中所有學(xué)號(hào)為990301的記錄。DELETE FROM Students WHERE學(xué)號(hào)=“990301”【例6-4】 刪除表Scores中成績(jī)低于70分的記錄。DELETE FROM Scores WHERE成績(jī)706.2.6 SQL的數(shù)據(jù)更新語(yǔ)句的數(shù)據(jù)更新語(yǔ)句36計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用
36、基礎(chǔ) .3UPDATE語(yǔ)句在SQL中,UPDATE語(yǔ)句用于數(shù)據(jù)修改。其語(yǔ)法格式為:UPDATE表SET字段1=表達(dá)式1,字段n=表達(dá)式nWHERE條件UPDATE語(yǔ)句修改指定表中滿足條件的記錄,把這些記錄按表達(dá)式的值修改相應(yīng)字段上的值。如果省略WHERE子句,則修改表中所有的記錄【例6-5】 將表Students中學(xué)生李浪的姓名改為王上理。UPDATE Students SET姓名=“王上理” WHERE姓名=“李浪”需要注意的是,UPDATE語(yǔ)句一次只能對(duì)一個(gè)表進(jìn)行修改,這就有可能破壞數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性。例如,如果修改了表Students中的學(xué)號(hào),而表Scores沒(méi)有做相應(yīng)的調(diào)整,則兩個(gè)表
37、之間就存在數(shù)據(jù)一致性的問(wèn)題。解決這個(gè)問(wèn)題的一個(gè)方法是執(zhí)行兩個(gè)UPDATE語(yǔ)句,分別對(duì)兩個(gè)表進(jìn)行修改。6.2.6 SQL的數(shù)據(jù)更新語(yǔ)句的數(shù)據(jù)更新語(yǔ)句37計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .6.3.1 SELECT語(yǔ)句SQL中用于數(shù)據(jù)查詢的只有一條SELECT語(yǔ)句。該語(yǔ)句用途廣泛,應(yīng)用靈活,功能豐富。常見(jiàn)的SELECT語(yǔ)句語(yǔ)法形式為:SELECT ALL | DISTINCT 目標(biāo)列FROM表(或查詢) WHERE條件表達(dá)式 GROUP BY列名1 HAVING 過(guò)濾表達(dá)式 ORDER BY列名2 ASC | DESC SELECT語(yǔ)句一般由上述4部分組成。其中第一行是最基本的、不可缺少的,稱為基本部
38、分,其余部分是可以缺省的,稱為子句。6.3 數(shù)據(jù)庫(kù)查詢數(shù)據(jù)庫(kù)查詢38計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .1選擇字段:其實(shí)質(zhì)上是從基本表中在垂直方向上進(jìn)行選擇?;静糠郑篠ELECTALL | DESTINCT目標(biāo)列FROM表(或查詢)SELECT語(yǔ)句的一個(gè)簡(jiǎn)單用法是:SELECT字段l,字段n FROM表例如,“SELECT姓名,學(xué)號(hào)FROM Students表示從表Students中選擇了姓名和學(xué)號(hào)兩列的數(shù)據(jù),“SELECT * FROM Students”表示從表Students中選擇所有的字段。說(shuō)明:目標(biāo)列的格式是:列名1AS別名1,列名2AS別名2,列名nAS別名n6.3.1 SELECT
39、語(yǔ)句語(yǔ)句39計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .FROM子句指明了從何處查詢想要的數(shù)據(jù),可以是多個(gè)表或視圖。對(duì)SELECT語(yǔ)句來(lái)說(shuō),F(xiàn)ROM子句是必須的,不能缺省。ALL表示查詢結(jié)果中可以包含重復(fù)的記錄,是缺省值;DISTINCT表示查詢結(jié)果中不能出現(xiàn)重復(fù)的記錄,如果有相同的記錄只保留一條。一般情況下,目標(biāo)列中的列名是FROM子句中基本表或視圖中的字段名。如果FROM子句中指定了多個(gè)基本表或視圖,并且列名有相同時(shí),則列名之前應(yīng)加前綴,格式為:“表名列名”或“視圖名列名”。AS子句用來(lái)以新的名稱命名輸出列。目標(biāo)列是“*”表示輸出所有的字段。需要注意的是,如果沒(méi)有GROUP BY子句,則這些函數(shù)是對(duì)整
40、個(gè)表進(jìn)行統(tǒng)計(jì),整個(gè)表只產(chǎn)生一條記錄,否則是分組統(tǒng)計(jì),一組產(chǎn)生一條記錄。6.3.1 SELECT語(yǔ)句語(yǔ)句40計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .SELECT學(xué)號(hào),姓名,性別,專業(yè);FROM Students查詢結(jié)果如圖6-7所示?!纠纠?-6】查詢所有學(xué)生的學(xué)號(hào)、姓名、性別和專業(yè)】查詢所有學(xué)生的學(xué)號(hào)、姓名、性別和專業(yè)41計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .2選擇記錄WHERE子句有雙重作用:一是選擇記錄,即滿足條件的記錄,這是在水平方向的選擇;二是建立多個(gè)表或查詢之間的連接?!纠?-7】 顯示所有計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名和年齡。SELECT學(xué)號(hào),姓名;FROM Students;WHERE專業(yè)=“計(jì)
41、算機(jī)”【例6-8】 查詢1981年(包括1981年)以前出生的女生姓名和出生年月??梢杂?MMDDYYYY#的形式表示日期。例如,日期1989年4月22日可寫成#4221989#。SELECT姓名,出生年月FROM StudentsWHERE出生年月#l11982# AND性別=“女”6.3.1 SELECT語(yǔ)句語(yǔ)句42計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .3排序ORDER BY子句用于指定查詢結(jié)果的排列順序。ASC表示升序,DESC表示降序。ORDER BY可以指定多個(gè)列作為排序關(guān)鍵字。例如,“ORDER BY專業(yè)ASC,助學(xué)金DESC”表示查詢結(jié)果首先按專業(yè)從小到大排序,如果專業(yè)相同,則再排助學(xué)
42、金從大到小排。專業(yè)是第一排序關(guān)鍵字,助學(xué)金是第二排序關(guān)鍵字?!纠?-9】 查詢所有黨員學(xué)生的學(xué)號(hào)和姓名,并按助學(xué)金從小到大排序。SELECT學(xué)號(hào),姓名FROM Students ;WHERE黨員=True ;ORDER BY助學(xué)金 ASC6.3.1 SELECT語(yǔ)句語(yǔ)句43計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .4分組GROUP BY子句用來(lái)對(duì)查詢結(jié)果進(jìn)行分組,把在某一列上值相同的記錄分在一組,一組產(chǎn)生一條記錄?!纠?-10】 查詢每個(gè)專業(yè)學(xué)生人數(shù)。SELECT專業(yè),Count(*)AS學(xué)生人數(shù)FROM StudentsORDER BY專業(yè)子句“GROUP BY專業(yè)”將專業(yè)相同的記錄分在一組。表Stu
43、dents共有3個(gè)專業(yè),按專業(yè)分組將被分為3個(gè)組,查詢結(jié)果中也就只有3條記錄。GROUP BY后可以有多個(gè)列名,分組時(shí)把在這些列上值相同的記錄分在一組。6.3.1 SELECT語(yǔ)句語(yǔ)句44計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .5連接查詢?cè)诓樵冴P(guān)系數(shù)據(jù)庫(kù)時(shí),若需要的數(shù)據(jù)分布在幾個(gè)表或視圖中,就需要按照某個(gè)條件將這些表或視圖連接起來(lái),形成一個(gè)臨時(shí)的表,然后再對(duì)該臨時(shí)表進(jìn)行簡(jiǎn)單的查詢。下面通過(guò)一個(gè)實(shí)例說(shuō)明連接查詢的原理和過(guò)程。【例6-11】查詢所有學(xué)生的學(xué)號(hào)、姓名、課程和成績(jī)。分析表students和Scores可以知道,需要的數(shù)據(jù)分布在這兩個(gè)表中,因此需要把它們連接起來(lái)。連接的條件為Students學(xué)號(hào)
44、=Scores學(xué)號(hào),連接后形成一個(gè)臨時(shí)表。把學(xué)號(hào)相同的記錄連接起來(lái)形成臨時(shí)表后,就只需像前面那樣進(jìn)行簡(jiǎn)單的查詢?cè)O(shè)計(jì)就可以了。需要注意的是,兩個(gè)表中都有“學(xué)號(hào)”字段,所以在SELECT語(yǔ)句中學(xué)號(hào)前應(yīng)加表名作為前綴,以區(qū)分來(lái)自哪個(gè)表。6.3.1 SELECT語(yǔ)句語(yǔ)句45計(jì)算機(jī)應(yīng)用基礎(chǔ)計(jì)算機(jī)應(yīng)用基礎(chǔ) .5連接查詢?cè)诓樵冴P(guān)系數(shù)據(jù)庫(kù)時(shí),若需要的數(shù)據(jù)分布在幾個(gè)表或視圖中,就需要按照某個(gè)條件將這些表或視圖連接起來(lái),形成一個(gè)臨時(shí)的表,然后再對(duì)該臨時(shí)表進(jìn)行簡(jiǎn)單的查詢。下面通過(guò)一個(gè)實(shí)例說(shuō)明連接查詢的原理和過(guò)程?!纠?-11】查詢所有學(xué)生的學(xué)號(hào)、姓名、課程和成績(jī)。分析表students和Scores可以知道,需要的數(shù)據(jù)分布在這兩個(gè)表中,因此需要把它們連接起來(lái)。連接的條件為Students學(xué)號(hào)=Scores學(xué)號(hào),連接后形成一個(gè)臨時(shí)表。把學(xué)號(hào)相同的記錄連接起來(lái)形成臨時(shí)表后,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年湖北省荊荊襄宜四地高二下學(xué)期期中聯(lián)考地理試題及答案
- 2025年中國(guó)家用血壓儀行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 中國(guó)體育用品行業(yè)市場(chǎng)深度調(diào)查評(píng)估及投資方向研究報(bào)告
- 稅務(wù)師考試初級(jí)課件
- 中國(guó)黑龍江煤炭工業(yè)調(diào)查報(bào)告
- 醫(yī)用高頻儀器設(shè)備項(xiàng)目風(fēng)險(xiǎn)分析和評(píng)估報(bào)告
- 竹瓢項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 2025年 云南省危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全管理人員考試練習(xí)題附答案
- 熱擴(kuò)直縫鋼管行業(yè)深度研究報(bào)告
- 扇型卡具項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 2025年 道路運(yùn)輸企業(yè)主要負(fù)責(zé)人考試模擬試卷(100題)附答案
- 2025至2030中國(guó)執(zhí)法系統(tǒng)行業(yè)經(jīng)營(yíng)效益及前景運(yùn)行態(tài)勢(shì)分析報(bào)告
- 供應(yīng)鏈公司展會(huì)策劃方案
- 南通市崇川區(qū)招聘 社區(qū)工作者筆試真題2024
- 2025年廣東省萬(wàn)閱大灣區(qū)百校聯(lián)盟中考二模語(yǔ)文試題(含答案)
- 【藝恩】出游趨勢(shì)洞察報(bào)告
- 護(hù)士理論考試試題及答案
- 學(xué)生因病缺課管理制度
- 2025年江蘇省蘇州園區(qū)星海中考英語(yǔ)二模試卷
- 福建省廈門市2023-2024學(xué)年高一下學(xué)期期末質(zhì)量檢測(cè)歷史試題(解析版)
- 四川省成都市西川中學(xué)2025年八年級(jí)英語(yǔ)第二學(xué)期期末檢測(cè)模擬試題含答案
評(píng)論
0/150
提交評(píng)論