第4章 數(shù)據(jù)庫(kù)的創(chuàng)建與操作.ppt_第1頁(yè)
第4章 數(shù)據(jù)庫(kù)的創(chuàng)建與操作.ppt_第2頁(yè)
第4章 數(shù)據(jù)庫(kù)的創(chuàng)建與操作.ppt_第3頁(yè)
第4章 數(shù)據(jù)庫(kù)的創(chuàng)建與操作.ppt_第4頁(yè)
第4章 數(shù)據(jù)庫(kù)的創(chuàng)建與操作.ppt_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第4章 數(shù)據(jù)庫(kù)的創(chuàng)建與操作,遼東學(xué)院信息技術(shù)學(xué)院 崔曉斐,信息技術(shù)學(xué)院 崔曉斐 制作,復(fù) 習(xí),結(jié)構(gòu)復(fù)合索引文件 表設(shè)計(jì)器建立:可以建立四種索引 命令方式建立:不能建立主索引 INDEX ON 索引關(guān)鍵字 TAG 索引名 OF 非結(jié)構(gòu)復(fù)合索引文件名 FOR 條件 Ascending/Descending Unique/Candidate 結(jié)構(gòu)復(fù)合索引文件特征: 指定主控索引:Set order to 索引名,信息技術(shù)學(xué)院 崔曉斐 制作,查找 順序查詢(條件定位):locate for 條件 , continue 索引查詢:seek 表達(dá)式 &注意定界符 分類匯總命令:先建立索引,再匯總 TOTA

2、L ON FIELDS FieldName FOR 條件 TO 表的關(guān)聯(lián) Set relation to 索引字段名 into 子表名,信息技術(shù)學(xué)院 崔曉斐 制作,本章基本內(nèi)容 4.1 數(shù)據(jù)庫(kù)的操作 4.2 數(shù)據(jù)庫(kù)表與自由表 4.3 數(shù)據(jù)字典的使用,信息技術(shù)學(xué)院 崔曉斐 制作,4.1 數(shù)據(jù)庫(kù)的基本操作,一、創(chuàng)建數(shù)據(jù)庫(kù) 建立數(shù)據(jù)庫(kù)的常用方法有以下三種:數(shù)據(jù)庫(kù)擴(kuò)展名:.dbc 1、在項(xiàng)目管理器中建立數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)/新建 2、通過(guò)“新建”對(duì)話框建立數(shù)據(jù)庫(kù):新建/文件/數(shù)據(jù)庫(kù)新建文件 3、使用命令交互建立數(shù)據(jù)庫(kù) Create Database DatabaseName?,信息技術(shù)學(xué)院 崔曉斐 制作,二

3、、打開(kāi)數(shù)據(jù)庫(kù) 在數(shù)據(jù)庫(kù)中建立表或使用數(shù)據(jù)庫(kù)中的表時(shí),都必須先打開(kāi)數(shù)據(jù)庫(kù),與建立數(shù)據(jù)庫(kù)類似,常用的打開(kāi)數(shù)據(jù)庫(kù)的方式也有三種: 在項(xiàng)目管理器中打開(kāi)數(shù)據(jù)庫(kù):選擇數(shù)據(jù)庫(kù)名/打開(kāi); 通過(guò)“打開(kāi)”對(duì)話框打開(kāi)數(shù)據(jù)庫(kù):文件/打開(kāi); 使用命令打開(kāi)數(shù)據(jù)庫(kù): Open Database 數(shù)據(jù)庫(kù)名 三、設(shè)置當(dāng)前數(shù)據(jù)庫(kù):用鼠標(biāo)選擇,信息技術(shù)學(xué)院 崔曉斐 制作,四、修改數(shù)據(jù)庫(kù) 可以用以下三種方法打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器: 從項(xiàng)目管理器中打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器:數(shù)據(jù)庫(kù)名/修改 從“打開(kāi)”對(duì)話框中打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器:文件/打開(kāi); 使用命令打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器:Modify Database 數(shù)據(jù)庫(kù)名,信息技術(shù)學(xué)院 崔曉斐 制作,五、刪除數(shù)據(jù)庫(kù)(

4、不能刪除當(dāng)前數(shù)據(jù)庫(kù)) 如果一個(gè)數(shù)據(jù)庫(kù)不再使用了隨時(shí)都可以刪除,一般可以在項(xiàng)目管理器中刪除數(shù)據(jù)庫(kù),也可以用命令刪除數(shù)據(jù)庫(kù): Delete Database 數(shù)據(jù)庫(kù)名 注意:被刪除的數(shù)據(jù)庫(kù)應(yīng)是關(guān)閉的 六、關(guān)閉數(shù)據(jù)庫(kù) Close Database all 或 close all all:此選項(xiàng)可以關(guān)閉所有打開(kāi)的數(shù)據(jù)庫(kù),信息技術(shù)學(xué)院 崔曉斐 制作,4.2 數(shù)據(jù)庫(kù)表的基本操作,一、數(shù)據(jù)庫(kù)表與自由表 所謂自由表就是那些不屬于任何數(shù)據(jù)庫(kù)的表,所有由FoxBASE或早期版本的FoxPro創(chuàng)建的數(shù)據(jù)庫(kù)文件(.dbf)都是自由表。在Visual FoxPro中創(chuàng)建表時(shí),如果當(dāng)前沒(méi)有打開(kāi)數(shù)據(jù)庫(kù),則創(chuàng)建的表也是自由表

