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

下載本文檔

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

文檔簡介

1、第4章數(shù)據(jù)庫的創(chuàng)建和使用目 錄上一頁下一頁退 出 本本 章章 要要 點(diǎn)點(diǎn)4.1 VFP數(shù)據(jù)庫概述數(shù)據(jù)庫概述4.2 數(shù)據(jù)庫的創(chuàng)建數(shù)據(jù)庫的創(chuàng)建4.3 數(shù)據(jù)庫的使用數(shù)據(jù)庫的使用4.4 數(shù)據(jù)庫表數(shù)據(jù)庫表4.5 永久關(guān)系與參照完整性永久關(guān)系與參照完整性目 錄上一頁下一頁退 出4.1 VFP數(shù)據(jù)庫概述數(shù)據(jù)庫概述 數(shù)據(jù)庫數(shù)據(jù)庫一個容器,是許多相關(guān)的數(shù)一個容器,是許多相關(guān)的數(shù)據(jù)庫表及其關(guān)系(聯(lián)系)的集合。據(jù)庫表及其關(guān)系(聯(lián)系)的集合。 數(shù)據(jù)庫不僅包括表,還包括表之間的數(shù)據(jù)庫不僅包括表,還包括表之間的聯(lián)系。聯(lián)系。VFP提供的數(shù)據(jù)庫設(shè)計工具:提供的數(shù)據(jù)庫設(shè)計工具: 1、數(shù)據(jù)庫向?qū)?、?shù)據(jù)庫向?qū)?2、數(shù)據(jù)庫設(shè)計器、數(shù)

