第11章-數(shù)據(jù)庫(kù)技術(shù)_第1頁(yè)
第11章-數(shù)據(jù)庫(kù)技術(shù)_第2頁(yè)
第11章-數(shù)據(jù)庫(kù)技術(shù)_第3頁(yè)
第11章-數(shù)據(jù)庫(kù)技術(shù)_第4頁(yè)
第11章-數(shù)據(jù)庫(kù)技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第11章數(shù)據(jù)庫(kù)技術(shù)11.1數(shù)據(jù)庫(kù)根底11.2結(jié)構(gòu)化查詢語(yǔ)言11.3數(shù)據(jù)管理器11.4Data控件11.5ADO數(shù)據(jù)控件11.6數(shù)據(jù)報(bào)表11.7數(shù)據(jù)庫(kù)應(yīng)用實(shí)例11.1數(shù)據(jù)庫(kù)根底數(shù)據(jù)庫(kù)的概念所謂數(shù)據(jù)庫(kù)(Database),是指按一定組織方式存儲(chǔ)在一起的、相互有關(guān)的假設(shè)干個(gè)數(shù)據(jù)的集合。它由一個(gè)表或多個(gè)表對(duì)象組成,表(Table)是一種數(shù)據(jù)庫(kù)對(duì)象,它由具有相同屬性的記錄(Record)組成,而記錄由一組相關(guān)的字段(Field)組成,字段用來(lái)存儲(chǔ)表屬性的值。1.數(shù)據(jù)庫(kù)2.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,DatabaseManagementSystem)是一種操縱和管理數(shù)據(jù)庫(kù)的大型軟件。其功能包括數(shù)據(jù)庫(kù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫(kù)的運(yùn)行管理、數(shù)據(jù)庫(kù)建立和維護(hù)等。3.數(shù)據(jù)庫(kù)的類型數(shù)據(jù)庫(kù)可以分為3種類型:網(wǎng)狀數(shù)據(jù)庫(kù)、層次數(shù)據(jù)庫(kù)和關(guān)系型數(shù)據(jù)庫(kù)。4.數(shù)據(jù)庫(kù)應(yīng)用程序數(shù)據(jù)庫(kù)應(yīng)用程序是指以數(shù)據(jù)庫(kù)為根底,用VB或其他開發(fā)工具開發(fā)的、實(shí)現(xiàn)某種具體功能的程序。關(guān)系型數(shù)據(jù)庫(kù)表:將相關(guān)的數(shù)據(jù)按行和列的形式組織成二維表格的形式字段:數(shù)據(jù)庫(kù)表中的每一列稱為字段,字段是標(biāo)記實(shí)體屬性的符號(hào)集記錄:對(duì)于關(guān)系型數(shù)據(jù)庫(kù),表中的每一行都稱為記錄,記錄是多個(gè)字段的集合關(guān)鍵字:如果表中的某個(gè)字段或多個(gè)字段的組合能夠唯一地確定一條記錄,那么稱該字段或多個(gè)字段組合為候選關(guān)鍵字。表間的關(guān)系:關(guān)系就是定義兩個(gè)表如何相互聯(lián)系的方式索引:根據(jù)表中關(guān)鍵字提供一個(gè)數(shù)據(jù)指針,并以特定的順序記錄在一個(gè)索引文件上,該索引文件僅列出全部關(guān)鍵字的值及其相應(yīng)記錄的地址。11.2結(jié)構(gòu)化查詢語(yǔ)言

SQL語(yǔ)句簡(jiǎn)介SELECT命令:用于在數(shù)據(jù)庫(kù)中查找滿足特定條件的記錄CREATE、DROP和ALTER命令:用于操縱整個(gè)表。CREATE命令用于創(chuàng)立新的表、字段和索引;DROP命令用來(lái)刪除數(shù)據(jù)庫(kù)中的表和索引;ALTER命令通過(guò)添加字段或改變字段定義修改表INSERT、DELETE和UPDATE命令:主要適用于單個(gè)記錄1.SQL命令子句是用來(lái)指定條件的,這些條件被用來(lái)定義要選定或要操作的數(shù)據(jù)。

2.SQL子句子句用途FROM指定從其中選定記錄的表的名稱WHERE指定所選記錄必須滿足的條件GROUPBY把選定的記錄分成特定的組HAVING說(shuō)明每個(gè)組需要滿足的條件ORDERBY按特定的次序?qū)⒂涗浥判騍QL語(yǔ)句中常用的子句及其用途在SELECT子句中使用合計(jì)函數(shù)可以對(duì)一組數(shù)值進(jìn)行各種不同的統(tǒng)計(jì),它返回應(yīng)用于一組記錄的單一值。

3.合計(jì)函數(shù)SQL查詢中常用的合計(jì)函數(shù)