5、??梢詫⒆杂杀硖砑拥綌?shù)據(jù)庫(kù)中,使之成為數(shù)據(jù)庫(kù)表;也可以將數(shù)據(jù)庫(kù)表從數(shù)據(jù)庫(kù)中移出,使之成為自由表。,信息技術(shù)學(xué)院 崔曉斐 制作,當(dāng)沒(méi)有數(shù)據(jù)庫(kù)打開(kāi)時(shí),建立的表就是自由表。事實(shí)上,數(shù)據(jù)庫(kù)表與自由表相比,數(shù)據(jù)庫(kù)表具有如下特點(diǎn): 數(shù)據(jù)庫(kù)表可以使用長(zhǎng)表名,在表中可以使用長(zhǎng)字段名; 可以為數(shù)據(jù)庫(kù)表中的字段指定標(biāo)題和添加注釋; 可以為數(shù)據(jù)庫(kù)表的字段指定默認(rèn)值和輸入掩碼; 數(shù)據(jù)庫(kù)表的字段有默認(rèn)的控件類; 可以為數(shù)據(jù)庫(kù)表規(guī)定字段級(jí)規(guī)則和記錄級(jí)規(guī)則; 數(shù)據(jù)庫(kù)表支持主關(guān)鍵字、參照完整性和表之間的聯(lián)系; 支持INSERT、UPDATE和DELETE事件的觸發(fā)器。 在Visual FoxPro中保留了自由表的概念,完全是

6、為了兼容早期的軟件版本。建議盡量使用數(shù)據(jù)庫(kù)表。,信息技術(shù)學(xué)院 崔曉斐 制作,二、將自由表添加到數(shù)據(jù)庫(kù) 在項(xiàng)目管理器或數(shù)據(jù)庫(kù)設(shè)計(jì)器中可以將自由表添加到數(shù)據(jù)庫(kù)中。 在項(xiàng)目管理器中:將要添加自由表的數(shù)據(jù)庫(kù)展開(kāi)至表,并確認(rèn)當(dāng)前選擇了“表”。單擊“添加”按鈕,然后從彈出的“打開(kāi)”對(duì)話框中選擇要添加到當(dāng)前數(shù)據(jù)庫(kù)的自由表,即擴(kuò)展名為.dbf的文件。 在數(shù)據(jù)庫(kù)設(shè)計(jì)器中:可以從“數(shù)據(jù)庫(kù)”菜單中選擇“添加表”,然后從“打開(kāi)”對(duì)話框中選擇要添加到當(dāng)前數(shù)據(jù)庫(kù)的自由表。 用ADD TABLE命令:添加一個(gè)自由表到當(dāng)前數(shù)據(jù)庫(kù)中: ADD TABLE TableNamel ?NAME LongTableName 注意:一個(gè)

7、表只能屬于一個(gè)數(shù)據(jù)庫(kù),當(dāng)一個(gè)自由表添加到某個(gè)數(shù)據(jù)庫(kù)后就不再是自由表了,所以不能把已經(jīng)屬于某個(gè)數(shù)據(jù)庫(kù)的表添加到當(dāng)前數(shù)據(jù)庫(kù),否則會(huì)有出錯(cuò)提示。,信息技術(shù)學(xué)院 崔曉斐 制作,三、從數(shù)據(jù)庫(kù)中移出表 當(dāng)數(shù)據(jù)庫(kù)不再使用某個(gè)表,而其他數(shù)據(jù)庫(kù)要使用該表時(shí),必須將該表將數(shù)據(jù)庫(kù)中移出,使之成為自由表。 在項(xiàng)目管理器中:將數(shù)據(jù)庫(kù)下的表展開(kāi),并選擇所要移出的具體表,接著單擊“移去”按鈕,彈出提示對(duì)話框,從中選擇“移去”即可。 在數(shù)據(jù)庫(kù)設(shè)計(jì)器中:要移出一個(gè)表,首先選擇該表,然后可以從“數(shù)據(jù)庫(kù)”菜單中選擇“移去”,或者單擊鼠標(biāo)右鍵從快捷菜單中選擇“刪除”,最后從提示的對(duì)話框中選擇“移去”即可。 將一個(gè)表從數(shù)據(jù)庫(kù)中移出命令