2、據(jù)庫設(shè)計器目 錄上一頁下一頁退 出4.2 數(shù)據(jù)庫的創(chuàng)建數(shù)據(jù)庫的創(chuàng)建創(chuàng)建一個數(shù)據(jù)庫將生成創(chuàng)建一個數(shù)據(jù)庫將生成3個文件:個文件: 數(shù)據(jù)庫文件(數(shù)據(jù)庫文件(.dbc) 數(shù)據(jù)庫備注文件(數(shù)據(jù)庫備注文件(.dct) 數(shù)據(jù)庫索引文件(數(shù)據(jù)庫索引文件(.dcx)4.2.1 數(shù)據(jù)庫的創(chuàng)建數(shù)據(jù)庫的創(chuàng)建1利用界面操作方式創(chuàng)建數(shù)據(jù)庫利用界面操作方式創(chuàng)建數(shù)據(jù)庫目 錄上一頁下一頁退 出打開已建立的打開已建立的項目文件項目文件,出現(xiàn)項目管理器,出現(xiàn)項目管理器窗口。窗口。選擇選擇 “數(shù)據(jù)數(shù)據(jù)”標(biāo)簽的標(biāo)簽的“數(shù)據(jù)庫數(shù)據(jù)庫”,然后單,然后單擊擊“新建新建”按鈕。按鈕。出現(xiàn)新建數(shù)據(jù)庫對話框,單擊出現(xiàn)新建數(shù)據(jù)庫對話框,單擊“新建數(shù)

3、據(jù)新建數(shù)據(jù)庫庫”按鈕,出現(xiàn)按鈕,出現(xiàn)“新建新建”對話框。對話框。選擇數(shù)據(jù)庫的路徑并輸入數(shù)據(jù)庫名后單擊選擇數(shù)據(jù)庫的路徑并輸入數(shù)據(jù)庫名后單擊“保存保存”按鈕,完成數(shù)據(jù)庫的建立,并打開按鈕,完成數(shù)據(jù)庫的建立,并打開該數(shù)據(jù)庫設(shè)計器。該數(shù)據(jù)庫設(shè)計器。(1)在)在“項目管理器項目管理器”窗口中新建數(shù)據(jù)庫窗口中新建數(shù)據(jù)庫目 錄上一頁下一頁退 出選擇選擇【文件】【文件】 【新建】【新建】出現(xiàn)新建對話框。出現(xiàn)新建對話框。選擇選擇“數(shù)據(jù)庫數(shù)據(jù)庫”單選按鈕,再單擊單選按鈕,再單擊“新建新建文件文件”按鈕,出現(xiàn)按鈕,出現(xiàn)“創(chuàng)建創(chuàng)建”對話框。對話框。在在“創(chuàng)建創(chuàng)建”對話框中輸入文件名。選擇對話框中輸入文件名。選擇“保存

4、保存”按鈕,系統(tǒng)自動打開數(shù)據(jù)庫文件,按鈕,系統(tǒng)自動打開數(shù)據(jù)庫文件,并且將數(shù)據(jù)庫設(shè)計器也自動打開。并且將數(shù)據(jù)庫設(shè)計器也自動打開。(2)通過)通過“新建新建”對話框創(chuàng)建對話框創(chuàng)建目 錄上一頁下一頁退 出【格式】【格式】 Create Database 數(shù)據(jù)庫文件名數(shù)據(jù)庫文件名 |?【功能】建立一個新的擴(kuò)展名為【功能】建立一個新的擴(kuò)展名為.DBC的數(shù)據(jù)的數(shù)據(jù)庫文件并打開此數(shù)據(jù)庫。庫文件并打開此數(shù)據(jù)庫?!菊f明】【說明】若省略擴(kuò)展名,則默認(rèn)為若省略擴(kuò)展名,則默認(rèn)為.DBC,同,同時也自動建立相關(guān)聯(lián)的數(shù)據(jù)庫備注文件擴(kuò)展時也自動建立相關(guān)聯(lián)的數(shù)據(jù)庫備注文件擴(kuò)展名為名為.DCT,關(guān)聯(lián)的索引文件擴(kuò)展名為,關(guān)聯(lián)的索

5、引文件擴(kuò)展名為.DCX。 保存后該數(shù)據(jù)庫文件被建立,并且自動保存后該數(shù)據(jù)庫文件被建立,并且自動打開該數(shù)據(jù)庫。打開該數(shù)據(jù)庫。 2利用命令方式創(chuàng)建數(shù)據(jù)庫利用命令方式創(chuàng)建數(shù)據(jù)庫 目 錄上一頁下一頁退 出4.2.2 數(shù)據(jù)庫的組成數(shù)據(jù)庫的組成1數(shù)據(jù)庫表數(shù)據(jù)庫表屬于一個數(shù)據(jù)庫的表。屬于一個數(shù)據(jù)庫的表。前鏈前鏈保存在保存在.dbc.dbc中的表文件名消息和路中的表文件名消息和路徑。徑。后鏈后鏈保存在保存在.dbf.dbf中的數(shù)據(jù)庫文件名消息中的數(shù)據(jù)庫文件名消息和路徑。和路徑。2視圖視圖虛表,數(shù)據(jù)源于一張或多張表。虛表,數(shù)據(jù)源于一張或多張表。分為分為本地視圖和遠(yuǎn)程視圖本地視圖和遠(yuǎn)程視圖3連接連接指定了遠(yuǎn)程數(shù)據(jù)

6、源的名稱。指定了遠(yuǎn)程數(shù)據(jù)源的名稱。4存儲過程存儲過程保存在數(shù)據(jù)庫中的過程代碼。保存在數(shù)據(jù)庫中的過程代碼。目 錄上一頁下一頁退 出4.3 數(shù)據(jù)庫的使用數(shù)據(jù)庫的使用1打開數(shù)據(jù)庫打開數(shù)據(jù)庫(1)菜單方式菜單方式選擇選擇【文件】【文件】|【打開】【打開】,出現(xiàn)打開對話框。,出現(xiàn)打開對話框。選擇數(shù)據(jù)庫文件所在的文件夾,將文件類選擇數(shù)據(jù)庫文件所在的文件夾,將文件類型選擇為型選擇為“數(shù)據(jù)庫(數(shù)據(jù)庫(.dbc)”。選擇所要打開的數(shù)據(jù)庫文件名,單擊選擇所要打開的數(shù)據(jù)庫文件名,單擊“確確定定”按鈕。按鈕。(2)利用項目管理器打開數(shù)據(jù)庫)利用項目管理器打開數(shù)據(jù)庫 打開已建立的項目文件,出現(xiàn)項目管打開已建立的項目文件

7、,出現(xiàn)項目管理器窗口,選擇理器窗口,選擇“數(shù)據(jù)數(shù)據(jù)”標(biāo)簽,選擇要打標(biāo)簽,選擇要打開的數(shù)據(jù)庫名,然后單擊開的數(shù)據(jù)庫名,然后單擊“打開打開”按鈕。按鈕。目 錄上一頁下一頁退 出(3)命令方式命令方式 P114【格式】【格式】Open Database SHARED|EXCLUSIVE【功能】【功能】將磁盤上一個擴(kuò)展名為將磁盤上一個擴(kuò)展名為.DBC的指定數(shù)據(jù)的指定數(shù)據(jù)庫文件打開。庫文件打開?!菊f明】【說明】打開一個數(shù)據(jù)庫文件,同名的打開一個數(shù)據(jù)庫文件,同名的.DCT相關(guān)相關(guān)的數(shù)據(jù)庫備份文件與的數(shù)據(jù)庫備份文件與.DCX相關(guān)的索引文件也一相關(guān)的索引文件也一起被打開。起被打開。 目 錄上一頁下一頁退 出

8、數(shù)據(jù)庫打開后,在數(shù)據(jù)庫打開后,在常用工具欄常用工具欄中可以看中可以看見當(dāng)前正在使用的數(shù)據(jù)庫名,同時當(dāng)數(shù)據(jù)庫見當(dāng)前正在使用的數(shù)據(jù)庫名,同時當(dāng)數(shù)據(jù)庫設(shè)計器為當(dāng)前窗口時,系統(tǒng)菜單上出現(xiàn)【數(shù)設(shè)計器為當(dāng)前窗口時,系統(tǒng)菜單上出現(xiàn)【數(shù)據(jù)庫】菜單項。據(jù)庫】菜單項。注意:注意:在數(shù)據(jù)庫被打開的情況下,它所包含的在數(shù)據(jù)庫被打開的情況下,它所包含的所有表可以使用。但是,表并沒有被真正打所有表可以使用。但是,表并沒有被真正打開,用戶要打開它,仍要用開,用戶要打開它,仍要用USE命令。命令。目 錄上一頁下一頁退 出(1)使用)使用項目管理器關(guān)閉數(shù)據(jù)庫項目管理器關(guān)閉數(shù)據(jù)庫 打開已建立的項目文件,出現(xiàn)項目管理打開已建立的項

