VFP基礎(chǔ)教程_數(shù)據(jù)庫的創(chuàng)建和使用_第1頁
VFP基礎(chǔ)教程_數(shù)據(jù)庫的創(chuàng)建和使用_第2頁
VFP基礎(chǔ)教程_數(shù)據(jù)庫的創(chuàng)建和使用_第3頁
VFP基礎(chǔ)教程_數(shù)據(jù)庫的創(chuàng)建和使用_第4頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.1 VFP 數(shù)據(jù)庫1. 數(shù)據(jù)庫的基本組成數(shù)據(jù)庫由一個(gè)以上相互關(guān)聯(lián)的數(shù)據(jù)表組成,可以包含一個(gè)或多個(gè)表、視圖、到遠(yuǎn)程數(shù)據(jù)源的連接和存儲(chǔ)過程。視圖 ( view ):一個(gè)保存在數(shù)據(jù)庫中的、由引用一個(gè)或多個(gè)表、或其他視圖的相關(guān)數(shù)據(jù)組成的虛擬表,可以是本地的 、遠(yuǎn)程的或帶參數(shù)的。存儲(chǔ)過程 (storedprocedure):是保存在數(shù)據(jù)庫中的一個(gè)過程。該過程能包含一個(gè)用戶自定義函數(shù)中的任何命令和函數(shù)。創(chuàng)建數(shù)據(jù)庫時(shí)系統(tǒng)自動(dòng)生成3個(gè)文件:數(shù)據(jù)庫文件 : 擴(kuò)展名為 .DBC數(shù)據(jù)庫備注文件: 擴(kuò)展名為.DCT數(shù)據(jù)庫索引文件: 擴(kuò)展名為.DCX2. 數(shù)據(jù)庫的設(shè)計(jì)過程1)明確建立數(shù)據(jù)庫的目的和使用方式2)設(shè)計(jì)所需

2、的數(shù)據(jù)表(包括表結(jié)構(gòu)和表記錄).專業(yè)專注.3)建立表之間的關(guān)系4)改進(jìn)設(shè)計(jì).2 數(shù)據(jù)庫的創(chuàng)建1. 數(shù)據(jù)庫的創(chuàng)建過程數(shù)據(jù)庫的創(chuàng)建過程中一般會(huì)涉及下面一些常用操作:.專業(yè)專注. . .1 )創(chuàng)建新表 用表設(shè)計(jì)器 (設(shè)置字段屬性和表屬性)2 )添加表 用數(shù)據(jù)庫設(shè)計(jì)器按鈕或數(shù)據(jù)庫菜單3 )創(chuàng)建視圖 用視圖向?qū)?、視圖設(shè)計(jì)器4 )建立關(guān)系 用鼠標(biāo)將父表的索引拖到子表的相關(guān)索引上5 )編輯關(guān)系 用數(shù)據(jù)庫菜單或快捷菜單 參照完整性生成器6 )移去關(guān)系 用快捷菜單或按delete鍵7 )修改表 用表設(shè)計(jì)器8 )刪除表或視圖 用數(shù)據(jù)庫設(shè)計(jì)器按鈕或數(shù)據(jù)庫菜單2. 數(shù)據(jù)庫的新建 、打開、關(guān)閉(1 )新建數(shù)據(jù)庫 :從

3、文件菜單中單擊新建 在新建對話框中選擇數(shù)據(jù)庫并單擊新文件 在創(chuàng)建對話框中給出庫文件名和保存位置 在數(shù)據(jù)庫設(shè)計(jì)器中建立所需的數(shù)據(jù)庫。或 從命令窗口中輸入命令: createdatabase數(shù)據(jù)庫名(2 )打開數(shù)據(jù)庫 :從文件菜單中單擊打開 在打開對話框中給出庫文件名和保存位置并確定之?;?從命令窗口中輸入命令: opendatabase數(shù)據(jù)庫名.專業(yè)專注.( 3 )關(guān)閉數(shù)據(jù)庫 :從命令窗口中輸入命令 :closedatabase&關(guān)閉當(dāng)前數(shù)據(jù)庫或 closeall&關(guān)閉所有被打開的數(shù)據(jù)庫注意 : 1) 關(guān)閉了數(shù)據(jù)庫表不等于關(guān)閉了數(shù)據(jù)庫,但關(guān)閉了數(shù)據(jù)庫則其中的數(shù)據(jù)表被同時(shí)關(guān)閉;2) 用鼠標(biāo)關(guān)閉了數(shù)