合計(jì)函數(shù)描述AVG獲得特定字段中的值的平均數(shù)COUNT返回選定記錄的個(gè)數(shù)SUM返回選定字段中所有值的總和MAX返回指定字段中的最大值MIN返回指定字段中的最小值常用的SQL語(yǔ)句從數(shù)據(jù)庫(kù)中獲取符合條件的數(shù)據(jù)稱為查詢。語(yǔ)法如下:1.SELECT語(yǔ)句SELECT[ALL/DISTINCT]

選定項(xiàng)FROM表名[WHERE條件表達(dá)式][GROUPBY分組字段][HAVING分組條件][ORDERBY排序字段

[ASC/DESC]]例[11-2]計(jì)算所有圖書的平均價(jià)格。SELECTAVG(定價(jià))FROM圖書信息表例[11-3]按定價(jià)從低到高列出電子工業(yè)出版社出版的所有圖書的圖書名稱及定價(jià)。SELECT圖書名稱,定價(jià)FROM圖書信息表WHERE出版社代碼=″0001″ORDERBY定價(jià)創(chuàng)立刪除查詢來(lái)刪除表中的記錄語(yǔ)法如下:2.DELETE語(yǔ)句DELETEFROM表名[WHERE條件]可以更改表中一條或多條記錄的字段的值語(yǔ)法如下:3.UPDATE語(yǔ)句UPDATE表名SET字段=表達(dá)式[,字段=表達(dá)式]…[WHERE條件]可以向一個(gè)表中插入一條記錄

語(yǔ)法如下:4.INSERT語(yǔ)句INSERTINTO表名[(字段1[,字段2…])]VALUES(表達(dá)式1[,表達(dá)式2]…)例[11-6]向“圖書信息表〞插入一條記錄。INSERTINTO圖書信息表(出版社代碼,圖書名稱,定價(jià))VALUES(″0003″,″計(jì)算機(jī)文化根底″,20)11.3數(shù)據(jù)管理器啟動(dòng)可視化數(shù)據(jù)管理器選擇“外接程序|可視化數(shù)據(jù)管理器〞菜單命令,出現(xiàn)如下圖的可視化數(shù)據(jù)管理器主窗口創(chuàng)立數(shù)據(jù)庫(kù)在管理器界面中選擇“文件|新建〞菜單命令,那么會(huì)彈出多個(gè)菜單項(xiàng)選擇項(xiàng),用來(lái)選擇要?jiǎng)?chuàng)立的數(shù)據(jù)庫(kù)類型在可視化數(shù)據(jù)管理器窗口中選擇“文件|翻開數(shù)據(jù)庫(kù)|MicrosoftAccess〞菜單命令,將顯示“翻開MicrosoftAccess數(shù)據(jù)庫(kù)〞對(duì)話框添加數(shù)據(jù)庫(kù)表在數(shù)據(jù)庫(kù)中添加表的具體步驟如下:右擊“數(shù)據(jù)庫(kù)窗口〞——“新建表〞。彈出“表結(jié)構(gòu)〞對(duì)話框,利用該對(duì)話框可以創(chuàng)立、查看和修改表結(jié)構(gòu)。在“表結(jié)構(gòu)〞對(duì)話框中指定要?jiǎng)?chuàng)立的表的名稱。單擊“添加字段〞按鈕,在彈出的對(duì)話框中設(shè)置各項(xiàng)的相關(guān)屬性。在“名稱〞文本框中輸入字段的名稱。設(shè)置好相關(guān)屬性后,單擊“確定〞按鈕。重復(fù)上述步驟,繼續(xù)添加其他字段。單擊“關(guān)閉〞按鈕,推出“添加字段〞對(duì)話框。添加表索引單擊“表結(jié)構(gòu)〞對(duì)話框中的“添加索引〞按鈕,翻開“添加索引〞對(duì)話框選項(xiàng)功能名稱索引名稱索引的字段表中作為索引字段的清單,中間用分號(hào)分開可用字段可用字段的列表框,單擊一個(gè)字段即可將其加入“索引的字段”列表框中主要的選中這個(gè)復(fù)選框表示該索引字段是表的主關(guān)鍵字唯一的選中這個(gè)復(fù)選框表示強(qiáng)制該字段具有唯一性忽略空值這個(gè)屬性表示索引中所用的字段能否包括空值Null數(shù)據(jù)庫(kù)維護(hù)翻開“數(shù)據(jù)庫(kù)窗口〞,用鼠標(biāo)雙擊“出版社根本信息表〞表名,或右擊“出版社根本信息表〞表名,然后從彈出的快捷菜單中選擇“翻開〞命令,系統(tǒng)彈出數(shù)據(jù)庫(kù)維護(hù)對(duì)話框11.4Data控件