9、目文件,出現(xiàn)項目管理器窗口,選擇器窗口,選擇“數(shù)據(jù)數(shù)據(jù)”標(biāo)簽,選擇標(biāo)簽,選擇“數(shù)據(jù)庫數(shù)據(jù)庫”下面需要關(guān)閉的數(shù)據(jù)庫名,然后單擊下面需要關(guān)閉的數(shù)據(jù)庫名,然后單擊“關(guān)閉關(guān)閉”按鈕。在常用工具欄上的當(dāng)前數(shù)據(jù)庫下拉列按鈕。在常用工具欄上的當(dāng)前數(shù)據(jù)庫下拉列表框中該數(shù)據(jù)庫名消失,同時在項目管理器表框中該數(shù)據(jù)庫名消失,同時在項目管理器中中“關(guān)閉關(guān)閉”按鈕變成按鈕變成“打開打開”按鈕。按鈕。2關(guān)閉數(shù)據(jù)庫關(guān)閉數(shù)據(jù)庫目 錄上一頁下一頁退 出(2)命令方式命令方式【格式【格式1】CLOSE DATABASE【功能】【功能】關(guān)閉當(dāng)前打開的數(shù)據(jù)庫。關(guān)閉當(dāng)前打開的數(shù)據(jù)庫?!靖袷健靖袷?】CLOSE ALL【功能【功能】選】