4、據(jù)庫設(shè)計(jì)器窗口并不能代表關(guān)閉數(shù)據(jù)庫。3. 用數(shù)據(jù)庫設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)庫.專業(yè)專注.(1 ) 調(diào)出表設(shè)計(jì)器,建立一個(gè)新數(shù)據(jù)表方法 1 :從數(shù)據(jù)庫 菜單中選擇 新表 。方法 2 :右擊 數(shù)據(jù)庫設(shè)計(jì)器窗口,從快捷菜單中選擇新表 。方法 3 :單擊 數(shù)據(jù)庫設(shè)計(jì)器工具欄的 新表 按鈕 。方法 4 :從文件 菜單中單擊 新建,在對話框中選擇表。注意 :.專業(yè)專注.數(shù)據(jù)庫表的表設(shè)計(jì)器中內(nèi)容比自由表的多,增加了字段屬性和表屬性的設(shè)置。設(shè)置驗(yàn)證規(guī)則目的是為了使輸入的數(shù)據(jù)符合要求,在有矛盾時(shí)發(fā)出錯(cuò)誤提示信息。(2 ) 數(shù)據(jù)庫表的高級屬性屬性類別屬性名稱作用格式確定字段內(nèi)容在被顯示時(shí)的樣式字字段顯示屬性輸入掩碼指定字段

5、中輸入數(shù)據(jù)的格式(即所輸入的任何內(nèi)容均顯示成此符號 )段標(biāo)題在瀏覽表時(shí)用此名稱代替意義不夠直觀的字段名屬規(guī)則使所輸數(shù)據(jù)符合設(shè)定的條件字段驗(yàn)證規(guī)則信息當(dāng)所輸數(shù)據(jù)違反規(guī)則時(shí),系統(tǒng)提示錯(cuò)在哪里性默認(rèn)值減少輸入重復(fù)性數(shù)據(jù)時(shí)的工作量字段注釋使字段具有更好的可讀性長表名與表文件名不同 ,設(shè)置了長表名可以一目了然表記錄驗(yàn)證規(guī)則規(guī)則使所輸記錄符合設(shè)定的條件信息當(dāng)所輸記錄違反規(guī)則時(shí),系統(tǒng)提示錯(cuò)在哪里屬插入觸發(fā)器當(dāng)所插記錄符合此規(guī)則時(shí),才可以插入到表中觸發(fā)器更新觸發(fā)器當(dāng)修改后的記錄符合此規(guī)則時(shí),才可以進(jìn)行修改性刪除觸發(fā)器當(dāng)待刪記錄符合此規(guī)則時(shí),才可以被刪除掉表注釋使表具有更好的可讀性字段級規(guī)則 :一種與字段相關(guān)的

6、有效性規(guī)則,在插入或修改字段值時(shí)被激活,多用于數(shù)據(jù)輸入正確性的檢驗(yàn) 。為字段設(shè)置驗(yàn)證規(guī)則的方法:.在表設(shè)計(jì)器中選定要建立規(guī)則的字段名。.在 “規(guī)則 ”方框旁邊選擇“”按鈕 。.在表達(dá)式生成器中設(shè)置有效性表達(dá)式,并選擇 “確定 ”。.專業(yè)專注.在 “信息 ”框中 ,鍵入用引號括起的錯(cuò)誤信息。.在 “默認(rèn)值 ”框中 ,鍵入合理的初值。.注意不同類型數(shù)據(jù)的表示方法。.選擇 “確定 ”記錄級規(guī)則 :一種與記錄相關(guān)的有效性規(guī)則,當(dāng)插入或修改記錄時(shí)激活,常用來檢驗(yàn)數(shù)據(jù)輸入和正確性。記錄被刪除時(shí)不使用有效性規(guī)則。記錄級規(guī)則在字段級規(guī)則之后和觸發(fā)器之前激活,在緩沖更新時(shí)工作。觸發(fā)器 :在一個(gè)插入 、更新或刪除

7、操作之后運(yùn)行的記錄級事件代碼。不同的事件可以對應(yīng)不同的動(dòng)作。它們常用于交叉表的完整性。(3 ) 在數(shù)據(jù)庫中添加表方法 1 :從數(shù)據(jù)庫菜單中選擇添加表,從打開對話框中選擇所需的表并確定之。方法 2 :右擊數(shù)據(jù)庫設(shè)計(jì)器窗口,從快捷菜單中選擇添加表。方法 3 :單擊數(shù)據(jù)庫設(shè)計(jì)器工具欄的添加按鈕。注意 :一個(gè)數(shù)據(jù)表在同一時(shí)間內(nèi)只能屬于一個(gè)數(shù)據(jù)庫,已隸屬于其它數(shù)據(jù)庫的表不能直接被添加進(jìn)來 ,需先將其移出數(shù)據(jù)庫還原成自由表。.專業(yè)專注.(4 ) 創(chuàng)建并添加視圖視圖用于顯示一個(gè)或多個(gè)表中的記錄,并能夠更新源表中的數(shù)據(jù),視圖只有在數(shù)據(jù)庫中才能存在 。方法 1 :從數(shù)據(jù)庫菜單中選擇新遠(yuǎn)程視圖或新本地視圖方法 2

