2022年VFP之VFP項目-數據庫-表-嚴浩_第1頁
2022年VFP之VFP項目-數據庫-表-嚴浩_第2頁
2022年VFP之VFP項目-數據庫-表-嚴浩_第3頁
2022年VFP之VFP項目-數據庫-表-嚴浩_第4頁
2022年VFP之VFP項目-數據庫-表-嚴浩_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2016年VFP

項目-數據庫-表精講------主講人:

11111嚴浩

一.三者關系

數據庫1表1

數據庫2表2項目

數據庫3表3

數據庫4

一個項目可以有多個數據庫

一個數據庫可以有多個表

一張表只能屬于一個數據庫2嚴浩二.數據庫的建立與使用

1.創(chuàng)建數據庫①界面方式②命令方式createdatabaseabc※創(chuàng)建數據庫后,自動生成三個文件.dbc,.dct,.dcx※一個數據庫主要包含五個內容①本地視圖②遠程視圖③連接④數據庫表⑤存儲過程2.打開數據庫①界面方式②命令方式opendatabaseabc3.關閉數據庫①界面方式②命令方式closedatabaseabc4.設置當前數據庫①界面方式②命令方式setdatabasetoabc3嚴浩二.數據庫的建立與使用

5.刪除數據庫①從項目管理器中移去數據庫1,此數據庫1仍存在于文件夾中,屬于此數據庫1的表不能自動成為自由表,不能自由添加到其他數據庫中。②從項目管理器中刪除數據庫2,此數據庫2在文件夾中也被刪除,下屬表變成自由表,可以添加到其他數據庫中。③從文件夾中直接刪除數據庫3,下屬表存在且不是自由表。(非法操作)※使一張表變?yōu)樽杂杀淼拿睿篺reetableabc.dbf&&使表abc變成自由表嚴浩4三.數據庫表的建立與使用(一)表結構概述(二)表結構的創(chuàng)建(三)表結構的修改(四)表的打開與關閉(五)表數據的處理嚴浩5三.數據庫表的建立與使用(一)表結構概述1.有關表的基本概念①數據庫表與自由表:

自由表+擴展屬性+主索引=數據庫表②表結構:表名+表頭(屬性的集合)③字段:表中的一列④記錄:表中的一行嚴浩6三.數據庫表的建立與使用(一)表結構概述2.字段的基本屬性①字段名的命名要求:必須以字母開頭,可由數字符號,字母,下劃線組成,不分大小寫,不允許空格或其他字符。自由表的字段名<=10個字符。數據庫表的字段名為1-128個字符。如果從數據庫中移去一個表,那么此表的長字段名將被截成10個字符。②數據類型及字段寬度:③小數位數:④NULL值:嚴浩7三.數據庫表的建立與使用(二)表結構的創(chuàng)建1.界面方式:表設計器2.命令方式:createtable表名(字段名1類型(長度),…,字段名n類型(長度))

例:createtableteacher(xmc(10),xhc(12))※表創(chuàng)建成功后,自動生成表文件.dbf和表備注文件.fpt嚴浩8三.數據庫表的建立與使用

(三)表結構的修改1.界面方式:2.命令方式:ALTERTABLE表名ADD[COLUMN]新字段名類型(長度)&&增加字段ALTERTABLE表名ALTER

字段名新類型(新長度)&&修改字段ALTERTABLE表名RENAME

舊字段名TO新字段名&&重命名字段ALTERTABLE表名DROP

字段名&&刪除字段例:altertableabcadd[column]jgc(20)&&增加jg字段altertableabcalterzzmmc(20)&&修改字段altertableabcrenamezzmmtozzmmdm&&重命名字段altertableabcdropzp&&刪除zp字段嚴浩9三.數據庫表的建立與使用(四)表的打開與關閉1.工作區(qū):表每次打開的時候,都會在內存中分配到一塊存儲區(qū)域,作為工作區(qū),而且計算機都給工作區(qū)進行了編號(即工作區(qū)號),這個編號范圍從1到32767。另外,VFP還規(guī)定前10個工作區(qū)可用字母A-J作為工作區(qū)別名。2.表的別名:在工作區(qū)中打開表時為該表所定義的名稱??梢宰远x別名,否則系統(tǒng)默認就以表名作為別名。若一張表在多個工作區(qū)中被打開,系統(tǒng)默認在表名后依次加_a、_b…。自定義別名的格式:

use

表名alias

別名嚴浩10三.數據庫表的建立與使用(四)表的打開與關閉3.表的打開與關閉:①關閉表:usein2&&關閉指定工作區(qū)打開的表