10、選ALL將關(guān)閉所有區(qū)打開的所有數(shù)將關(guān)閉所有區(qū)打開的所有數(shù)據(jù)庫文件及其數(shù)據(jù)表、自由表以及各類文件。據(jù)庫文件及其數(shù)據(jù)表、自由表以及各類文件。目 錄上一頁下一頁退 出(1)命令方式)命令方式【格式】【格式】 Delete Database 【 功 能 】【 功 能 】 從 磁 盤 上 刪 除 指 定 的 數(shù) 據(jù) 庫 文 件從 磁 盤 上 刪 除 指 定 的 數(shù) 據(jù) 庫 文 件(.DBC,.DCT,.DCX全刪)。全刪)。被刪除的數(shù)據(jù)庫中被刪除的數(shù)據(jù)庫中的表成為自由表。的表成為自由表。【說明】【說明】被刪除的數(shù)據(jù)庫不能處于打開狀態(tài)。被刪除的數(shù)據(jù)庫不能處于打開狀態(tài)。 若從磁盤上刪除數(shù)據(jù)庫文件,則數(shù)據(jù)庫中

11、若從磁盤上刪除數(shù)據(jù)庫文件,則數(shù)據(jù)庫中的表仍保留著對數(shù)據(jù)庫的引用,不能成為自由表。的表仍保留著對數(shù)據(jù)庫的引用,不能成為自由表。 3刪除數(shù)據(jù)庫刪除數(shù)據(jù)庫目 錄上一頁下一頁退 出(2)使用項目管理器使用項目管理器 打開已建立的項目文件,出現(xiàn)項目管打開已建立的項目文件,出現(xiàn)項目管理器窗口,單擊理器窗口,單擊“數(shù)據(jù)數(shù)據(jù)”標(biāo)簽,選擇要刪標(biāo)簽,選擇要刪除的除的“數(shù)據(jù)庫數(shù)據(jù)庫”,然后單擊,然后單擊“移去移去”按鈕。按鈕。 出現(xiàn)選擇對話框,若選擇出現(xiàn)選擇對話框,若選擇“移去移去”僅僅將數(shù)據(jù)庫從項目中移去,若選擇將數(shù)據(jù)庫從項目中移去,若選擇“刪除刪除”將從磁盤上刪除數(shù)據(jù)庫。將從磁盤上刪除數(shù)據(jù)庫。被刪除的數(shù)據(jù)庫被刪

12、除的數(shù)據(jù)庫中的表成為自由表。中的表成為自由表。目 錄上一頁下一頁退 出 4修改數(shù)據(jù)庫修改數(shù)據(jù)庫【格式】【格式】 Modify Database 數(shù)據(jù)庫名數(shù)據(jù)庫名【功能】【功能】打開數(shù)據(jù)庫設(shè)計器供用戶修改當(dāng)前打開數(shù)據(jù)庫設(shè)計器供用戶修改當(dāng)前數(shù)據(jù)庫。數(shù)據(jù)庫。目 錄上一頁下一頁退 出5、改變當(dāng)前數(shù)據(jù)庫、改變當(dāng)前數(shù)據(jù)庫【格式】【格式】 Set Database To 數(shù)據(jù)庫名數(shù)據(jù)庫名【功能】【功能】將指定的數(shù)據(jù)庫設(shè)置為當(dāng)前數(shù)據(jù)庫。將指定的數(shù)據(jù)庫設(shè)置為當(dāng)前數(shù)據(jù)庫?!菊f明】【說明】1、指定的數(shù)據(jù)庫必須已經(jīng)打開。、指定的數(shù)據(jù)庫必須已經(jīng)打開。 2、可以同時打開多個數(shù)據(jù)庫,但、可以同時打開多個數(shù)據(jù)庫,但只有一個可