8、 :右擊數(shù)據(jù)庫設(shè)計(jì)器窗口,從快捷菜單中選擇新遠(yuǎn)程視圖或新本地視圖方法 3 :單擊數(shù)據(jù)庫設(shè)計(jì)器工具欄的新遠(yuǎn)程視圖或新本地視圖按鈕(5) 在數(shù)據(jù)庫中操作表和視圖可以利用數(shù)據(jù)庫設(shè)計(jì)器工具欄很方便地進(jìn)行下列操作:瀏覽 : 在瀏覽窗口中顯示表或視圖的內(nèi)容。修改 : 調(diào)出表設(shè)計(jì)器或視圖設(shè)計(jì)器對表或視圖進(jìn)行修改。移去 :使表從數(shù)據(jù)庫中還原成自由表。對視圖移去相當(dāng)于刪除。刪除 :從磁盤上徹底刪除數(shù)據(jù)表和視圖,并且無法回收。(6)在表之間建立永久性關(guān)系永久關(guān)系 :是數(shù)據(jù)庫表之間的一種關(guān)系,不僅運(yùn)行時(shí)存在,而且一直保留 。 表之間的永久關(guān)系是通過索引建立的 。.專業(yè)專注.一對多關(guān)系 :表之間的一種關(guān)系,在這種關(guān)系

9、中,主表中的每一個(gè)記錄與相關(guān)表中的多個(gè)記錄相關(guān)聯(lián)(每一個(gè)主關(guān)鍵字值在相關(guān)表中可出現(xiàn)多次)。一對一關(guān)系 :表之間的一種關(guān)系,在這種關(guān)系中,主表中的每一個(gè)記錄只與相關(guān)表中的一個(gè)記錄相關(guān)聯(lián)。創(chuàng)建表間的永久關(guān)系:在數(shù)據(jù)庫設(shè)計(jì)器中,選擇想要關(guān)聯(lián)的索引名,然后把它拖到相關(guān)表的索引名上,所拖動(dòng)的父表索引必須是一個(gè)主索引或候選索引。建立好關(guān)系后,這種關(guān)系在數(shù)據(jù)庫設(shè)計(jì)器中會(huì)顯示為一條連接兩個(gè)表的直線。注意 :需先建立索引然后才能建立關(guān)系。刪除表間的永久關(guān)系:在數(shù)據(jù)庫設(shè)計(jì)器中,單擊兩表間的關(guān)系線。關(guān)系線變粗 ,表明已選擇了該關(guān)系,按下delete 鍵 。編輯關(guān)系 :單擊所需關(guān)系線,右擊鼠標(biāo) ,從快捷菜單中選擇編輯

10、關(guān)系 ,在編輯關(guān)系 對話框中改選其它相關(guān)表 索引名或修改 參照完整性 規(guī)則 。.專業(yè)專注.參照完整性 (RI) :控制數(shù)據(jù)一致性,尤其是不同表的主關(guān)鍵字和外部關(guān)鍵字之間關(guān)系的規(guī)則。 VisualFoxPro使用用戶自定義的字段級和記錄級規(guī)則完成參照完成性規(guī)則。( 7 ) 在表之間建立臨時(shí)關(guān)系臨時(shí)關(guān)系 :是在打開的 數(shù)據(jù)表之間用set relation命令建立的臨時(shí)關(guān)系,或是在數(shù)據(jù)工作期窗口建立。建立了臨時(shí)關(guān)系后,子表的指針會(huì)隨主表記錄指針的移動(dòng)。表被關(guān)閉后 ,關(guān)系自動(dòng)解除。臨時(shí)關(guān)系與永久關(guān)系的聯(lián)系與區(qū)別:聯(lián)系 :(1 )都必須明確建立關(guān)系的兩張表之間確實(shí)在客觀上存在著一種關(guān)系(一對多或一對一關(guān)

11、系)。(2)永久關(guān)系在許多場合可以作為默認(rèn)的臨時(shí)關(guān)系。區(qū)別 :(1 )臨時(shí)關(guān)系是用來在打開的兩張表之間控制相關(guān)表之間記錄的訪問;而永久關(guān)系主要是用來存儲(chǔ)相關(guān)表之間的參照完整性,附帶地可以作為默認(rèn)的臨時(shí)關(guān)系或查詢中默認(rèn)的聯(lián)接條件 。.專業(yè)專注.(2 )臨時(shí)關(guān)系在表打開之后使用setrelation命令建立 ,隨表的關(guān)閉而解除;永久關(guān)系永久地保存在數(shù)據(jù)庫中而不必在每次使用表時(shí)重新創(chuàng)建。( 3 )臨時(shí)關(guān)系可以在自由表之間 、庫表之間或自由表與庫表之間建立 ,而永久關(guān)系只能在庫表之間建立 。( 4 )臨時(shí)關(guān)系中一張表不能有兩張主表 (除非這兩張主表是通過子表的同一個(gè)主控索引建立的臨時(shí)關(guān)系 ),永久關(guān)系