Data控件的屬性Connect屬性Connect屬性決定與Data控件相連的數(shù)據(jù)庫(kù)類型DatabaseName屬性DatabaseName屬性指定具體使用的數(shù)據(jù)庫(kù)文件名,包括所有的路徑名。RecordSource屬性RecordSource確定具體可訪問(wèn)的數(shù)據(jù),這些數(shù)據(jù)構(gòu)成記錄集對(duì)象Recordset。該屬性值可以是DatabaseName數(shù)據(jù)庫(kù)中的單個(gè)表名、一個(gè)存儲(chǔ)查詢,也可以是使用SQL查詢語(yǔ)言的一個(gè)查詢字符串。RecordsetType屬性RecordsetType屬性可以返回或設(shè)置一個(gè)值,確定由Data控件創(chuàng)立的Recordset對(duì)象的記錄集類型。EofAction和BofAction屬性當(dāng)記錄指針指向Recordset對(duì)象的開始(第1條記錄前)或結(jié)束(最后一條記錄后)時(shí),EofAction和BofAction屬性的設(shè)置或返回值決定了Data控件要采取的操作。數(shù)據(jù)綁定控件用來(lái)顯示數(shù)據(jù)的控件之所以被稱為綁定控件,是因?yàn)樗B接在Data控件上。大多數(shù)綁定控件都具有以下3種與數(shù)據(jù)有關(guān)的屬性:DataSource屬性:用來(lái)指定綁定控件所連接的Data控件名稱DataChanged屬性:用來(lái)顯示綁定控件里的值是否已經(jīng)改變。如果已經(jīng)改變,那么其值為“True〞,否那么為“False〞。DataField屬性:用來(lái)指定Data控件建立的記錄集里字段的名稱

Data控件的事件與方法Data控件具有幾個(gè)與數(shù)據(jù)庫(kù)訪問(wèn)有關(guān)的特有事件:Reposition事件和Validate事件Reposition事件:當(dāng)用戶單擊Data控件上的某個(gè)箭頭按鈕,或者在應(yīng)用程序中使用了某個(gè)Move或Find方法時(shí),一條新記錄成為當(dāng)前記錄之后,均會(huì)觸發(fā)Reposition事件Validate事件:檢查被Data控件綁定的控件內(nèi)的數(shù)據(jù)是否發(fā)生變化。語(yǔ)法如下:PrivateSubData1_Validate(ActionAsInteger,SaveAsInteger)1.Data控件的事件

Refresh方法:Refresh方法主要用來(lái)建立或重新顯示與Data控件相連接的數(shù)據(jù)庫(kù)記錄集。語(yǔ)法格式是:Datal.RefreshUpdateRecord方法:可以將綁定控件上的當(dāng)前內(nèi)容寫入到數(shù)據(jù)庫(kù)中,即可以在修改數(shù)據(jù)后調(diào)用該方法來(lái)確認(rèn)修改。UpdateControls方法:可以將數(shù)據(jù)從數(shù)據(jù)庫(kù)中重新讀到綁定控件中,即可以在修改數(shù)據(jù)后調(diào)用該方法放棄修改Close方法:Close方法主要用于關(guān)閉數(shù)據(jù)庫(kù)或記錄集,并且將該對(duì)象設(shè)置為空2.Data控件的方法

記錄集對(duì)象1.Recordset對(duì)象的類型

記錄集類型描述表類型(DbOpenTable)一個(gè)記錄集合,代表能用來(lái)添加、更新或刪除記錄的單個(gè)數(shù)據(jù)表動(dòng)態(tài)集類型(DbOpenDynaset)一個(gè)記錄的動(dòng)態(tài)集合,代表一個(gè)數(shù)據(jù)庫(kù)或包含從一個(gè)或多個(gè)表取出的字段的查詢結(jié)果。可從動(dòng)態(tài)集類型的Recordset里添加、更新或刪除記錄,并且任何改變都將會(huì)反映在基本表上快照類型(DbOpenSnapshot)一個(gè)記錄的集合靜態(tài)副本,可用于尋找數(shù)據(jù)或生成報(bào)表。一個(gè)快照類型的Recordset對(duì)象能包含從一個(gè)或多個(gè)在同一數(shù)據(jù)庫(kù)中的表里取出的字段,但字段不能更改AbsolutePosition屬性BOF和EOF屬性Bookmark屬性NoMatch屬性RecordCount屬性2.Recordset對(duì)象的屬性AddNew方法Delete方法Move方法Update方法Find方法Seek方法3.Recordset對(duì)象的方法使用代碼操作數(shù)據(jù)庫(kù)記錄定位指的是在一個(gè)記錄集中來(lái)回移動(dòng)當(dāng)前記錄指針或者改變當(dāng)前記錄。1.移動(dòng)記錄當(dāng)前記錄:確定記錄集中哪一條記錄可以被訪問(wèn)移動(dòng)當(dāng)前記錄:在VisualBasic中用代碼移動(dòng)記錄可以使用4種方法:MoveFirst、MoveLast、MoveNext、MovePrevious方法。使用Find或Seek方法來(lái)查詢指定的記錄。2.查找記錄使用Find方法:主要適用于查找動(dòng)態(tài)集類型和快照類型的Recordset對(duì)象中的記錄。使用Seek方法:主要適用于查找表類型Recordset對(duì)象中的記錄。3.更新記錄添加新記錄編輯當(dāng)前記錄刪除記錄關(guān)閉記錄集11.5ADO數(shù)據(jù)控件