13、能成為當(dāng)前數(shù)據(jù)庫。只有一個可能成為當(dāng)前數(shù)據(jù)庫。 3、若省略數(shù)據(jù)庫名,則打開的數(shù)、若省略數(shù)據(jù)庫名,則打開的數(shù)據(jù)庫都不會成為當(dāng)前數(shù)據(jù)庫。據(jù)庫都不會成為當(dāng)前數(shù)據(jù)庫。目 錄上一頁下一頁退 出6、整理數(shù)據(jù)庫、整理數(shù)據(jù)庫【格式】【格式】 Pack Database【功能】【功能】整理數(shù)據(jù)庫整理數(shù)據(jù)庫【說明】【說明】當(dāng)前數(shù)據(jù)庫必須以獨(dú)占方式打開,當(dāng)前數(shù)據(jù)庫必須以獨(dú)占方式打開,否則報錯。且數(shù)據(jù)庫中不能打開任何表或否則報錯。且數(shù)據(jù)庫中不能打開任何表或視圖。視圖。目 錄上一頁下一頁退 出4.4 數(shù)據(jù)庫表數(shù)據(jù)庫表4.4.1 數(shù)據(jù)庫表的創(chuàng)建數(shù)據(jù)庫表的創(chuàng)建1通過界面操作創(chuàng)建數(shù)據(jù)庫表通過界面操作創(chuàng)建數(shù)據(jù)庫表利用利用“項目

14、管理器項目管理器”利用利用“數(shù)據(jù)庫設(shè)計器數(shù)據(jù)庫設(shè)計器”工具欄上的工具欄上的“新建表新建表”按鈕按鈕菜單命令菜單命令“新建新建 /文件文件”2利用命令方式創(chuàng)建數(shù)據(jù)庫利用命令方式創(chuàng)建數(shù)據(jù)庫CREATE TABLECREATE TABLE-SQL命令命令目 錄上一頁下一頁退 出4.4.2 數(shù)據(jù)庫表的添加數(shù)據(jù)庫表的添加【格式】【格式】 Add Table Name 【功能】【功能】將指定的自由表添加到當(dāng)前數(shù)據(jù)庫將指定的自由表添加到當(dāng)前數(shù)據(jù)庫中,并命名長表名。中,并命名長表名?!菊f明】【說明】1、一個表只能屬于一個數(shù)據(jù)庫。、一個表只能屬于一個數(shù)據(jù)庫。 2、數(shù)據(jù)庫必須以獨(dú)占方式打開。、數(shù)據(jù)庫必須以獨(dú)占方式

15、打開。目 錄上一頁下一頁退 出4.4.3 移去數(shù)據(jù)庫表移去數(shù)據(jù)庫表【格式】【格式】 Remove Table Delete【功能】【功能】將當(dāng)前數(shù)據(jù)庫中指定的表移去。將當(dāng)前數(shù)據(jù)庫中指定的表移去?!菊f明】【說明】1、DELETE:移去表的同時從磁:移去表的同時從磁盤上刪除該表。盤上刪除該表。 2、從數(shù)據(jù)庫中移去表后,與該表、從數(shù)據(jù)庫中移去表后,與該表有關(guān)的規(guī)則、關(guān)系不再有效。有關(guān)的規(guī)則、關(guān)系不再有效。 3、表移去后就成為自由表。、表移去后就成為自由表。目 錄上一頁下一頁退 出4.4.4 轉(zhuǎn)成自由表轉(zhuǎn)成自由表【格式】【格式】 Free Table 【功能】【功能】從一個表中對刪除數(shù)據(jù)庫的引用,即從