8、: REMOVE TABLE TableName?DELETERECYCLE,信息技術(shù)學(xué)院 崔曉斐 制作,問(wèn) 題,數(shù)據(jù)庫(kù)已經(jīng)打開(kāi),但是數(shù)據(jù)庫(kù)設(shè)計(jì)器沒(méi)打開(kāi),現(xiàn)在用命令“create”或“新建-表”建立一個(gè)表,則這個(gè)表屬于自由表還是數(shù)據(jù)庫(kù)表?,信息技術(shù)學(xué)院 崔曉斐 制作,4.3 數(shù)據(jù)字典的使用,數(shù)據(jù)字典用于保存對(duì)數(shù)據(jù)庫(kù)表中各種數(shù)據(jù)的定義或設(shè)置信息,包括表的屬性、字段屬性、記錄規(guī)則、表間關(guān)系和參照完整性。 一、設(shè)置表中字段屬性 打開(kāi)表設(shè)計(jì)器,可以對(duì)每個(gè)字段添加 “顯示”組框 格式:是字段內(nèi)容的輸入或顯示格式。A表示僅輸入字母;!表示自動(dòng)轉(zhuǎn)換字母為大寫(xiě);A!輸入字母且自動(dòng)轉(zhuǎn)為大寫(xiě)。,信息技術(shù)學(xué)院 崔曉

9、斐 制作,輸入掩碼:用以限制或控制用戶輸入的格式,a字母;9數(shù)字 標(biāo)題:用新的名稱代替字段名顯示 字段注釋:便于日后或其它人對(duì)數(shù)據(jù)庫(kù)進(jìn)行維護(hù) 字段有效規(guī)則 規(guī)則:字段或字段之間的有效性檢驗(yàn),邏輯表達(dá)式 信息:當(dāng)違反有效性規(guī)則時(shí),用戶自定義提示的信息 默認(rèn)值:定義字段的初始值,信息技術(shù)學(xué)院 崔曉斐 制作,二設(shè)置表的記錄屬性 1. 記錄有效性組框 記錄有效性檢查規(guī)則用于檢查同一記錄中不同字段之間的邏輯關(guān)系,這可以控制記錄數(shù)據(jù)的完整性。只有輸入滿足記錄規(guī)則的記錄,光標(biāo)才可以移開(kāi)當(dāng)前記錄。其設(shè)置包括兩個(gè)方面,即驗(yàn)證規(guī)則的設(shè)置和出錯(cuò)信息的設(shè)置。 (1)驗(yàn)證規(guī)則:驗(yàn)證規(guī)則可在“規(guī)則”文本框中直接可輸入記錄

10、級(jí)有效性檢查規(guī)則,光標(biāo)離開(kāi)當(dāng)前記錄時(shí)進(jìn)行校驗(yàn)。 (2)出錯(cuò)信息:出錯(cuò)信息可在“信息” 文本框處直接輸入。在進(jìn)行記錄級(jí)有效性規(guī)則驗(yàn)證時(shí),若發(fā)現(xiàn)輸入與規(guī)則不符時(shí)該信息將會(huì)顯示出來(lái)。,信息技術(shù)學(xué)院 崔曉斐 制作,2記錄觸發(fā)器組框 記錄的觸發(fā)器指的是在執(zhí)行與記錄有關(guān)的操作時(shí)應(yīng)遵循的規(guī)則或條件。在Visual FoxPro 中記錄的觸發(fā)器分為3種,即插入觸發(fā)器、更新觸發(fā)器和刪除觸發(fā)器,可分別在相應(yīng)的文本框處進(jìn)行設(shè)置。 插入觸發(fā)器:用于指定一個(gè)規(guī)則,每次向表中插入或追加記錄時(shí)該規(guī)則被觸發(fā),據(jù)此檢查插入的記錄是否滿足規(guī)則。 更新觸發(fā)器:用于指定一個(gè)規(guī)則,每次更新記錄時(shí)觸發(fā)該規(guī)則。 刪除觸發(fā)器:用于指定一個(gè)規(guī)