12、則不然 。4. 用命令方式操作數(shù)據(jù)庫常用命令一覽表命令格式功能create database庫文件名創(chuàng)建新的數(shù)據(jù)庫文件open database庫文件名打開指定的庫文件close database關(guān)閉當(dāng)前的數(shù)據(jù)庫和數(shù)據(jù)表close all關(guān)閉所有的數(shù)據(jù)庫和數(shù)據(jù)表,并把工作區(qū)1 置為當(dāng)前工作區(qū) ,同時(shí)還關(guān)閉一些窗口modify database修改當(dāng)前庫文件結(jié)構(gòu)delete database庫文件名刪除指定的庫文件open database庫文件名在數(shù)據(jù)庫中添加表add table 表名open database庫文件名將表從數(shù)據(jù)庫中移去remove table表名.專業(yè)專注.open data

13、base庫文件名將表從數(shù)據(jù)庫中移去并從盤上刪除remove table表文件名 deleteuse 庫文件名!表名“!表”示引用一個(gè)不在當(dāng)前數(shù)據(jù)庫中的表browseSet relation to關(guān)系表達(dá)式 into區(qū)號|別名建立表之間的臨時(shí)關(guān)系Set relation to刪除表之間的臨時(shí)關(guān)系alter table子表名 add foreign key索引關(guān)鍵字 tag索引標(biāo)識創(chuàng)建永久關(guān)系references 父表名 tag 索引標(biāo)識 alter table子表名 drop foreign key tag索引標(biāo)識刪除永久關(guān)系5 用 CREATE TABLE-SQL命令創(chuàng)建數(shù)據(jù)庫表命令一般格式

14、:Createtable表名 1 free ( 字段名 1 字段類型代號 (字段寬度 , 小數(shù)位數(shù) ) null|notnull check字段規(guī)則1 error“信息 1 ” default默認(rèn)值 primarykey| unique references表名 2 tag索引標(biāo)識 1 , 字段名 2 字段類型代號 (字段寬度, 小數(shù)位數(shù) ) null| notnull check字段規(guī)則 2 error“信息 2” default默認(rèn)值 )| fromarray數(shù)組名使用示例 :creatdataxscjgl&創(chuàng)建學(xué)生成績管理數(shù)據(jù)庫createtablexs (;.專業(yè)專注.xh c(4)

15、default1201primarykey,;xm c(6), ;xb c(2) checkxb= 男 orxb= 女 error 性別只能是男或女 default女 ,;nl n(2)null;) &創(chuàng)建學(xué)生表createtablekc (;kchc(3) unique,;kcmc(10),;xf n(3,1),;bxkl;) &創(chuàng)建課程表createtablecj(;xh c(4) default1201referencexs tagxh, ;kchc(8),;ksrqd,;.專業(yè)專注.cj n(5,1);) &創(chuàng)建成績表modidataaltertablecj addprimarykey

16、 xh+kch+str(cj,4,1)tagdh&為成績表添加一個(gè)主索引6. 查看和設(shè)置數(shù)據(jù)庫的屬性( 1 ) 用 dbgetprop() 函數(shù)查看數(shù)據(jù)庫屬性 :命令格式 : dbgetprop(cName,cType,cProperty)( 2 ) 用 dbsetprop() 函數(shù)設(shè)置數(shù)據(jù)庫屬性 :命令格式 : dbsetprop(cName,cType,cProperty,ePropertyValue)(3 ) 用 dbsetprop()函數(shù)給表中字段添加標(biāo)題和說明一般格式 : dbsetprop(表名 .字段名 , fieldcaption|comment,標(biāo),題 |說明 )例: dbsetprop( xs.xh , field, 學(xué)caption號), db

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論