16、一個表中對刪除數(shù)據(jù)庫的引用,即刪除后鏈刪除后鏈?!菊f明】【說明】若偶然從磁盤上刪除了一個數(shù)據(jù)庫文若偶然從磁盤上刪除了一個數(shù)據(jù)庫文件,該數(shù)據(jù)庫中的表仍保留著對數(shù)據(jù)庫的引件,該數(shù)據(jù)庫中的表仍保留著對數(shù)據(jù)庫的引用,使用該命令可以從一個表中刪除對數(shù)據(jù)用,使用該命令可以從一個表中刪除對數(shù)據(jù)庫的引用,允許打開該表或?qū)⒃摫硖砑拥狡鋷斓囊?,允許打開該表或?qū)⒃摫硖砑拥狡渌麛?shù)據(jù)庫中。他數(shù)據(jù)庫中。目 錄上一頁下一頁退 出4.4.5 改表名改表名【格式】【格式】 Rename Table To 【功能】【功能】將指定的表的長表名改成新長表名。將指定的表的長表名改成新長表名。【說明】【說明】1、改表名前必須先以獨(dú)占方

17、式打、改表名前必須先以獨(dú)占方式打開包含表的數(shù)據(jù)庫,且將其設(shè)置為當(dāng)前數(shù)開包含表的數(shù)據(jù)庫,且將其設(shè)置為當(dāng)前數(shù)據(jù)庫。據(jù)庫。 2、該命令不能用來更改自由表的名稱。、該命令不能用來更改自由表的名稱。目 錄上一頁下一頁退 出4.4.6 數(shù)據(jù)庫表的字段擴(kuò)展屬性數(shù)據(jù)庫表的字段擴(kuò)展屬性1 1字段顯示屬性字段顯示屬性(1 1)字段的格式)字段的格式【舉例】【舉例】 xsxs表中的表中的xhxh(學(xué)號)的格式:(學(xué)號)的格式:T!T!。(2 2)輸入掩碼)輸入掩碼【舉例】【舉例】 jsjs表中的表中的jbgzjbgz(基本工資)的輸入掩(基本工資)的輸入掩碼:碼:9999,999.99999.99。(3 3)字段的

18、標(biāo)題和注釋)字段的標(biāo)題和注釋【舉例】【舉例】 xsxs表中的表中的xhxh(學(xué)號)的標(biāo)題:學(xué)號,(學(xué)號)的標(biāo)題:學(xué)號,注釋:學(xué)生的學(xué)號。注釋:學(xué)生的學(xué)號。目 錄上一頁下一頁退 出2 2字段驗證字段驗證(1 1)字段有效性規(guī)則和有效性信息)字段有效性規(guī)則和有效性信息【舉例】【舉例】xsxs表中的表中的xhxh(學(xué)號)的有效性規(guī)則:(學(xué)號)的有效性規(guī)則:LEN(ALLTRIM(xh)=6LEN(ALLTRIM(xh)=6,有效性信息:學(xué)號必,有效性信息:學(xué)號必須為須為6 6位。位。(2 2)默認(rèn)值)默認(rèn)值【舉例【舉例 】 xsxs表中的表中的xbxb(性別)的默認(rèn)值:(性別)的默認(rèn)值:女女。目 錄

19、上一頁下一頁退 出4.4.7 數(shù)據(jù)庫表的屬性數(shù)據(jù)庫表的屬性1 1長表名與表注釋長表名與表注釋2 2記錄驗證記錄驗證 P101P101字段有效性規(guī)則字段有效性規(guī)則:僅對當(dāng)前字段有效:僅對當(dāng)前字段有效; ;記錄有效性規(guī)則:記錄有效性規(guī)則:校驗多個字段之間的關(guān)系是校驗多個字段之間的關(guān)系是否滿足某種規(guī)則。否滿足某種規(guī)則?!九e例】【舉例】 P102P102ALTER TABLE js SET CHECK gzrqcsrq ERROR ALTER TABLE js SET CHECK gzrqcsrq ERROR 出生日期必須大于工作日期出生日期必須大于工作日期目 錄上一頁下一頁退 出3 3表的觸發(fā)器表的

20、觸發(fā)器觸發(fā)器觸發(fā)器綁定在表上的邏輯表達(dá)式,表在插綁定在表上的邏輯表達(dá)式,表在插入、更新或刪除記錄時進(jìn)行的檢驗規(guī)則。入、更新或刪除記錄時進(jìn)行的檢驗規(guī)則。種類:插入觸發(fā)器、更新觸發(fā)器、刪除觸發(fā)器。種類:插入觸發(fā)器、更新觸發(fā)器、刪除觸發(fā)器?!九e例】【舉例】在學(xué)生表中創(chuàng)建一個刪除觸發(fā)器以防在學(xué)生表中創(chuàng)建一個刪除觸發(fā)器以防止刪除記錄。止刪除記錄。CREATE TRIGGER ON xs FOR DELETE AS .F.CREATE TRIGGER ON xs FOR DELETE AS .F.目 錄上一頁下一頁退 出4.5 表間關(guān)系與參照完整性表間關(guān)系與參照完整性4.5.1 表之間的關(guān)系表之間的關(guān)系1

21、關(guān)系的種類關(guān)系的種類(1)一對一關(guān)系)一對一關(guān)系 實(shí)際不常使用,因為兩張表的信息可以實(shí)際不常使用,因為兩張表的信息可以合并成一張表。合并成一張表。(2)一對多關(guān)系)一對多關(guān)系【舉例】學(xué)生表與成績表之間?!九e例】學(xué)生表與成績表之間。目 錄上一頁下一頁退 出(3)多對多關(guān)系)多對多關(guān)系【舉例】學(xué)生表與課程表之間?!九e例】學(xué)生表與課程表之間。 多對多關(guān)系不能直接利用,要建立多對多關(guān)系不能直接利用,要建立“紐紐帶表帶表”。即把一個多對多關(guān)系轉(zhuǎn)變成兩個一。即把一個多對多關(guān)系轉(zhuǎn)變成兩個一對多關(guān)系。對多關(guān)系。目 錄上一頁下一頁退 出4.6.2 表之間的臨時關(guān)系表之間的臨時關(guān)系 在一個應(yīng)用程序中使用多個表時,

