



版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第三章第三章 數(shù)據(jù)庫數(shù)據(jù)庫問題的提出: 前面我們所創(chuàng)建的表都是自由表,在實際應用中自由表很難滿足管理信息系統(tǒng)中存貯數(shù)據(jù)的要求,那么將如何解決這一問題?解決問題的方法: 我們可以通過建立數(shù)據(jù)庫及數(shù)據(jù)庫表來解決上述問題。第三章第三章 數(shù)據(jù)庫數(shù)據(jù)庫本章主要介紹的內容有: 數(shù)據(jù)庫的創(chuàng)建; 數(shù)據(jù)庫的操作; 排序、索引和查找; 計算與統(tǒng)計; 表之間的關系; 數(shù)據(jù)庫表的屬性。 通過學習本章內容,您能夠做到: 掌握數(shù)據(jù)庫的創(chuàng)建; 掌握數(shù)據(jù)庫的操作; 掌握數(shù)據(jù)的排序、索引和查找; 掌握數(shù)據(jù)的計算與統(tǒng)計處理; 掌握表之間的關系; 掌握數(shù)據(jù)庫表的屬性。 本章目錄本章目錄 3.1引 例 3.2數(shù)據(jù)庫的創(chuàng)建 3.3數(shù)據(jù)
2、庫的操作 3.4排序、索引和查詢 3.5數(shù)據(jù)統(tǒng)計 3.6表之間的關系 3.7數(shù)據(jù)完整性 HOME3.1 引例 在“學生管理系統(tǒng)”應用程序中,我們設計了一個學生管理數(shù)據(jù)庫(xsgl.dbc),如圖所示。其中包含學生檔案表、學生成績表、學生課程表,也包含相關表之間按關鍵字建立的關系。 那么如何創(chuàng)建數(shù)據(jù)庫呢?3.2 數(shù)據(jù)庫的創(chuàng)建數(shù)據(jù)庫的創(chuàng)建 3.2.1數(shù)據(jù)庫的設計 3.2.2創(chuàng)建新的數(shù)據(jù)庫 3.2.1數(shù)據(jù)庫的設計 以學生管理(xsgl.dbc)數(shù)據(jù)庫為例來講解設計的一般步驟: 1.確定數(shù)據(jù)庫的用途 對在校學生檔案和成績等數(shù)據(jù)進行管理。 2.確定需要的表 根據(jù)調查決定設計xsda.dbf、xscj.d
3、bf 、xskc.dbf等。 3.確定所需的字段 以xscj.dbf為例,所需的字段為xh、kcdm、cj。 4.確定各表之間的關系 將xsda.dbf和xscj.dbf按xh建立關系,將xscj.dbf和xskc.dbf 按kcdm建立關系。 5.改進整個設計 對整個設計方案進行改進和優(yōu)化。3.2.2創(chuàng)建新的數(shù)據(jù)庫 用戶可以通過三種方式創(chuàng)建一個新的數(shù)據(jù)庫:菜單方式、項目管理器方式和命令方式。 1.菜單方式 以創(chuàng)建XSGL.DBC為例,操作步驟如下: 選“文件”菜單中的“新建”菜單項或直接單擊常用工具欄上的“新建”按鈕在“新建”對話框中選“數(shù)據(jù)庫”單選按鈕單擊“新建文件”按鈕在“創(chuàng)建”對話框的
4、“數(shù)據(jù)庫名”文本框中輸入要建立的數(shù)據(jù)庫名“XSGL”單擊“保存”按鈕。 創(chuàng)建數(shù)據(jù)庫后,進入數(shù)據(jù)庫設計器,如下圖:注 意:此時,用戶已經建立了名為XSGL.DBC的空數(shù)據(jù)庫,系統(tǒng)還會自動生成一個名為XSGL.DCT的數(shù)據(jù)庫備注文件和一個名為XSGL.DCX的數(shù)據(jù)庫索引文件。 2.項目管理器方式項目管理器方式 打開“項目管理器”選擇項目管理器中的“數(shù)據(jù)”選項卡選中“數(shù)據(jù)庫”單擊“新建”按鈕,其余步驟同菜單方式。 3.命令方式命令方式 創(chuàng)建數(shù)據(jù)庫的命令如下: 格式:格式:CREATE DATABASECREATE DATABASE數(shù)據(jù)庫文件名|? 功能:功能:創(chuàng)建并打開一個數(shù)據(jù)庫。 示例:CREAT
5、E DATABASE xsglCREATE DATABASE xsgl 剛建好的數(shù)據(jù)庫只是一個數(shù)據(jù)庫的框架,里面還沒有數(shù)據(jù),用戶可以向其中添加各種數(shù)據(jù)庫對象,如表、視圖、表之間的關系等。數(shù)據(jù)庫的.DBC(數(shù)據(jù)庫容器)文件中存儲有關該數(shù)據(jù)庫的所有信息(包括和它關聯(lián)的文件和對象名),數(shù)據(jù)庫文件并不在物理上包含任何對象(如表和字段),而僅存儲指向表文件的路徑指針等。 3.33.3數(shù)據(jù)庫的操作數(shù)據(jù)庫的操作 數(shù)據(jù)庫創(chuàng)建后,用戶可以進行如下一系列操作:建立新表、添加表到數(shù)據(jù)庫中、瀏覽數(shù)據(jù)庫中的表、修改數(shù)據(jù)庫中的表、移去數(shù)據(jù)庫中的表、建立各表之間的關系、編輯存儲過程、編輯參照完整性等。 3.33.3數(shù)據(jù)庫的
6、操作數(shù)據(jù)庫的操作 3.3.1數(shù)據(jù)庫的打開與關閉 3.3.2數(shù)據(jù)庫的修改 3.3.1數(shù)據(jù)庫的打開與關閉 1.數(shù)據(jù)庫的打開 在數(shù)據(jù)庫中建立表或對數(shù)據(jù)庫中的表進行相關操作時,都必須先打開數(shù)據(jù)庫。 操作方式同樣有兩種。菜單方式與數(shù)據(jù)表的操作相似 命令方式: 格式:格式: OPEN DATABASE數(shù)據(jù)庫文件名|?EXCLUSIVESHARED 功能:功能:打開一個指定的數(shù)據(jù)庫。示例:示例:clearclose allopen database xsgl &打開數(shù)據(jù)庫xsgl.dbcopen database mydata &打開數(shù)據(jù)庫mydata.dbc 2.數(shù)據(jù)庫的關閉 當暫時不使用
7、數(shù)據(jù)庫時,為防止意外斷電或誤操作而破壞數(shù)據(jù)庫文件中的數(shù)據(jù),應及時將其關閉。關閉數(shù)據(jù)庫,可以用項目管理器或CLOSE DATABASE命令關閉數(shù)據(jù)庫。 命令方式: 格式1:CLOSE DATABASE ALL 功能:關閉數(shù)據(jù)庫和表。 格式2:CLOSE ALL 功能:關閉除命令窗口、調試窗口、跟蹤窗口和幫助窗口以外的所有文件。 3.設置當前數(shù)據(jù)庫 在VFP中,可以同時打開多個數(shù)據(jù)庫,但在同一時刻僅有一個為“當前數(shù)據(jù)庫” 。在打開多個數(shù)據(jù)庫時,最后一個打開的數(shù)據(jù)庫為當前數(shù)據(jù)庫。用戶可在列表框中選擇其他已經打開的數(shù)據(jù)庫成為當前數(shù)據(jù)庫,也可以使用下列命令設置當前數(shù)據(jù)庫。 格式:SET DATABASE
8、 TO 數(shù)據(jù)庫文件名 功能:指定當前數(shù)據(jù)庫。 3.3.2 數(shù)據(jù)庫的修改1.在數(shù)據(jù)庫中建立新表 在數(shù)據(jù)庫設計器中單擊右鍵在快捷菜單中選擇“新建表”在彈出對話框中選擇“新建表”輸入新表名進入“表設計器”,用戶可以按照第2章介紹的方法建立一個新表。 注 意:數(shù)據(jù)庫表的表設計器與自由表的表設計器不同,在數(shù)據(jù)庫中建立的表為數(shù)據(jù)庫表。 2.向數(shù)據(jù)庫中添加表 在數(shù)據(jù)庫設計器中,用戶可以選定目前不屬于任何其他數(shù)據(jù)庫的表(自由表),將其添加到數(shù)據(jù)庫中,使之成為一個數(shù)據(jù)表。有兩種方法。 (1)菜單法 選“數(shù)據(jù)庫”菜單中選擇“添加表”或右擊數(shù)據(jù)庫選“添加表”。 (2)命令方式格式:ADD TABLE |?NAME功
9、能:在當前數(shù)據(jù)庫中添加一個表。示例:將xsda表添加到數(shù)據(jù)庫xsgl.dbc中。 clear Open database xsgl.dbc Add table xsda.dbf name 學生的基本情況表 &將xsda.dbf添加到xsgl.dbc中,成為數(shù)據(jù)庫表,并命名為“學生的基本情況表”。注 意:數(shù)據(jù)庫表可以定義長文件名表。 3.從數(shù)據(jù)庫中移去表或刪除表 當數(shù)據(jù)庫不再需要某個表或其他數(shù)據(jù)庫需用此表時,可以從該數(shù)據(jù)庫中移去此表。同樣有菜單方式和命令方式。 注 意:一個表在同一時間內只能屬于一個數(shù)據(jù)庫。 (1)菜單方式 選定要移去或刪除的表選“數(shù)據(jù)庫”菜單中“移去”菜單項(或者在數(shù)據(jù)
10、庫表上右擊在快捷菜單中選“刪除”命令) 在如圖所示的對話框中單擊“移去”按鈕。 (2)命令方式 REMOVE TABLE |?DELETE 示例:示例: 將數(shù)據(jù)庫表學生檔案xsda.dbf從數(shù)據(jù)庫xsgl.dbc中移去,使其成為自由表。 clear Open database xsgl.dbc Remove table xsda.dbf實驗三 數(shù)據(jù)庫的創(chuàng)建與操作 實驗目的:通過上機實驗掌握數(shù)據(jù)庫建立的方法和有關的操作。 實驗步驟:首先布置上機實驗內容。 應用菜單法和命令法進行下列操作: 1、建立數(shù)據(jù)庫 2、打開和關閉數(shù)據(jù)庫 3、在數(shù)據(jù)庫中建立數(shù)據(jù)庫表 4、在數(shù)據(jù)庫中添加表 5、將數(shù)據(jù)庫中的表變
11、為自由表3.4排序、索引和查詢 建立數(shù)據(jù)庫的主要目的之一,就是要方便、靈活、快速、高效地提取所要的信息。在實際應用中,數(shù)據(jù)庫是很大的,它有成千上萬個記錄。因此必須有一套科學的、迅速而又方便的查詢方法,用前面所述的定位、顯示等方法是不能滿足需要的。為此,本節(jié)將討論如何組織排序文件和索引文件,以達到快速查詢的目的。3.43.4排序、索引和查詢排序、索引和查詢 3.4.1排序 3.4.2索引 3.4.3查詢 3.4.1排序 排序的特點是將已建好的表記錄按某一關鍵字規(guī)定的順序重新排列,產生一新的表文件,但原文件不變。 排序命令: 格式: SORT TO ON /A/C/D,/A/C/DFIELDSFO
12、R|WHILE 功能:對當前表文件,按指定字段值重新排序,排序后生成一個以命名的表文件。 【例3.1】對XSDA表按“XH”降序排序,排序后的文件名為XSDA1;按“RXF”升序排序,排序后的文件名為XSDA2,且排序后的表文件中只有XH、XM、RXF 3個字段。 輸入命令: Clear Open database xsgl.dbc use xsda list sort to xsda1 on xh/d use xsda1 list use xsda sort to xsda2 on rxf fields xh,xm,rxf use xsda2 list實例演示顯示結果: 3.4.2索引 通過
13、SORT命令可以對表中某一個字段進行排序,排序后將產生一個新的表文件,每排一次序就產生一個新的表文件,這樣將占據(jù)大量的空間,要解決這樣的問題可以通過建立索引來解決。 1.索引的概念 為了更好地處理和組織數(shù)據(jù),Visual FoxPro 6.0提供了一個非常方便的工具索引。Visual FoxPro 6.0中的索引和書中的目錄類似,書中的目錄是一份頁碼的列表,根據(jù)內容指向書中的頁號。而Visual FoxPro 6.0中表的索引是一個記錄號的列表,它指向待處理的記錄,并確定了記錄的處理順序。 2.索引類型 (1)索引類型 索引分為主索引、候選索引、普通索引、惟一索引4種類型。 (2)索引文件類型
14、 根據(jù)索引文件包含索引的個數(shù)和索引文件的打開方式不同,索引文件可分為獨立索引文件和復合索引文件。復合索引文件又分為非結構化復合索引文件和結構化復合索引文件。 獨立索引文件。 復合索引文件。 3.索引操作 索引操作主要是指建立、插入、刪除索引等,可通過表設計器和命令方式進行。 (1)表設計器方式 下面以在XSDA.DBF為例建立索引,按“XH”字段建立主索引、升序,按“XM”字段建立普通索引,按“RXF”字段建立普通索引。 操作步驟: 打開xsda表進入表設計器在“學號”字段的“索引”項中選“升序”選“索引”選項卡設置xh的索引類型為“主索引”,其他索引操作類似。 (2)表達式生成器的使用 在“
15、表設計器”的“索引”選項卡中,單擊“表達式”編輯框右邊的“”生成器按鈕,進入表達式生成器窗口,可以用可視化的設計建立索引表達式。 (3)命令方式 格式:格式: INDEX ONINDEX ON索引表達式TAGTAG索引標識符OFOFCDXCDX文件名|TOTO索引文件名 FORFOR條件ASCENDINGASCENDING|DESCENDINGDESCENDINGUNIQUEUNIQUE|CANDIDATECANDIDATEADDITIADDITIVEVE 功能功能: :為當前表建立一個索引文件。 實例演示【例3.2】對xsda表按xh建立獨立索引文件xsdaxh。 輸入命令: Clear U
16、se xsda List Index on xh to xsdaxh &對xsda表按xh建立獨立索引 List 運行結果: 【例3.3】對xsda表先按xm索引,再按csrq索引建立獨立索引文件xsdaxc。 輸入命令: Clear Use xsda Index on xm+dtoc(csrq) to xsdaxc List 運行結果: 【例3.4】對xsda.dbf表按xh降序建立結構化復合索引文件,索引標識為“學號” 。 輸入命令: Clear Use xsda Index on xh tag 學號 descending List 運行結果: 【例3.5】對xsda.dbf表按x
17、b建立結構化復合索引文件,索引標識為“性別”,指定為惟一索引。 Clear Use xsda Index on xb tag 性別 unique List 運行結果: 4.使用索引 要使用索引進行查詢,必須打開表與索引文件。一個表可以打開多個相關的索引文件,同一個復合索引文件中也可能包含多個索引標識,但任何時候只有一個索引文件能起作用,在復合索引中也只能有一個索引標識能起作用。當前起作用的索引文件稱為主控索引文件,當前起作用的索引標識稱為當前索引。也就是說,實現(xiàn)索引查詢必須滿足以下的條件:打開表、打開索引文件、確定主控索引文件,對復合索引文件還需確定當前索引。 (1)索引文件的打開。 索引文件
18、的打開有以下幾種方式: 自動打開 建立索引文件時,剛建立的獨立索引文件和結構化復合索引文件由系統(tǒng)自動打開。 打開表的同時,打開索引文件 格式1:USE ORDER TAG 功能:格式1打開表文件同時,與之同名的結構型復合索引文件自動打開,并設置當前索引。 格式2:USE INDEX ORDER TAG 功能:格式2打開表文件的同時,打開非結構化復合索引文件和獨立索引文件,可設置當前索引。示 例 1.打開xsda表的同時將自動打開結構化復合索引文件xsda.cdx,并指定關鍵字為“學號”的索引為當前索引。 Use xsda order tag 學號 2.打開xsda表的同時,打開非結構化復合索引
19、文件xsdaxb.cdx,并指定關鍵字為“性別” 的索引為當前索引。 Use xsda index xsdaxb.cdx order tag 性別 在表文件已打開的情況下,單獨打開相關聯(lián)的索引文件。 格式:SET INDEX TO索引文件名表|?ORDERTAG標識符OFCDX文件名ADDITIVE 功能:打開當前表的一個或多個索引文件。 【例3.6】打開XSDA表中的獨立索引文件和非結構化復合索引文件。 Use xsda List Set index to xsdaxc List Set index to xsdaxh additive List運行結果: (2)設置當前索引 一個文件在某一
20、時刻,只有一個索引起作用,稱為主控索引或當前索引,主控索引就是控制當前顯示順序的索引。設置當前索引的命令如下: 格式: SET ORDER TO順序號|IDX文件名|TAG標識名OFCDX文件名 功能:指定當前索引。 【例3.7】設置當前索引。Use xsdaIndex on xh tag 學號 of xsda22.cdxIndex on csrq tag 出生日期 xsda22.cdxIndex on rxf tag 入學分 xsda22.cdxClose allUse xsda index xsda22 order tag 出生日期ListClose allUse xsda Set ind
21、ex to xsda22 order tag 入學分List Close allUse xsda Set index to xsda22Set order to tag 學號ListClose all運行結果: (3)關閉索引文件。 格式1:USE 功能:關閉表文件的同時,也關閉了所有已打開的索引文件。 格式2:SET INDEX TO 功能:關閉所有已打開的索引文件,但表文件仍處于打開狀態(tài)。 格式3:CLOSE INDEX 功能:與格式2相同。 (4)索引的更新。 自動更新。 當表中的數(shù)據(jù)發(fā)生變化時(如對其進行了插入、刪除、添加或修改操作之后),所有當前已打開的索引文件都會跟隨數(shù)據(jù)的改變自動
22、改變記錄的邏輯順序,實現(xiàn)索引文件的自動更新。 重新索引。 若修改表中記錄之后再打開索引文件,可在打開需要重建索引的全部索引文件后,使用如下命令重新索引。 格式:REINDEX (5)刪除索引 獨立索引文件可采取刪除文件的方法直接刪除,復合索引文件可用下列命令刪除: 格式:DETELE TAG索引標識符|ALLOFCDX文件名 說明: DETELE TAG索引標識符刪除復合索引文件中的指定索引。 DETELE TAG ALL刪除復合索引文件中的所有索引,此時,復合索引文件將不復存在。 對于復合索引文件,也可以在表設計器中刪除索引標識。 實驗四 排序與索引 實驗目的:通過實驗掌握排序的方法和索引文
23、件建立的方法及索引文件的打開、關閉、設置當前索引等方法。 實驗步驟:首先布置本次上機的實驗內容及實驗過程中要注意的問題。 1、設置當前盤和當前文件夾; 2、通過排序命令排序后建立新的表文件,并打開新的表文件查看排序結果; 3、用表設計器建立索引文件,并設置當前索引,通過LIST或瀏覽命令查看結果; 4、用INDEX命令建立獨立索引、結構化復合索引、非結構化索引文件,并查看結果; 5、將表文件關閉,再打開表和相應的索引文件,學會打開索引文件、設置當前索引。3.4.3查詢 所謂查詢,就是在表中查找用戶指定條件的記錄和字段。查詢時,我們先將記錄指針快速定位到所查記錄處,然后通過顯示命令查看數(shù)據(jù)內容。
24、Visual FoxPro 6.0提供了兩種查詢方法:一種是順序查詢;另一種是索引查詢。 1.順序查詢 順序查詢是在表文件中依次查找滿足條件的記錄。順序查詢也稱直接查詢,包括LOCATE和CONTINUE兩條命令。 格式: LOCATE范圍FOR條件WHILE條件 CONTINUE【例3.9】在XSDA表中按順序查找不是團員的所有記錄。 Close all Open database xsgl Use xsda Locate for tyf=.f. ? found() 顯示是否找到記錄 ? recno() 顯示當前記錄號 disp 顯示找到的記錄 continue 繼續(xù)查找 ? recno()
25、 disp continue ? found() ? recno() ? eof() cont ? eof() cont ? eof() 顯示是否到文件尾 2.索引查詢 索引查詢的速度很快但其算法要求表的記錄是有序的,這就需要事先對表建立索引文件,方可采用索引查詢。索引查詢的命令有FIND和SEEK,下面分別介紹。 (1)FIND命令 格式:FIND 字符串|常數(shù) (2)SEEK命令 格式:SEEK表達式 功能:在已確定當前索引的表文件中快速查找滿足表達式值的第一個記錄。 實驗五 索引、查找實驗目的:進一步熟悉索引文件的有關操作,掌握索引查找和順序查找法。實驗步驟:首先布置上機任務,提出上機中
26、應注意的問題。1. 熟悉索引文件的打開和設置當前索引的方法;2. 應用索引查找來查找字符型數(shù)據(jù)、數(shù)值型數(shù)據(jù)和日期型數(shù)據(jù)。3. 應用順序查找的方法查找各種類型的數(shù)據(jù)。3.5數(shù)據(jù)統(tǒng)計 在數(shù)據(jù)庫應用中,不僅可以對表中的信息進行各種形式的查詢,還可以對表中的數(shù)據(jù)進行各類統(tǒng)計處理。VFP提供了計數(shù)(COUNT)、求和(SUM)、求平均值(AVERAGE)和分類匯總(TOTAL)等命令,以完成數(shù)據(jù)統(tǒng)計處理工作。 3.5數(shù)據(jù)統(tǒng)計 3.5.1統(tǒng)計記錄個數(shù)命令 3.5.2求和命令 3.5.3求平均值命令 3.5.4分類匯總命令3.5.1統(tǒng)計記錄個數(shù)命令 格式:COUNT范圍FOR條件TO內存變量 功能:統(tǒng)計當前
27、表中指定范圍內滿足條件的記錄個數(shù),并存于內存變量中。 說明:范圍缺省指ALL;TO內存變量選項表示把符合條件的記錄個數(shù)保存到內存變量中去,不指定內存變量時,結果顯示在屏幕上。另外,函數(shù)RECCOUNT()返回當前表中的記錄總數(shù)?!纠?.12】統(tǒng)計xsda.dbf表中的全部記錄數(shù)。clearOpen database xsglUse xsdaCount to n? n? reccount()運行結果:993.5.2求和命令 格式:SUM范圍數(shù)值表達式表FOR條件TO內存變量表 功能:在當前表中,對指定范圍內給定條件的數(shù)值型字段或含數(shù)值型字段的數(shù)值表達式進行縱向求和計算,并把結果存放在對應的內存變
28、量表標識的變量中。 Sum cj for xh=199921608 to zf3.5.3求平均值命令 格式:AVERAGE范圍數(shù)值表達式表FOR條件TO內存變量表 功能:對當前表中指定范圍內滿足條件的數(shù)值型字段求算術平均值,并把結果存放在對應的內存變量表標識的變量中。 average cj for kcdm=2 to pj 3.5.4分類匯總命令 格式:格式:TOTAL ONTOTAL ON關鍵字TOTO文件名范圍FIELDSFIELDS字段名表FORFOR條件 功能:功能:按關鍵字對當前表文件的數(shù)值型字段進行分類合計,結果存入新生成的表文件中。 【例3.16】對xsda表按性別分類統(tǒng)計男女同
29、學的入學分總分。clearUse xsgl!xsdaIndex on xb tag 性別Total on xb to xsdarxf fields rxfUse xsdarxfList3.63.6表之間的關系表之間的關系 3.6.1工作區(qū) 3.6.2多表之間的關系式 3.6.3設置表的永久關系 3.6.4設置表的臨時關系 3.6.1工作區(qū) 1.工作區(qū)的概念 工作區(qū)就是用來存放表的內存空間。VFP提供了32767個工作區(qū),編號從1-32767。 在每個工作區(qū)可以打開一個表,即在某一時刻該工作區(qū)中只有一個表處于“工作”狀態(tài),可以對該表進行各種操作。 2.工作區(qū)的選擇打開表的同時選擇工作區(qū)格式:US
30、E IN 功能:在指定工作區(qū)打開表文件。打開表的同時指定表的別名格式:USE ALIAS注 意:命令SELECT 0表示選定當前未使用的最小工作區(qū)號。 3.工作區(qū)中數(shù)據(jù)的訪問工作區(qū)中數(shù)據(jù)的訪問 用戶可以用SELECT命令切換工作區(qū)使用不同的表,也可以在一個工作區(qū)中訪問其他工作區(qū)中的表。各工作區(qū)中的表文件記錄指針是相互獨立的,轉換工作區(qū)時不影響指針的位置,對現(xiàn)行工作區(qū)進行與其他工作區(qū)無關的操作時,其他區(qū)中的記錄指針也不會受到影響。 為了不至于混淆不同工作區(qū)中表的字段內容,VFP規(guī)定:從當前工作區(qū)對其他工作區(qū)中打開的表進行訪問時,必須在被訪問的表字段前面加上該表所在工作區(qū)的別名和連接符(.或-)。
31、3.6.2多表之間的關系式 一個數(shù)據(jù)庫中的多個表既相互獨立,又存在聯(lián)系。對數(shù)據(jù)庫的一個重要操作就是建立表之間的關系,即以其中一個表中的字段與另一個表中的同名字段建立關系。若要在數(shù)據(jù)庫表之間建立表間關系,前提是建立關系的表具有相同的字段;每個表都要以該字段建立索引。 多表之間的關系存在以下幾種類型:一對一關系、一對多關系、多對多關系表之間可以建立永久關系和臨時關系。建立的方法可通過界面方法和命令方法進行。被關聯(lián)的表為從表,發(fā)起關聯(lián)的表為主表(或父表)。3.6.3設置表的永久關系 永久關系 只能在數(shù)據(jù)庫表中建立永久關系。 1.建立永久關系的方法:在數(shù)據(jù)庫設計器中用鼠標左鍵從一個表的索引處直接拖到需
32、要建立關系的另一個表的相應索引上。 注 意: 索引是建立永久關系的前提。在一對一關系中,主表和從表均應按相同的關鍵字建立主索引或候選索引。而對于一對多關系,主表建立主索引或候選索引,而從表可以建立普通索引。 2.刪除表之間的永久關系 選中關系,按DEL鍵或右擊關系,選“刪除關系”。 3.編輯表之間的永久關系 右擊關系,選“編輯關系”。3.6.4設置表的臨時關系 表之間的永久關系建立后,在每次使用表時不需要重新建立,但永久關系不能控制不同工作區(qū)中記錄的聯(lián)動。因此,用戶可以建立臨時關系來控制表間記錄指針。在建立表間的臨時關系后,就會使得一個表(子表)的記錄指針自動隨另一個表(父表)的記錄指針移動。
33、這樣,當關系中的“一”方(或父表)選擇一個記錄時,會自動去訪問表關系中“多”方(或子表)的相關記錄。 操作步驟: (1)打開從表,并索引(設置當前索引); (2)打開主表,與從表建立臨時關系。 格式:SET RELATION TO INTO |ADDITIVE 實驗六 統(tǒng)計、計算和建立關系 實驗目的:學會統(tǒng)計記錄個數(shù)、縱向求和、縱向求平均;學會在多工作區(qū)之間進行表的操作、在表之間建立永久關系和臨時關系的方法。 實驗步驟:首先布置上機實驗任務,其次說明上機過程中容易出現(xiàn)的問題及解決的辦法。 1、統(tǒng)計滿足范圍和條件的記錄數(shù); 2、對xscj.dbf縱向求各科總和和各科平均分; 3、在多個工作區(qū)中打
34、開若干個表,選擇某工作區(qū)為當前工作區(qū),在當前工作區(qū)中訪問其它工作區(qū)中字段; 4、在xsda和xscj表之間建立永久關系; 5、在xscj和kcsz表之間建立臨時關系。3.73.7數(shù)據(jù)完整性數(shù)據(jù)完整性 在表設計器對話框中,顯示了“字段”、“索引”和“表”三個選項卡名,稱之為數(shù)據(jù)詞典。數(shù)據(jù)詞典用于保存對數(shù)據(jù)庫表中各種數(shù)據(jù)的定義或設置信息,包括表字段屬性、記錄屬性和參照完整性等。這些屬性或信息均可通過表設計器來設置、顯示或修改,并且將作為數(shù)據(jù)庫的一部分保存起來,當表從數(shù)據(jù)庫中移去,這些屬性也不再保存。 3.73.7數(shù)據(jù)完整性數(shù)據(jù)完整性 3.7.1設置表的字段屬性 3.7.2設置表的記錄屬性 3.7.3數(shù)據(jù)的完整性3.7.1設置表的字段屬性 1.顯示組框 設置表中字段的格式。 輸入掩碼。 顯示標題。 2.字段注釋 在建立數(shù)據(jù)表結構時,對字段加以注釋,可以提醒自已或其他用戶,清楚地掌握字段的屬性、意義及特殊用途等。 3.字段有效性組框 在字段有效性組框中可以定義字段的有效性規(guī)則、違反規(guī)則時的提示信息和字段的默認值。 設
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2018駕考題目及答案
- 山東省泰安市泰山中學2023-2024學年高一上學期11月期中考試物理試題
- 小腸瘺病例綜合治療
- 2025年粘土、砂石項目申請報告
- 猜想02重難點(26道題10個重難點)-2023-2024學年七年級地理上學期期末考點大串講(湘教版)
- 腎臟良性腫瘤超聲診斷與評估
- 橋梁工程基礎課件
- 哈得作業(yè)區(qū)固廢場新建工程環(huán)境影響報告書
- 塔中10油田塔中40井區(qū)開發(fā)調整方案地面工程建設項目環(huán)境影響報告表
- 2025年高壓均質設備項目申請報告模范
- 六旋翼無人機的設計(畢業(yè)設計)
- 《低段培智學生行為習慣養(yǎng)成教育的研究》小課題研究中期報告
- TC4鈦合金拉拔工藝探索
- 八年級數(shù)學上冊《平方差公式》的教學反思(優(yōu)秀3篇)
- 填石路堤沉降差檢測記錄表
- “鄉(xiāng)村振興”戰(zhàn)略應知應會試題及答案(分享)
- 衢州萬達暖通工程施工方案(最終版)
- 學校端午假期致學生家長一封信
- 遺傳自制習題答案個我
- 鏈輪齒數(shù)尺寸對照表三
- 植物生理學第九章光形態(tài)建成.ppt
評論
0/150
提交評論