use&&關閉當前工作區(qū)中的表。closetablesall&&關閉所有工作區(qū)中的表②打開表:usexs&&在當前工作區(qū)打開表xsselectxs&&選擇xs表所在的工作區(qū)作為當前工作區(qū)select0&&選擇當前未被使用的最小工作區(qū)select3&&選擇3號工作區(qū)嚴浩11三.數據庫表的建立與使用(四)表的打開與關閉3.表的打開與關閉:③不改變當前工作區(qū),在指定工作區(qū)打開表:usejsin0&&不改變當前工作區(qū),在當前未被使用的最小工作區(qū)打開js表usejsin5&&不改變當前工作區(qū),在5號工作區(qū)中打開js表usegzaliassalaryin6&&把工資表改別名后在6號工作區(qū)打開usexsagainin11&&在11號區(qū)再次打開xs表嚴浩12三.數據庫表的建立與使用

(五)表數據的處理1.表的瀏覽與篩選browse&&瀏覽當前工作區(qū)中的表list&&在主窗口顯示當前表browseforxb="女"&&篩選記錄【顯示在表中】listforxb="女"&&篩選記錄【顯示在主窗口中】browsefieldsgh,xm,xb&&篩選字段【顯示在表中】listoffgh,xm,xb&&篩選字段【顯示在主窗口中】browsefieldsgh,xm,xbforxb="女"setfiltertoxb="女"&&設置記錄的篩選條件setfilterto&&恢復原來setfieldstogh,xm,xb&&設置字段篩選setfieldstoall&&恢復原來displayall&&在主窗口中顯示所有記錄displayallforxb="女"&&在主窗口中顯示性別為女的所有記錄displayoffxm&&在主窗口中顯示表中所有姓名的字段display&&默認在主窗口中只顯示一條記錄嚴浩13三.數據庫表的建立與使用

(五)表數據的處理2.表記錄的添加①單條記錄的添加:

界面方式:顯示

追加方式

命令方式:insertinto表名(字段名1,字段名2)values(表達式1,表達式2)

例:insertintostudent(xb,xh)values(“男”,“1301021”)②批量記錄的導入:append&&顯示編輯窗口,直接添加記錄appendblank&&添加一條空記錄appendfromxs&&從學生表中批量導入記錄appendfromabcdelimited&&從文本文件中批量導入記錄appendfromabcxls&&從excel文件中批量導入記錄嚴浩14三.數據庫表的建立與使用

(五)表數據的處理3.表記錄的修改①界面方式:表設計器②命令方式:非SQL語言:

replace[范圍語句]<字段>with<表達式>[for<條件表達式>]【范圍語句】all|nextn|rest|recordn例:replaceallcjwith75forkcdm=“60023”replaceallbzwith“優(yōu)秀學生”forcj=90replaceallbzwithiif(cj>=80,“三好學生”,“合格”)SQL語言:

update表名set字段1=表達式[where<條件表達式>]

例:updateabsetcj=90wherekcdm=“60023”嚴浩15三.數據庫表的建立與使用

(五)表數據的處理4.表記錄的刪除①邏輯刪除(可以恢復)非SQL語言:delete[范圍語句][for條件表達式][in工作區(qū)號]表別名]例:deleteforxb=“女”&&為性別是女的所有記錄添加刪除標記recallall&&恢復原來delete&&默認給當前的一條記錄添加刪除標記recall&&恢復原來SQL語言:deletefrom表名[where<條件表達式>]②物理刪除(徹底刪除,無法恢復)pack&&徹底刪除添加了刪除標記的記錄

zap&&徹底刪除當前表中所有記錄嚴浩16三.數據庫表的建立與使用

(五)表數據的處理5.表記錄的復制copytoabc&&把當前表復制到abc表中copytoabcfieldsxh,xm&&把當前表內xh和xm記錄復制到abc表中copytoabcforxb=“女”&&把當前表內女性記錄復制到abc表中copytoabcxls&&把當前表以excel格式復制copytoabcsdf&&把當前表以文本格式復制嚴浩17三.數據庫表的建立與使用

(五)表數據的處理6.表記錄的定位①相對定位和絕對定位:go/goto5&&絕對定位到第五條記錄gotop/gobottom&&絕對定位到第一條/最后一條記錄skip5&&相對定位(在此基礎上向后加5)skip-5&&相對定位(在此基礎上往前減5)skip&&默認在此基礎上向后加1②有關表記錄定位的命令:?bof()&&判斷當前記錄是否為表頭?eof()&&判斷當前記錄是否為表尾?recno()&&返回當前記錄的記錄號?reccount()&&返回當前表中記錄的總數目※一張表的記錄初值為1,記錄尾值為記錄總數加1③條件定位:從整張表的第一條記錄開始按順序逐個查找符合條件的記錄locateforjg=“上?!?&返回籍貫為上海的第一條記錄的記錄號continue&&返回籍貫為上海的第二條記錄的記錄號嚴浩18四.表索引的建立與使用(一)有關索引的基本概念(二)索引的創(chuàng)建和使用嚴浩19四.表索引的建立與使用(一)有關索引的基本概念1.記錄順序:①物理順序(自然順序)②邏輯順序(人為順序)2.索引:①概念:按表文件中某個關鍵字段或者字段表達式建立記錄的邏輯順序。它是由一系列記錄號組成的一個列表,存放在.CDX中。②作用:提供對數據的快速訪問。③特點:讓表中記錄按照某種邏輯順序顯示,但不改變表中記錄的物理順序。(即:使用gotop/gobottom等定位命令時,結果不受索引影響。)嚴浩20四.表索引的建立與使用(一)有關索引的基本概念3.索引關鍵字(索引表達式):