ADO模型ADO對(duì)象模型

Adodc控件1.Adodc控件的添加添加Adodc控件方法是:選擇“工程︱部件〞菜單命令,選擇“MicrosoftADODataControl6.0(OLEDB)〞復(fù)選框,單擊“確定〞按鈕。2.連接數(shù)據(jù)庫(kù)通過(guò)設(shè)置Adodc控件的“使用連接字符串〞屬性完成連接數(shù)據(jù)庫(kù)。3.Adodc控件的事件和方法Adodc控件只負(fù)責(zé)數(shù)據(jù)庫(kù)和工程之間的數(shù)據(jù)交換11.6數(shù)據(jù)報(bào)表數(shù)據(jù)環(huán)境設(shè)計(jì)器數(shù)據(jù)環(huán)境設(shè)計(jì)器為數(shù)據(jù)訪問(wèn)提供了一個(gè)交互設(shè)計(jì)環(huán)境。在設(shè)計(jì)時(shí),首先是建立ConnectionCommand對(duì)象并設(shè)置它們的屬性值及編寫代碼,從而獲得對(duì)數(shù)據(jù)庫(kù)、數(shù)據(jù)表和查詢的連接操作,然后再把它們綁定到數(shù)據(jù)報(bào)表設(shè)計(jì)器上。建立數(shù)據(jù)報(bào)表添加DataReporter選擇“工程︱添加DataReport〞菜單命令建立報(bào)表的資料來(lái)源制作報(bào)表字段利用“數(shù)據(jù)報(bào)表〞工具箱,在DataReport1窗體的“報(bào)表標(biāo)頭〞欄中參加標(biāo)題為“圖書報(bào)表〞的Label控件,右擊報(bào)表設(shè)計(jì)器的空白處,選擇“插入控件|當(dāng)前日期(短格式)〞命令顯示報(bào)表可使用DataReport1對(duì)象的Show方法11.7數(shù)據(jù)庫(kù)應(yīng)用實(shí)例數(shù)據(jù)庫(kù)設(shè)計(jì)本系統(tǒng)采用Access數(shù)據(jù)庫(kù),建立“studentData.mdb〞數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)包含3個(gè)表,分別是“學(xué)生根本情況表〞、“課程表〞和“學(xué)生成績(jī)表〞主窗體設(shè)計(jì)1.Module1模塊在Module1中定義了3個(gè)公用變量:bm、op和sele數(shù)組。bm用于在不同窗體之間傳遞Recordset的Bookmark屬性值op用于傳遞操作的類別sele數(shù)組用于傳遞列表框控件或組合框控件的選擇信息Module1.BasPublicbmPublicopAsStringPublicsele(20)AsString2.主窗體PrivateSubcmdCourse_Click()frmCourse.ShowEndSubPrivateSubcmdStu_Click()frmStu.ShowEndSubPrivateSubcmdCsel_Click()frmCselect.ShowEndSubPrivateSubcmdGrade_Click()frmGrade.ShowEndSubPrivateSubcmdFind_Click()frmFind.ShowEndSubPrivateSubcmdExit_Click()EndEndSub課程管理課程管理的主要功能是對(duì)“課程表〞的記錄進(jìn)行瀏覽、添加、編輯、刪除,以實(shí)現(xiàn)對(duì)課程信息的維護(hù),課程管理由窗體frmCourse實(shí)現(xiàn)??丶愋涂丶Q屬性設(shè)置值Data控件Data1DatabaseNameC:\VB\studentData.mdbRecordSource課程表RecordsetType0-TableTextBoxtxtCnumDataSourceData1DataField課程號(hào)txtCreditDataSourceData1DataField學(xué)分txtCnameDataSourceData1DataField課程名窗體frmCourse中Data控件及綁定控件的屬性設(shè)置學(xué)生管理學(xué)生管理的主要功能是實(shí)現(xiàn)對(duì)“學(xué)生根本情況表〞的維護(hù)。該功能由兩個(gè)窗體實(shí)現(xiàn),分別為frmStu和frmEdit。窗體frmStu中主要控件的屬性設(shè)置控件類型控件名稱屬性設(shè)置值A(chǔ)dodcAdodc1CommandType2-adCmdTableRecordSo

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論