11、則,每次刪除表中記錄(打上刪除標(biāo)記)時(shí)觸發(fā)該規(guī)則。,信息技術(shù)學(xué)院 崔曉斐 制作,記錄規(guī)則:性別=“女” and year(出生日期)1989 or 性別=“男” and year(出生日期)1991 記錄出錯(cuò)信息:“所有的女生都是1989年以前出生的,所有的男生都是1991年以前出生的” 插入觸發(fā)器:substr(學(xué)號(hào),7,2)“19” 更新觸發(fā)器:year(出生日期)=1987 刪除觸發(fā)器:len(alltrim(姓名)=0 例: 將學(xué)生信息表的”性別”字段默認(rèn)值設(shè)為”女” 將學(xué)生信息表的”出生日期”字段的有效性規(guī)則設(shè)為1985年以后出生日期有效,如果輸入1985年以前的出生日期將出現(xiàn)錯(cuò)誤提

12、示:”學(xué)生必須是1985年以后出生的”.,信息技術(shù)學(xué)院 崔曉斐 制作,三、永久關(guān)系的設(shè)置 一個(gè)數(shù)據(jù)庫(kù)可以包含多個(gè)表,這些屬于同一個(gè)數(shù)據(jù)庫(kù)的表通常有一定的關(guān)系 1永久關(guān)系的建立 在數(shù)據(jù)庫(kù)設(shè)計(jì)器中建立永久關(guān)系,可按如下步驟進(jìn)行: (1)打開(kāi)數(shù)據(jù)庫(kù)文件,進(jìn)入“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口。 (2)建立索引 一對(duì)一的關(guān)系:建立聯(lián)系的兩個(gè)表具有相同屬性的字段,父表的索引應(yīng)建立為主索引或候選索引,而子表的索引應(yīng)建立為候選索引。 一對(duì)多的關(guān)系:建立聯(lián)系的兩個(gè)表具有相同屬性的字段,父表的索引應(yīng)建立為主索引或候選索引,而子表的索引應(yīng)建立普通索引。,信息技術(shù)學(xué)院 崔曉斐 制作,(3)建立表間關(guān)系 只需在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口

13、中將父表的主索引或候選索引字段拖放到子表中與其相匹配的索引上即可。此時(shí),數(shù)據(jù)庫(kù)中的兩個(gè)表間就有了一條相應(yīng)的“連線”,表示永久關(guān)系已經(jīng)建立成功。 2編輯表之間的永久關(guān)系 若在建立關(guān)系時(shí)操作有誤,可以通過(guò)“編輯關(guān)系”對(duì)話框進(jìn)行修改。方法是:將鼠標(biāo)箭頭指向表的關(guān)系連線,單擊鼠標(biāo)左鍵使連線變粗,然后單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“編輯關(guān)系”,即彈出“編輯關(guān)系”對(duì)話框,以修改指定關(guān)系。實(shí)際上,直接雙擊表的關(guān)系連線也可以打開(kāi)該對(duì)話框。,信息技術(shù)學(xué)院 崔曉斐 制作,3刪除表之間的永久關(guān)系 對(duì)于已經(jīng)建立的永久關(guān)系,在必要時(shí)也可以將其刪除掉。方法是:將鼠標(biāo)箭頭指向表的關(guān)系連線,單擊鼠標(biāo)左鍵使連線變粗,然后

14、單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“刪除關(guān)系”,或直接按一下Delete鍵,即可取消永久關(guān)系。 例: 建立表的索引及永久關(guān)系 在學(xué)生信息表中按學(xué)號(hào)字段建立表的主索引 在學(xué)生成績(jī)表中按學(xué)號(hào)建立普通索引 為兩個(gè)表建立永久聯(lián)系,信息技術(shù)學(xué)院 崔曉斐 制作,四、參照完整性的設(shè)置 在數(shù)據(jù)庫(kù)中數(shù)據(jù)完整性是指保證數(shù)據(jù)正確的特性,數(shù)據(jù)完整性一般包括實(shí)體完整性、域完整性和參照完整性等。 1 實(shí)體完整性與主關(guān)鍵字 實(shí)體完整性是保證表中記錄惟一的特性,即在一個(gè)表中不允許有重復(fù)的記錄。在Visual FoxPro中利用主關(guān)鍵字或候選關(guān)鍵字來(lái)保證表中的記錄惟一,即保證實(shí)體唯一性。 在Visual FoxPro中將主關(guān)

15、鍵字稱作主索引,將候選關(guān)鍵字稱作候選索引。由上所述,在Visual FoxPro中主索引和候選索引有相同的作用。,信息技術(shù)學(xué)院 崔曉斐 制作,域完整性與約束規(guī)則 域完整性是數(shù)據(jù)類型的定義屬于域完整性的范疇:比如對(duì)數(shù)值型字段,通過(guò)指定不同的寬度說(shuō)明不同范圍的數(shù)值數(shù)據(jù)類型,從而可以限定字段的取值類型和取值范圍。但這些對(duì)域完整性還遠(yuǎn)遠(yuǎn)不夠,還可以用一些域約束規(guī)則來(lái)進(jìn)一步保證域完整性。域約束規(guī)則也稱作字段有效性規(guī)則,在插入或修改字段值時(shí)被激活,主要用于數(shù)據(jù)輸入正確性的檢驗(yàn)。 建立字段有效性規(guī)則:在表設(shè)計(jì)器的“字段”選項(xiàng)卡中,有“規(guī)則”(字段有效性規(guī)則)、“信息”(違背字段有效性規(guī)則時(shí)的提示信息)、“默

16、認(rèn)值”(字段的默認(rèn)值)三項(xiàng)。,信息技術(shù)學(xué)院 崔曉斐 制作,3 參照完整性與表之間的關(guān)聯(lián) 參照完整性與表之間的聯(lián)系有關(guān),它的大概含義是:當(dāng)插入、刪除或修改一個(gè)表中的數(shù)據(jù)時(shí),通過(guò)參照引用相互關(guān)聯(lián)的另一個(gè)表中的數(shù)據(jù),來(lái)檢查對(duì)表的數(shù)據(jù)操作是否正確。 參照完整性的建立是在數(shù)據(jù)庫(kù)設(shè)計(jì)器里完成的 “更新規(guī)則”:用于設(shè)置修改父表中的關(guān)鍵字值時(shí)所應(yīng)遵循的規(guī)則。 “級(jí)聯(lián)”:則在修改父表中的關(guān)鍵字值時(shí),自動(dòng)更新子表中的有關(guān)記錄的相關(guān)字段值; “限制”:若子表中存在相關(guān)的記錄,則禁止修改父表中相應(yīng)的關(guān)鍵字值(更改父表中相應(yīng)的關(guān)鍵字值就會(huì)產(chǎn)生“觸發(fā)器失敗”的提示信息); “忽略”:則無(wú)論子表中是否存在相關(guān)記錄,均允許修

17、改父表中的關(guān)鍵字值。,信息技術(shù)學(xué)院 崔曉斐 制作,“刪除規(guī)則” :用于設(shè)置刪除父表中的記錄時(shí)所應(yīng)遵循的規(guī)則。在“刪除規(guī)則”選項(xiàng)卡中包含有“級(jí)聯(lián)”、“限制”和“忽略”3個(gè)單選按鈕,各單選按鈕的功能如下: “級(jí)聯(lián)”,則在刪除父表中的記錄時(shí),自動(dòng)刪除子表中的相關(guān)記錄; “限制”,若子表中存在相關(guān)的記錄,則禁止刪除父表中的相應(yīng)的記錄; “忽略”,則不管子表中是否存在相關(guān)記錄,均允許刪除父表中的記錄。 “插入規(guī)則” :用于設(shè)置在子表中插入新的記錄或更新已存在的記錄時(shí)所應(yīng)遵循的規(guī)則。在“插入規(guī)則”選項(xiàng)卡中包含有 “限制”和“忽略”2個(gè)單選按鈕,各單選按鈕的功能如下: “限制”,若父表中沒(méi)有相應(yīng)的關(guān)鍵字值,則禁止在子表中插入與該關(guān)鍵字值對(duì)應(yīng)的記錄,或?qū)⒃杏涗浀南嚓P(guān)字段值修改為該關(guān)鍵字值; “忽略”,則不管父表中是否存在相關(guān)記錄,均允許在子表中插入新記錄。,信息技術(shù)學(xué)院 崔曉斐 制作,習(xí) 題 編輯參照完整性 更新:級(jí)聯(lián) 刪除:級(jí)聯(lián) 插入:限制 將學(xué)生成績(jī)表的”計(jì)算機(jī)”字段默認(rèn)值設(shè)為”70”,設(shè)置有效規(guī)則為計(jì)算機(jī)=0 and 計(jì)算機(jī)=100,出錯(cuò)提示信息設(shè)置為:”計(jì)算機(jī)成績(jī)必須在0到100之間”,標(biāo)題設(shè)為”計(jì)算機(jī)成績(jī)”,信息技術(shù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論