版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章
數(shù)據(jù)庫(kù)的創(chuàng)建和使用
本章要點(diǎn)4.1VFP數(shù)據(jù)庫(kù)概述4.2數(shù)據(jù)庫(kù)的創(chuàng)建4.3數(shù)據(jù)庫(kù)的使用4.4數(shù)據(jù)庫(kù)表4.5永久關(guān)系與參照完整性4.1VFP數(shù)據(jù)庫(kù)概述
數(shù)據(jù)庫(kù)——一個(gè)容器,是許多相關(guān)的數(shù)據(jù)庫(kù)表及其關(guān)系(聯(lián)系)的集合。數(shù)據(jù)庫(kù)不僅包括表,還包括表之間的聯(lián)系。VFP提供的數(shù)據(jù)庫(kù)設(shè)計(jì)工具:1、數(shù)據(jù)庫(kù)向?qū)?、數(shù)據(jù)庫(kù)設(shè)計(jì)器4.2數(shù)據(jù)庫(kù)的創(chuàng)建創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)將生成3個(gè)文件:
數(shù)據(jù)庫(kù)文件(.dbc)數(shù)據(jù)庫(kù)備注文件(.dct)數(shù)據(jù)庫(kù)索引文件(.dcx)4.2.1數(shù)據(jù)庫(kù)的創(chuàng)建1.利用界面操作方式創(chuàng)建數(shù)據(jù)庫(kù)●打開(kāi)已建立的項(xiàng)目文件,出現(xiàn)項(xiàng)目管理器窗口?!襁x擇“數(shù)據(jù)”標(biāo)簽的“數(shù)據(jù)庫(kù)”,然后單擊“新建”按鈕?!癯霈F(xiàn)新建數(shù)據(jù)庫(kù)對(duì)話框,單擊“新建數(shù)據(jù)庫(kù)”按鈕,出現(xiàn)“新建”對(duì)話框?!襁x擇數(shù)據(jù)庫(kù)的路徑并輸入數(shù)據(jù)庫(kù)名后單擊“保存”按鈕,完成數(shù)據(jù)庫(kù)的建立,并打開(kāi)該數(shù)據(jù)庫(kù)設(shè)計(jì)器。(1)在“項(xiàng)目管理器”窗口中新建數(shù)據(jù)庫(kù)●選擇【文件】→【新建】出現(xiàn)新建對(duì)話框?!襁x擇“數(shù)據(jù)庫(kù)”單選按鈕,再單擊“新建文件”按鈕,出現(xiàn)“創(chuàng)建”對(duì)話框?!裨凇皠?chuàng)建”對(duì)話框中輸入文件名。選擇“保存”按鈕,系統(tǒng)自動(dòng)打開(kāi)數(shù)據(jù)庫(kù)文件,并且將數(shù)據(jù)庫(kù)設(shè)計(jì)器也自動(dòng)打開(kāi)。(2)通過(guò)“新建”對(duì)話框創(chuàng)建【格式】CreateDatabase[數(shù)據(jù)庫(kù)文件名|?]【功能】建立一個(gè)新的擴(kuò)展名為.DBC的數(shù)據(jù)庫(kù)文件并打開(kāi)此數(shù)據(jù)庫(kù)?!菊f(shuō)明】若省略擴(kuò)展名,則默認(rèn)為.DBC,同時(shí)也自動(dòng)建立相關(guān)聯(lián)的數(shù)據(jù)庫(kù)備注文件擴(kuò)展名為.DCT,關(guān)聯(lián)的索引文件擴(kuò)展名為.DCX。
保存后該數(shù)據(jù)庫(kù)文件被建立,并且自動(dòng)打開(kāi)該數(shù)據(jù)庫(kù)。2.利用命令方式創(chuàng)建數(shù)據(jù)庫(kù)4.2.2數(shù)據(jù)庫(kù)的組成1.?dāng)?shù)據(jù)庫(kù)表——屬于一個(gè)數(shù)據(jù)庫(kù)的表。前鏈——保存在.dbc中的表文件名消息和路徑。后鏈——保存在.dbf中的數(shù)據(jù)庫(kù)文件名消息和路徑。2.視圖——虛表,數(shù)據(jù)源于一張或多張表。分為本地視圖和遠(yuǎn)程視圖3.連接——指定了遠(yuǎn)程數(shù)據(jù)源的名稱(chēng)。4.存儲(chǔ)過(guò)程——保存在數(shù)據(jù)庫(kù)中的過(guò)程代碼。4.3數(shù)據(jù)庫(kù)的使用1.打開(kāi)數(shù)據(jù)庫(kù)(1)菜單方式①選擇【文件】|【打開(kāi)】,出現(xiàn)打開(kāi)對(duì)話框。②選擇數(shù)據(jù)庫(kù)文件所在的文件夾,將文件類(lèi)型選擇為“數(shù)據(jù)庫(kù)(.dbc)”。③選擇所要打開(kāi)的數(shù)據(jù)庫(kù)文件名,單擊“確定”按鈕。(2)利用項(xiàng)目管理器打開(kāi)數(shù)據(jù)庫(kù)打開(kāi)已建立的項(xiàng)目文件,出現(xiàn)項(xiàng)目管理器窗口,選擇“數(shù)據(jù)”標(biāo)簽,選擇要打開(kāi)的數(shù)據(jù)庫(kù)名,然后單擊“打開(kāi)”按鈕。(3)命令方式
P114【格式】OpenDatabase[<數(shù)據(jù)庫(kù)文件名>] [SHARED]|[EXCLUSIVE]【功能】將磁盤(pán)上一個(gè)擴(kuò)展名為.DBC的指定數(shù)據(jù)庫(kù)文件打開(kāi)?!菊f(shuō)明】打開(kāi)一個(gè)數(shù)據(jù)庫(kù)文件,同名的.DCT相關(guān)的數(shù)據(jù)庫(kù)備份文件與.DCX相關(guān)的索引文件也一起被打開(kāi)。
數(shù)據(jù)庫(kù)打開(kāi)后,在常用工具欄中可以看見(jiàn)當(dāng)前正在使用的數(shù)據(jù)庫(kù)名,同時(shí)當(dāng)數(shù)據(jù)庫(kù)設(shè)計(jì)器為當(dāng)前窗口時(shí),系統(tǒng)菜單上出現(xiàn)【數(shù)據(jù)庫(kù)】菜單項(xiàng)。注意:在數(shù)據(jù)庫(kù)被打開(kāi)的情況下,它所包含的所有表可以使用。但是,表并沒(méi)有被真正打開(kāi),用戶(hù)要打開(kāi)它,仍要用USE命令。(1)使用項(xiàng)目管理器關(guān)閉數(shù)據(jù)庫(kù)打開(kāi)已建立的項(xiàng)目文件,出現(xiàn)項(xiàng)目管理器窗口,選擇“數(shù)據(jù)”標(biāo)簽,選擇“數(shù)據(jù)庫(kù)”下面需要關(guān)閉的數(shù)據(jù)庫(kù)名,然后單擊“關(guān)閉”按鈕。在常用工具欄上的當(dāng)前數(shù)據(jù)庫(kù)下拉列表框中該數(shù)據(jù)庫(kù)名消失,同時(shí)在項(xiàng)目管理器中“關(guān)閉”按鈕變成“打開(kāi)”按鈕。2.關(guān)閉數(shù)據(jù)庫(kù)(2)命令方式【格式1】CLOSEDATABASE【功能】關(guān)閉當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)?!靖袷?】CLOSEALL【功能】選ALL將關(guān)閉所有區(qū)打開(kāi)的所有數(shù)據(jù)庫(kù)文件及其數(shù)據(jù)表、自由表以及各類(lèi)文件。(1)命令方式【格式】DeleteDatabase<數(shù)據(jù)庫(kù)文件名>【功能】從磁盤(pán)上刪除指定的數(shù)據(jù)庫(kù)文件(.DBC,.DCT,.DCX全刪)。被刪除的數(shù)據(jù)庫(kù)中的表成為自由表?!菊f(shuō)明】①被刪除的數(shù)據(jù)庫(kù)不能處于打開(kāi)狀態(tài)。②若從磁盤(pán)上刪除數(shù)據(jù)庫(kù)文件,則數(shù)據(jù)庫(kù)中的表仍保留著對(duì)數(shù)據(jù)庫(kù)的引用,不能成為自由表。3.刪除數(shù)據(jù)庫(kù)(2)使用項(xiàng)目管理器打開(kāi)已建立的項(xiàng)目文件,出現(xiàn)項(xiàng)目管理器窗口,單擊“數(shù)據(jù)”標(biāo)簽,選擇要?jiǎng)h除的“數(shù)據(jù)庫(kù)”,然后單擊“移去”按鈕。出現(xiàn)選擇對(duì)話框,若選擇“移去”僅將數(shù)據(jù)庫(kù)從項(xiàng)目中移去,若選擇“刪除”將從磁盤(pán)上刪除數(shù)據(jù)庫(kù)。被刪除的數(shù)據(jù)庫(kù)中的表成為自由表。
4.修改數(shù)據(jù)庫(kù)【格式】ModifyDatabase[數(shù)據(jù)庫(kù)名]【功能】打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器供用戶(hù)修改當(dāng)前數(shù)據(jù)庫(kù)。5、改變當(dāng)前數(shù)據(jù)庫(kù)【格式】SetDatabaseTo[數(shù)據(jù)庫(kù)名]【功能】將指定的數(shù)據(jù)庫(kù)設(shè)置為當(dāng)前數(shù)據(jù)庫(kù)?!菊f(shuō)明】1、指定的數(shù)據(jù)庫(kù)必須已經(jīng)打開(kāi)。2、可以同時(shí)打開(kāi)多個(gè)數(shù)據(jù)庫(kù),但只有一個(gè)可能成為當(dāng)前數(shù)據(jù)庫(kù)。3、若省略數(shù)據(jù)庫(kù)名,則打開(kāi)的數(shù)據(jù)庫(kù)都不會(huì)成為當(dāng)前數(shù)據(jù)庫(kù)。6、整理數(shù)據(jù)庫(kù)【格式】PackDatabase【功能】整理數(shù)據(jù)庫(kù)【說(shuō)明】當(dāng)前數(shù)據(jù)庫(kù)必須以獨(dú)占方式打開(kāi),否則報(bào)錯(cuò)。且數(shù)據(jù)庫(kù)中不能打開(kāi)任何表或視圖。4.4數(shù)據(jù)庫(kù)表4.4.1數(shù)據(jù)庫(kù)表的創(chuàng)建1.通過(guò)界面操作創(chuàng)建數(shù)據(jù)庫(kù)表①利用“項(xiàng)目管理器”②利用“數(shù)據(jù)庫(kù)設(shè)計(jì)器”工具欄上的“新建表”按鈕③菜單命令“新建/文件”2.利用命令方式創(chuàng)建數(shù)據(jù)庫(kù)CREATETABLE-SQL命令4.4.2數(shù)據(jù)庫(kù)表的添加【格式】AddTable<表名/?>[Name<長(zhǎng)表名>]【功能】將指定的自由表添加到當(dāng)前數(shù)據(jù)庫(kù)中,并命名長(zhǎng)表名?!菊f(shuō)明】1、一個(gè)表只能屬于一個(gè)數(shù)據(jù)庫(kù)。2、數(shù)據(jù)庫(kù)必須以獨(dú)占方式打開(kāi)。4.4.3移去數(shù)據(jù)庫(kù)表【格式】RemoveTable<表名>[Delete]【功能】將當(dāng)前數(shù)據(jù)庫(kù)中指定的表移去。【說(shuō)明】1、[DELETE]:移去表的同時(shí)從磁盤(pán)上刪除該表。2、從數(shù)據(jù)庫(kù)中移去表后,與該表有關(guān)的規(guī)則、關(guān)系不再有效。3、表移去后就成為自由表。4.4.4轉(zhuǎn)成自由表【格式】FreeTable<表名>【功能】從一個(gè)表中對(duì)刪除數(shù)據(jù)庫(kù)的引用,即刪除后鏈?!菊f(shuō)明】若偶然從磁盤(pán)上刪除了一個(gè)數(shù)據(jù)庫(kù)文件,該數(shù)據(jù)庫(kù)中的表仍保留著對(duì)數(shù)據(jù)庫(kù)的引用,使用該命令可以從一個(gè)表中刪除對(duì)數(shù)據(jù)庫(kù)的引用,允許打開(kāi)該表或?qū)⒃摫硖砑拥狡渌麛?shù)據(jù)庫(kù)中。4.4.5改表名【格式】RenameTable<舊長(zhǎng)表名>To<新長(zhǎng)表名>【功能】將指定的表的長(zhǎng)表名改成新長(zhǎng)表名?!菊f(shuō)明】1、改表名前必須先以獨(dú)占方式打開(kāi)包含表的數(shù)據(jù)庫(kù),且將其設(shè)置為當(dāng)前數(shù)據(jù)庫(kù)。2、該命令不能用來(lái)更改自由表的名稱(chēng)。4.4.6數(shù)據(jù)庫(kù)表的字段擴(kuò)展屬性1.字段顯示屬性(1)字段的格式【舉例】xs表中的xh(學(xué)號(hào))的格式:T!。(2)輸入掩碼【舉例】js表中的jbgz(基本工資)的輸入掩碼:99,999.99。(3)字段的標(biāo)題和注釋【舉例】xs表中的xh(學(xué)號(hào))的標(biāo)題:學(xué)號(hào),注釋?zhuān)簩W(xué)生的學(xué)號(hào)。2.字段驗(yàn)證(1)字段有效性規(guī)則和有效性信息【舉例】xs表中的xh(學(xué)號(hào))的有效性規(guī)則:LEN(ALLTRIM(xh))=6,有效性信息:學(xué)號(hào)必須為6位。(2)默認(rèn)值【舉例】xs表中的xb(性別)的默認(rèn)值:‘女’。4.4.7數(shù)據(jù)庫(kù)表的屬性1.長(zhǎng)表名與表注釋2.記錄驗(yàn)證
P101字段有效性規(guī)則:僅對(duì)當(dāng)前字段有效;記錄有效性規(guī)則:校驗(yàn)多個(gè)字段之間的關(guān)系是否滿(mǎn)足某種規(guī)則?!九e例】
P102ALTERTABLEjsSETCHECKgzrq<csrqERROR‘出生日期必須大于工作日期’3.表的觸發(fā)器觸發(fā)器——綁定在表上的邏輯表達(dá)式,表在插入、更新或刪除記錄時(shí)進(jìn)行的檢驗(yàn)規(guī)則。種類(lèi):插入觸發(fā)器、更新觸發(fā)器、刪除觸發(fā)器。【舉例】在學(xué)生表中創(chuàng)建一個(gè)刪除觸發(fā)器以防止刪除記錄。CREATETRIGGERONxsFORDELETEAS.F.4.5表間關(guān)系與參照完整性4.5.1表之間的關(guān)系1.關(guān)系的種類(lèi)(1)一對(duì)一關(guān)系實(shí)際不常使用,因?yàn)閮蓮埍淼男畔⒖梢院喜⒊梢粡埍?。?)一對(duì)多關(guān)系【舉例】學(xué)生表與成績(jī)表之間。(3)多對(duì)多關(guān)系【舉例】學(xué)生表與課程表之間。多對(duì)多關(guān)系不能直接利用,要建立“紐帶表”。即把一個(gè)多對(duì)多關(guān)系轉(zhuǎn)變成兩個(gè)一對(duì)多關(guān)系。4.6.2表之間的臨時(shí)關(guān)系在一個(gè)應(yīng)用程序中使用多個(gè)表時(shí),往往會(huì)希望一個(gè)表(子表)的記錄指針能自動(dòng)隨另一個(gè)表(父表)的記錄指針移動(dòng)。在VFP中用戶(hù)可以通過(guò)在表間建立臨時(shí)關(guān)聯(lián)來(lái)實(shí)現(xiàn)這種功能。所謂臨時(shí)關(guān)系是指這種關(guān)系是臨時(shí)性的,一旦退出操作,不會(huì)保留所建立的關(guān)聯(lián),在每次使用表時(shí)都需要重新創(chuàng)建。一、表之間的臨時(shí)關(guān)系的建立建立臨時(shí)關(guān)聯(lián)的方法有兩種:一種是利用“數(shù)據(jù)工作區(qū)”窗口,即菜單方式另一種是使用SETRELATION命令。兩表要有相同關(guān)聯(lián)字的字段,并要求子表按關(guān)聯(lián)字段建立索引且指定主索引標(biāo)記。
1、菜單方式(1)單擊菜單中“窗口”中的“數(shù)據(jù)工作期”命令打開(kāi)工作區(qū)窗口,在該窗口中用“打開(kāi)”按鈕將準(zhǔn)備建立臨時(shí)關(guān)系的表打開(kāi)。(2)首先選定一個(gè)父表,然后單擊“關(guān)系”按鈕,接著再選定另一個(gè)表(子表),彈出“設(shè)置索引順序”對(duì)話框,在已建立的索引中選擇索引標(biāo)識(shí)。按“確定”后,彈出“表達(dá)式生成器”對(duì)話框,在其中需要設(shè)置用于建立關(guān)系的表達(dá)式(一般是兩表中的共同字段)。在確定了該表達(dá)式后,便完成了在這兩個(gè)表之間建立關(guān)系的工作。
2、命令方式【格式一】SetRelationTo[<關(guān)鍵字表達(dá)式>INTO<工作區(qū)別名>|<子表別名>
【功能】建立當(dāng)前工作表(父表)與另外工作區(qū)打開(kāi)的表(子表)的關(guān)聯(lián)?!菊f(shuō)明】①不選任何可選項(xiàng)是取消聯(lián)系。父表可以與多個(gè)子表建立聯(lián)系。②要求子表必須按關(guān)鍵字表達(dá)式中的關(guān)鍵字段建立索引,且被指定為主控索引標(biāo)記。4.6.2表之間的永久關(guān)系永久關(guān)系——數(shù)據(jù)庫(kù)表之間的關(guān)系,一旦建立,永久保存在數(shù)據(jù)庫(kù)中。
永久關(guān)系根據(jù)表的索引建立。P107方法:
在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口中,將主(父)表的主(或候選)索引標(biāo)識(shí)拖放到相關(guān)(或子)表的普通(或唯一)索引標(biāo)識(shí)上?!九e例】在學(xué)生表(xs.dbf)和成績(jī)表(cj.dbf)之間創(chuàng)建永久關(guān)系(一對(duì)多關(guān)系)。4.6.3參照完整性
數(shù)據(jù)的完整性——數(shù)據(jù)的正確性和相容性。參照完整性——數(shù)據(jù)庫(kù)完整性控制的一種,控制相關(guān)表之間的主關(guān)鍵字和外部關(guān)鍵字之間數(shù)據(jù)一致性的規(guī)則。1.參照完整性的一般要求(3個(gè))P1082.參照完整性的設(shè)置P108表4-5
三種規(guī)則:更新規(guī)則、刪除規(guī)則、插入規(guī)則。三個(gè)級(jí)別:級(jí)聯(lián)、限制、忽略。4.6.4VFP數(shù)據(jù)完整性綜述關(guān)系型數(shù)據(jù)庫(kù)有3類(lèi)完整性:實(shí)體完整性包括字段的數(shù)據(jù)完整性(通過(guò)字段的有效性規(guī)則實(shí)施)和記錄的數(shù)據(jù)完整性(通過(guò)記錄的有效性規(guī)則實(shí)施)。
參照完整性——相關(guān)表之間的數(shù)據(jù)一致性(表的觸發(fā)器實(shí)施)。用戶(hù)自定義完整性——用戶(hù)通過(guò)編程來(lái)控制數(shù)據(jù)的完整性。補(bǔ)充函數(shù)1、DBGETPROP()函數(shù)【格式】DBGETPROP(C對(duì)象名,C類(lèi)型,C屬性)【功能】返回當(dāng)前數(shù)據(jù)庫(kù)或當(dāng)前數(shù)據(jù)庫(kù)中表的字段、表或視圖的屬性?!纠纭縪pendatabasejsgl
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度專(zhuān)業(yè)自駕旅游包車(chē)代駕服務(wù)合同
- 2025年度棚改項(xiàng)目回遷房買(mǎi)賣(mài)合同范本
- 2025年桉樹(shù)種植基地環(huán)保設(shè)施建設(shè)與運(yùn)營(yíng)合同3篇
- 2025版智能城市基礎(chǔ)設(shè)施建設(shè)招投標(biāo)與合同管理指導(dǎo)文件2篇
- 萬(wàn)科旅游房產(chǎn)買(mǎi)賣(mài)合同(2024年專(zhuān)用)3篇
- 二零二五年度專(zhuān)業(yè)配音演員獨(dú)家聘用合同范本4篇
- 二零二五年度太陽(yáng)能熱水系統(tǒng)施工合同規(guī)范文本4篇
- 二零二五年度創(chuàng)業(yè)公司股權(quán)激勵(lì)及期權(quán)授予合同3篇
- 二零二五年度團(tuán)隊(duì)旅游數(shù)據(jù)共享合同
- 2025年度寫(xiě)字樓退租合同(含辦公家具設(shè)備退還明細(xì))4篇
- 城市微電網(wǎng)建設(shè)實(shí)施方案
- 企業(yè)文化融入中華傳統(tǒng)文化的實(shí)施方案
- 9.1增強(qiáng)安全意識(shí) 教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)上冊(cè)
- 《化工設(shè)備機(jī)械基礎(chǔ)(第8版)》全套教學(xué)課件
- 人教版八年級(jí)數(shù)學(xué)下冊(cè)舉一反三專(zhuān)題17.6勾股定理章末八大題型總結(jié)(培優(yōu)篇)(學(xué)生版+解析)
- 2024屆上海高考語(yǔ)文課內(nèi)古詩(shī)文背誦默寫(xiě)篇目(精校版)
- DL-T5024-2020電力工程地基處理技術(shù)規(guī)程
- 初中數(shù)學(xué)要背誦記憶知識(shí)點(diǎn)(概念+公式)
- 駕照體檢表完整版本
- 農(nóng)產(chǎn)品農(nóng)藥殘留檢測(cè)及風(fēng)險(xiǎn)評(píng)估
- 農(nóng)村高中思想政治課時(shí)政教育研究的中期報(bào)告
評(píng)論
0/150
提交評(píng)論