22、往往會在一個應(yīng)用程序中使用多個表時,往往會希望希望一個表(子表)的記錄指針能自動隨另一個表(子表)的記錄指針能自動隨另一個表(父表)的記錄指針移動一個表(父表)的記錄指針移動。 在在VFPVFP中用戶可以通過在表間建立臨時關(guān)中用戶可以通過在表間建立臨時關(guān)聯(lián)來實(shí)現(xiàn)這種功能。所謂聯(lián)來實(shí)現(xiàn)這種功能。所謂臨時關(guān)系臨時關(guān)系是指這種是指這種關(guān)系是臨時性的,一旦退出操作,不會保留關(guān)系是臨時性的,一旦退出操作,不會保留所建立的關(guān)聯(lián),在每次使用表時都需要重新所建立的關(guān)聯(lián),在每次使用表時都需要重新創(chuàng)建。創(chuàng)建。目 錄上一頁下一頁退 出一、表之間的臨時關(guān)系的建立一、表之間的臨時關(guān)系的建立建立臨時關(guān)聯(lián)的方法有兩種:建立

23、臨時關(guān)聯(lián)的方法有兩種:一種是利用一種是利用“數(shù)據(jù)工作區(qū)數(shù)據(jù)工作區(qū)”窗口,即菜單方式窗口,即菜單方式另一種是使用另一種是使用SET RELATIONSET RELATION命令命令。兩表要有相。兩表要有相同關(guān)聯(lián)字的字段,并要求子表按關(guān)聯(lián)字段建同關(guān)聯(lián)字的字段,并要求子表按關(guān)聯(lián)字段建立索引且指定主索引標(biāo)記。立索引且指定主索引標(biāo)記。 目 錄上一頁下一頁退 出1 1、菜單方式、菜單方式 (1 1)單擊菜單中)單擊菜單中“窗口窗口”中的中的“數(shù)據(jù)工作期數(shù)據(jù)工作期”命命令打開工作區(qū)窗口,在該窗口中用令打開工作區(qū)窗口,在該窗口中用“打開打開”按鈕按鈕將準(zhǔn)備建立臨時關(guān)系的表打開。將準(zhǔn)備建立臨時關(guān)系的表打開。(2

24、 2)首先選定一個)首先選定一個父表父表,然后單擊,然后單擊“關(guān)系關(guān)系”按鈕,按鈕,接著再選定另一個表(接著再選定另一個表(子表子表),彈出),彈出“設(shè)置索引設(shè)置索引順序順序”對話框,在已建立的索引中選擇索引標(biāo)識。對話框,在已建立的索引中選擇索引標(biāo)識。按按“確定確定”后,彈出后,彈出“表達(dá)式生成器表達(dá)式生成器”對話框,對話框,在其中需要在其中需要設(shè)置用于建立關(guān)系的表達(dá)式(一般是設(shè)置用于建立關(guān)系的表達(dá)式(一般是兩表中的共同字段)。兩表中的共同字段)。在確定了該表達(dá)式后,便在確定了該表達(dá)式后,便完成了在這兩個表之間建立關(guān)系的工作。完成了在這兩個表之間建立關(guān)系的工作。 目 錄上一頁下一頁退 出2 2