不同類型字段構成索引表達式時,注意數據類型的統(tǒng)一.4.索引標識名(索引名):即索引關鍵字的名稱,長度<=10個字符。5.索引類型:①主索引:表中記錄不能有重復值,一張表只能有一個主索引。②候選索引:在指定的關鍵字段或者表達式中不允許有重復值的索引。③普通索引:一張表中可以有多個普通索引。④唯一索引:參加索引的關鍵字段或者表達式在表中可以有重復值。但具有重復值的記錄只顯示第一條。嚴浩21四.表索引的建立與使用(二)索引的創(chuàng)建和使用1.索引的創(chuàng)建:①界面方式:表設計器②命令方式:A)indexon索引表達式tag索引名[candidate|unique](該命令不能創(chuàng)建主索引)例:indexonxmtagxm1&&設置普通索引indexonxmtagxm2unique&&設置唯一索引

indexonxmtagxm3candidate&&設置候選索引

setordertoxm1&&設置主控索引setorderto&&恢復原來B)altertable表名addprimarykey|unique索引表達式tag索引名(該命令可創(chuàng)建主索引和候選索引)嚴浩22四.表索引的建立與使用(二)索引的創(chuàng)建和使用2.索引的修改和刪除:①界面方式:表設計器②命令方式:deletetagximing&&刪除索引名為ximing的索引deletetagall&&刪除全部索引

altertableabcdropcandidate/uniquetag&&刪除表abc中的候選索引/唯一索引嚴浩23四.表索引的建立與使用(二)索引的創(chuàng)建和使用3.索引的使用(設定主控索引):①界面方式:表設計器②命令方式:setordertoxm1&&設置主控索引setorderto&&恢復原來4.快速定位:seek“130702148”&&二分法查找學號為130702148的學生嚴浩24五.數據庫表的擴展屬性(一)數據庫表字段的擴展屬性(二)數據庫表的表擴展屬性嚴浩25五.數據庫表的擴展屬性(一)數據庫表字段的擴展屬性1.顯示格式(輸出掩碼)和輸入掩碼:2.標題和默認值:3.字段有效性規(guī)則和說明信息:嚴浩26五.數據庫表的擴展屬性(二)數據庫表的表擴展屬性1.長表名:如:“課程表”(設置好后在項目管理器中能直接看到)2.記錄有效性規(guī)則和說明信息:3.觸發(fā)器:4.表注釋(表的編輯說明):如“這是一張教師表。”嚴浩27六.數據庫表的永久性關系和參照完整性規(guī)則(一)創(chuàng)建數據庫表之間的永久性關系(二)數據庫表之間(已經建立永久關系)的參照完整性規(guī)則(三)表與表之間的關系:(四)項目管理器操作

嚴浩28六.數據庫表的永久性關系和參照完整性規(guī)則(一)創(chuàng)建數據庫表之間的永久性關系1.創(chuàng)建數據庫表之間永久性關系的三個條件:①判斷兩個表之間是否有關聯②兩個表之間是否存在公共字段(名稱可以不同,含義和數據類型要相同)③分清關聯形式(即確定主表和子表)嚴浩29六.數據庫表的永久性關系和參照完整性規(guī)則(一)創(chuàng)建數據庫表之間的永久性關系2.創(chuàng)建過程:例:【窗口演示】(表設計器)①利用表設計器創(chuàng)建xs表主索引,求索引名為xsxh,類型為主索引,索引表達式為xh②利用表設計器為cj表創(chuàng)建普通索引,要求索引名為cjxh,索引表達式為xh?!绻麅杀碇幸呀泟?chuàng)建相關索引,可直接在“數據庫設計器”中創(chuàng)建永久性關系。①在“項目管理器”中選擇數據庫jxsj,擊“修改”按鈕,現“數據庫設計器”窗口.②右擊“數據庫設計器”窗口,選擇“查找對象”按鈕,找到xs表和cj表.③找到主表xs表主索引xsxh(標記:鑰匙);找到子表cj表的普通索引cjxh.④將主表xs表的主索引xsxh按住不放,“拖放”到子表cj表的普通索引cjxh上即可,在兩個表之間就出現一條關系連線,用以標識永久性關系。嚴浩30六.數據庫表的永久性關系和參照完整性規(guī)則(二)數據庫表之間(已經建立永久關系)的參照完整性規(guī)則嚴浩31六.數據庫表的永久性關系和參照完整性規(guī)則(三)表與表之間的關系:1.一對一2.一對多3.多對多:紐帶表嚴浩32六.數據庫表

溫馨提示

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

評論

0/150

提交評論