25、、命令方式、命令方式【格式一】【格式一】 Set Relation To 關(guān)鍵字表達(dá)式關(guān)鍵字表達(dá)式 INTO 工作區(qū)別名工作區(qū)別名| |子表別名子表別名 【功能】【功能】建立當(dāng)前工作表(父表)與另外工作區(qū)打開建立當(dāng)前工作表(父表)與另外工作區(qū)打開的表(子表)的關(guān)聯(lián)。的表(子表)的關(guān)聯(lián)。 【說明】【說明】 不選任何可選項是取消聯(lián)系。父表可以不選任何可選項是取消聯(lián)系。父表可以與多個子表建立聯(lián)系。與多個子表建立聯(lián)系。要求要求子表子表必須按關(guān)鍵字表達(dá)式中的關(guān)鍵字段建立索必須按關(guān)鍵字表達(dá)式中的關(guān)鍵字段建立索引,且被指定為引,且被指定為主控索引主控索引標(biāo)記。標(biāo)記。目 錄上一頁下一頁退 出4.6.2 表之間

26、的永久關(guān)系表之間的永久關(guān)系 永久關(guān)系永久關(guān)系數(shù)據(jù)庫表之間的關(guān)系,一數(shù)據(jù)庫表之間的關(guān)系,一旦建立,永久保存在數(shù)據(jù)庫中。旦建立,永久保存在數(shù)據(jù)庫中。 永久關(guān)系根據(jù)表的索引建立。永久關(guān)系根據(jù)表的索引建立。P107方法:方法: 在在“數(shù)據(jù)庫設(shè)計器數(shù)據(jù)庫設(shè)計器”窗口中窗口中,將將主(父)主(父)表的主(或候選)索引標(biāo)識表的主(或候選)索引標(biāo)識拖放拖放到相關(guān)(或到相關(guān)(或子)表的普通(或唯一)索引標(biāo)識上。子)表的普通(或唯一)索引標(biāo)識上?!九e例】【舉例】在學(xué)生表(在學(xué)生表(xs.dbfxs.dbf)和成績表)和成績表(cj.dbf)(cj.dbf)之間創(chuàng)建永久關(guān)系(一對多關(guān)系)。之間創(chuàng)建永久關(guān)系(一對多關(guān)系)。目 錄上一頁下一頁退 出4.6.3 參照完整性參照完整性 數(shù)據(jù)的完整性數(shù)據(jù)的完整性數(shù)據(jù)的正確性和相容性。數(shù)據(jù)的正確性和相容性。 參照完整性參照完整性數(shù)據(jù)庫完整性控制的一種,數(shù)據(jù)庫完整性控制的一種,控制相關(guān)表之間的控制相關(guān)表之間的主關(guān)鍵字和外部關(guān)鍵字主關(guān)鍵字和外部關(guān)鍵字之間之間數(shù)據(jù)一致性的

溫馨提示

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

評論

0/150

提交評論