版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、關(guān)于數(shù)據(jù)庫(kù)的創(chuàng)建和使用第一張,PPT共七十頁,創(chuàng)作于2022年6月 數(shù)據(jù)庫(kù)是一個(gè)包容器,是許多相關(guān)的數(shù)據(jù)庫(kù)表的集合,是數(shù)據(jù)組織層次中目前已達(dá)到的最高級(jí)別。它包括數(shù)據(jù)表以及表之間的關(guān)系等。 3.1 Visual FoxPro 數(shù) 據(jù) 庫(kù)第二張,PPT共七十頁,創(chuàng)作于2022年6月1.分析數(shù)據(jù)需求2.確定需要的表3.確定表的字段4.確定表之間的關(guān)系5.設(shè)計(jì)的優(yōu)化數(shù)據(jù)庫(kù)設(shè)計(jì)過程第三張,PPT共七十頁,創(chuàng)作于2022年6月VFP 數(shù)據(jù)庫(kù)的組成 1. 數(shù)據(jù)庫(kù)表 2. 本地視圖及遠(yuǎn)程視圖 3. 連接 4. 存儲(chǔ)過程VFP 的數(shù)據(jù)字典第四張,PPT共七十頁,創(chuàng)作于2022年6月3.2 數(shù)據(jù)庫(kù)的創(chuàng)建、打開和使
2、用VFP 數(shù)據(jù)庫(kù)的創(chuàng)建方法 界面操作方式創(chuàng)建數(shù)據(jù)庫(kù) 命令方式創(chuàng)建數(shù)據(jù)庫(kù) 創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)將生成三個(gè)文件:數(shù)據(jù)庫(kù)文件(dbc)、關(guān)聯(lián)的數(shù)據(jù)庫(kù)備注文件(dct)和關(guān)聯(lián)的數(shù)據(jù)庫(kù)索引文件(dcx)。第五張,PPT共七十頁,創(chuàng)作于2022年6月打開數(shù)據(jù)庫(kù)設(shè)置當(dāng)前數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)的有效性使用數(shù)據(jù)庫(kù)中的表關(guān)閉數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)3.2 數(shù)據(jù)庫(kù)的創(chuàng)建、打開和使用第六張,PPT共七十頁,創(chuàng)作于2022年6月如果移動(dòng)了數(shù)據(jù)文件(.DBC、.DCT和.DCX)或與數(shù)據(jù)庫(kù)關(guān)聯(lián)的表文件,則這些文件的相對(duì)路徑會(huì)改變,可能會(huì)破壞已有的前鏈或后鏈。 如將庫(kù)表XS由C盤移至A盤,由于表文件的移動(dòng)引起庫(kù)文件中的前鏈被破壞,可使用命令V
3、ALIDATE DATABASE RECOVER ,更新相對(duì)路徑信息以重建前鏈。也可用 USE 命令打開表,系統(tǒng)會(huì)顯示“打開”對(duì)話框,允許重新定位該表所屬的數(shù)據(jù)庫(kù)或刪除鏈接。數(shù)據(jù)庫(kù)的有效性第七張,PPT共七十頁,創(chuàng)作于2022年6月 數(shù)據(jù)字典是指存儲(chǔ)在數(shù)據(jù)庫(kù)中用于描述所管理的表和對(duì)象的數(shù)據(jù),即關(guān)于數(shù)據(jù)的數(shù)據(jù),這些數(shù)據(jù)稱為元數(shù)據(jù) 。包括長(zhǎng)表名、長(zhǎng)字段名、有效性規(guī)則和觸發(fā)器,以及有關(guān)數(shù)據(jù)庫(kù)對(duì)象的定義如視圖和命名連接等。 VFP數(shù)據(jù)字典可以創(chuàng)建和指定以下內(nèi)容:主關(guān)鍵字和候選索引關(guān)鍵字 字段級(jí)和記錄級(jí)有效性規(guī)則表單中使用的默認(rèn)控件類 表中字段的標(biāo)題和注釋數(shù)據(jù)庫(kù)表之間的永久性關(guān)系 存儲(chǔ)過程字段的輸入掩碼
4、和顯示格式 表中字段的默認(rèn)值長(zhǎng)表名和表中的長(zhǎng)字段名 插入、更新和刪除事件的觸 發(fā)器 除了以上這些表的功能擴(kuò)展,使用數(shù)據(jù)庫(kù)還能訪問與遠(yuǎn)程數(shù)據(jù)源的連接,并可創(chuàng)建本地表和遠(yuǎn)程表的視圖。VFP 的數(shù)據(jù)字典第八張,PPT共七十頁,創(chuàng)作于2022年6月4.5 數(shù)據(jù)庫(kù)表數(shù)據(jù)庫(kù)表的字段擴(kuò)展屬性數(shù)據(jù)庫(kù)表的表屬性數(shù)據(jù)庫(kù)表的約束機(jī)制及其激活時(shí)機(jī)綜述數(shù)據(jù)庫(kù)表的索引第九張,PPT共七十頁,創(chuàng)作于2022年6月數(shù)據(jù)庫(kù)表字段的擴(kuò)展屬性 引言字段的顯示屬性 字段的格式(Format) 字段的輸入掩碼(Input Mask) 字段的標(biāo)題(Caption)與注釋(Comment) 字段有效性 字段驗(yàn)證規(guī)則(ruleexpress
5、ion) 字段驗(yàn)證信息(ruleexpressiontext) 字段默認(rèn)值(defaultvalue)命令方法實(shí)現(xiàn)字段驗(yàn)證規(guī)則在數(shù)據(jù)庫(kù)中查看字段的擴(kuò)展屬性第十張,PPT共七十頁,創(chuàng)作于2022年6月在使用命令create table-sql創(chuàng)建表文件時(shí),可以利用check子句、error子句和default子句設(shè)置字段的有效性規(guī)則、有效性信息和默認(rèn)值;在使用alter table-sql命令修改表的結(jié)構(gòu)時(shí),可以通過set check子句、set default子句設(shè)置字段的有效性規(guī)則和默認(rèn)值。刪除字段的有效性規(guī)則時(shí),可以利用帶drop check子句的alter table-sql命令;刪除字
6、段的默認(rèn)值時(shí),可以利用帶drop default 子句的alter table-sql命令。第十一張,PPT共七十頁,創(chuàng)作于2022年6月數(shù)據(jù)庫(kù)表的表屬性 長(zhǎng)表名與表注釋表記錄的驗(yàn)證規(guī)則表記錄的驗(yàn)證信息表的觸發(fā)器(Trigger) 觸發(fā)器的基本概念 創(chuàng)建表的觸發(fā)器 移去或刪除觸發(fā)器第十二張,PPT共七十頁,創(chuàng)作于2022年6月相關(guān)表之間的參照完整性 “參照完整性”(RI)概念設(shè)置參照完整性 參照完整性設(shè)置方法 參照完整性規(guī)則VFP 數(shù)據(jù)完整性綜述 實(shí)體完整性 參照完整性 用戶自定義完整性第十三張,PPT共七十頁,創(chuàng)作于2022年6月4.7 操作數(shù)據(jù)庫(kù)及其對(duì)象的幾個(gè)常用函數(shù)DBC( )函數(shù)與DB
7、USED( )函數(shù)DBGETPROP( )函數(shù)DBSETPROP( )函數(shù)第十四張,PPT共七十頁,創(chuàng)作于2022年6月 1. 一對(duì)多關(guān)系 設(shè)有甲乙兩個(gè)表,如果甲表中的任意一個(gè)記錄在乙表中都有幾個(gè)記錄與之對(duì)應(yīng),而乙表中的每個(gè)記錄在甲表中僅有一個(gè)記錄與之對(duì)應(yīng),則稱甲乙兩個(gè)表之間存在一對(duì)多關(guān)系,并稱甲表為“一”表(或“主表”),乙表為“多”表(或“子表”)。 外部關(guān)鍵字首先必須是“一”表中存在的字段,外部關(guān)鍵字的值輸入到“多”表中的條件也必須是在“一”表中早已存在的。一般,將在“多”表中存在但在“一”表中不存在的記錄稱為“孤立記錄”。 表 之 間 的 關(guān) 系(1) 第十五張,PPT共七十頁,創(chuàng)作于
8、2022年6月 2. 多對(duì)多關(guān)系 遇到“多對(duì)多”的情況時(shí),必須建立第三個(gè)表,把多對(duì)多的關(guān)系分解成兩個(gè)一對(duì)多關(guān)系。這第三個(gè)表就稱作“紐帶表”(Junction Table)。 因?yàn)樗趦杀碇g起著紐帶的作用??梢园褍蓚€(gè)表的主關(guān)鍵字都放在這個(gè)紐帶表中。 對(duì)于紐帶表,除了包含兩個(gè)外部關(guān)鍵字:即來自于學(xué)生表的主關(guān)鍵字Xh(學(xué)號(hào))和課程表的主關(guān)鍵字Kcdh(課程代號(hào))外,還可以有其他字段,如Cj(成績(jī))字段。但允許沒有單個(gè)字段的主關(guān)鍵字,主關(guān)鍵字可以由兩個(gè)外部關(guān)鍵字組成。表 之 間 的 關(guān) 系(2) 第十六張,PPT共七十頁,創(chuàng)作于2022年6月 3. 一對(duì)一關(guān)系 一對(duì)一關(guān)系是這樣一種關(guān)系:甲表的一個(gè)記
9、錄在乙表中只能對(duì)應(yīng)一個(gè)記錄,而乙表中的一個(gè)記錄在甲表中也只能有一個(gè)記錄與之對(duì)應(yīng)。這種關(guān)系不經(jīng)常使用。因?yàn)樵谠S多情況下,兩個(gè)表的信息可以簡(jiǎn)單地合并成一個(gè)表。出于一些原因(如字段項(xiàng)太多),不能合并的,可以建立一對(duì)一關(guān)系,只要把一個(gè)主關(guān)鍵字同時(shí)放到兩個(gè)表中,并以此建立一對(duì)一關(guān)系。 表 之 間 的 關(guān) 系(3) 第十七張,PPT共七十頁,創(chuàng)作于2022年6月 4. 分析并確定表之間關(guān)系 表 之 間 的 關(guān) 系(4) 第十八張,PPT共七十頁,創(chuàng)作于2022年6月圖 4-3 表之間的關(guān)系第十九張,PPT共七十頁,創(chuàng)作于2022年6月4-4 多對(duì)多關(guān)系與紐帶表第二十張,PPT共七十頁,創(chuàng)作于2022年6月
10、界面操作方式創(chuàng)建數(shù)據(jù)庫(kù) 在“項(xiàng)目管理器”中新建數(shù)據(jù)庫(kù) 通過“新建”對(duì)話框新建數(shù)據(jù)庫(kù)第二十一張,PPT共七十頁,創(chuàng)作于2022年6月 創(chuàng)建數(shù)據(jù)庫(kù)的命令: 語法:CREATE DATABASE |? 說明: (1)如果在命令中沒有給出數(shù)據(jù)庫(kù)名或給出了“?”,則命令自動(dòng)打開“新建”對(duì)話框;如: CREATE DATABASE CREATE DATABASE ? (2)如果給出數(shù)據(jù)庫(kù)名,則創(chuàng)建數(shù)據(jù)庫(kù),并使該數(shù)據(jù)庫(kù)處于打開狀態(tài),但不出現(xiàn)數(shù)據(jù)庫(kù)設(shè)計(jì)器。 如:CREATE DATABASE JXSJ1 (3)用命令方式創(chuàng)建的數(shù)據(jù)庫(kù)不會(huì)自動(dòng)添加到項(xiàng)目管理器中。命令方式創(chuàng)建數(shù)據(jù)庫(kù)第二十二張,PPT共七十頁,創(chuàng)作
11、于2022年6月 從屬于某一個(gè)數(shù)據(jù)庫(kù)的表,稱為“數(shù)據(jù)庫(kù)表”(也叫“相關(guān)表”)。 前鏈和后鏈 庫(kù)表與數(shù)據(jù)庫(kù)之間的相關(guān)性是通過表文件(.DBF)與庫(kù)文件(.DBC)之間的雙向鏈接實(shí)現(xiàn)的。雙向鏈接包括前鏈和后鏈。 數(shù) 據(jù) 庫(kù) 表第二十三張,PPT共七十頁,創(chuàng)作于2022年6月 前鏈?zhǔn)潜4嬖跀?shù)據(jù)庫(kù)容器(.DBC)中的有關(guān)表文件的路徑和文件名信息,它將數(shù)據(jù)庫(kù)與庫(kù)表文件相鏈接。前鏈指向數(shù)據(jù)庫(kù)中包含的表,它由各個(gè)表文件的相對(duì)路徑和文件名稱構(gòu)成。 后鏈?zhǔn)谴娣旁谝粋€(gè)表的表頭中的數(shù)據(jù)庫(kù)的路徑和文件名,用以將自身與包含自身的數(shù)據(jù)庫(kù)容器相鏈接。后鏈指向擁有該表的數(shù)據(jù)庫(kù),它由數(shù)據(jù)庫(kù)的相對(duì)路徑和數(shù)據(jù)庫(kù)名稱構(gòu)成。前 鏈 和
12、 后 鏈第二十四張,PPT共七十頁,創(chuàng)作于2022年6月 1. 利用“項(xiàng)目管理器”在數(shù)據(jù)庫(kù)中添加、新建和移去表 2. 利用 “數(shù)據(jù)庫(kù)設(shè)計(jì)器”在數(shù)據(jù)庫(kù)中添加、新建和移去表 3. 使用命令在數(shù)據(jù)庫(kù)中添加、移去表語法: ADD TABLE 自由表表文件名; NAME 長(zhǎng)表名 功能:向數(shù)據(jù)庫(kù)中添加自由表。語法: REMOVE TABLE 表名 DELETE 功能:從數(shù)據(jù)庫(kù)中移去表。添加、新建和移去數(shù)據(jù)庫(kù)表的方法第二十五張,PPT共七十頁,創(chuàng)作于2022年6月例:OPEN DATABASE jxsj EXCLUSIVE ADD TABLE xs 使用ADD TABLE命令往數(shù)據(jù)庫(kù)中添加表時(shí),必須保證數(shù)據(jù)
13、庫(kù)處于打開狀態(tài)。REMOVE TABLE XS 將XS表從數(shù)據(jù)庫(kù)中移出,若加上DELETE可選項(xiàng),則不僅將XS從數(shù)據(jù)庫(kù)中移出,而且還把表文件從磁盤上刪除。 一個(gè)表在同一時(shí)間內(nèi)只能屬于一個(gè)數(shù)據(jù)庫(kù),如果所需要的數(shù)據(jù)表已隸屬于其他數(shù)據(jù)庫(kù),則必須先從其他數(shù)據(jù)庫(kù)移去此表,使其成為自由表,然后才能將其添加到當(dāng)前數(shù)據(jù)庫(kù)中來。 使用命令在數(shù)據(jù)庫(kù)中添加、移去表第二十六張,PPT共七十頁,創(chuàng)作于2022年6月 一、表之間的關(guān)系 二、表之間的永久關(guān)系 1.永久關(guān)系(persistent relationship)的概念 2.永久關(guān)系的作用 3.永久關(guān)系的建立 4.刪除、編輯修改永久性關(guān)系庫(kù) 表 之 間 的 關(guān) 系
14、第二十七張,PPT共七十頁,創(chuàng)作于2022年6月 永久關(guān)系是庫(kù)表之間的一種關(guān)系,不僅在運(yùn)行時(shí)存在,而且一直保留,擁有永久關(guān)系的表必須在數(shù)據(jù)庫(kù)中。數(shù)據(jù)庫(kù)表間的永久關(guān)系是根據(jù)表的索引建立的。 索引的類型決定了要?jiǎng)?chuàng)建的永久關(guān)系類型,在一對(duì)多關(guān)系中,“一方”必須用主索引關(guān)鍵字(或標(biāo)識(shí)),或者用候選索引關(guān)鍵字(或標(biāo)識(shí));在“多方”則使用普通索引關(guān)鍵字(或普通索引標(biāo)識(shí))。在一對(duì)一關(guān)系中,兩個(gè)表必須都用主索引關(guān)鍵字(或標(biāo)識(shí))或候選索引關(guān)鍵字(或標(biāo)識(shí))。 永久關(guān)系(persistent relationship)的概念第二十八張,PPT共七十頁,創(chuàng)作于2022年6月在“查詢?cè)O(shè)計(jì)器”和“視圖設(shè)計(jì)器”中,自動(dòng)作為
15、默認(rèn)聯(lián)接條件。作為表單和報(bào)表的默認(rèn)的關(guān)系,在“數(shù)據(jù)環(huán)境設(shè)計(jì)器”中顯示。用來存儲(chǔ)參照完整性信息。這 是永久關(guān)系的主要作用。 永 久 關(guān) 系 的 作 用第二十九張,PPT共七十頁,創(chuàng)作于2022年6月 建立永久關(guān)系的一般步驟是: 確定兩個(gè)存在一對(duì)多或一對(duì)一關(guān)系的表 建立主表的主索引或候選索引; 如果是一對(duì)多關(guān)系,則在子表中按外部關(guān)鍵字建立普通索引;如果是一對(duì)一關(guān)系,則在子表中以與主表相同的關(guān)鍵字建立主索引或候選索引; 從主表的主索引或候選索引到子表相關(guān)的索引建立永久關(guān)系。 方法一:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中建立永久關(guān)系,將主表的主關(guān)鍵索引(XSXH)拖放到子表中的外部關(guān)鍵索引(CJXH)上。 方法二:用命令
16、方式建永久關(guān)系 CREATE TABLE cj(xh C(6),kcdh C(6),cj N(3,0),; FOREIGN KEY xh TAG cjxh REFERENCE xs) ALTER TABLE cj ADD FOREIGN KEY xh ; TAG cjxh REFERENCE xs 永 久 關(guān) 系 的 建 立第三十張,PPT共七十頁,創(chuàng)作于2022年6月刪除永久性關(guān)系 在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”中,單擊關(guān)聯(lián)連線后,該線變粗,此時(shí),按【Del】鍵即可刪除關(guān)系;或用鼠標(biāo)右鍵單擊關(guān)系連線,在快捷菜單中單擊“刪除關(guān)系”后,關(guān)聯(lián)的線被擦除。編輯修改永久性關(guān)系 用鼠標(biāo)右鍵單擊關(guān)系連線,在快捷菜單中
17、單擊 “編輯關(guān)系”后出現(xiàn)“編輯關(guān)系”對(duì)話框。 刪除、編輯修改永久性關(guān)系 第三十一張,PPT共七十頁,創(chuàng)作于2022年6月永久關(guān)系連線拖放第三十二張,PPT共七十頁,創(chuàng)作于2022年6月永久關(guān)系連線快捷菜單第三十三張,PPT共七十頁,創(chuàng)作于2022年6月“編輯關(guān)系”對(duì)話框第三十四張,PPT共七十頁,創(chuàng)作于2022年6月引 言 數(shù)據(jù)庫(kù)表的字段除了具有字段的基本屬性外,還含有自由表所沒有的擴(kuò)展屬性:包括字段的顯示格式、輸入掩碼、默認(rèn)值、標(biāo)題、注釋以及字段的驗(yàn)證規(guī)則和驗(yàn)證信息等。這些高級(jí)屬性都保存在庫(kù)表所在的數(shù)據(jù)庫(kù)文件中。 字段的高級(jí)屬性都可以在數(shù)據(jù)庫(kù)表的“表設(shè)計(jì)器”中進(jìn)行設(shè)置,還可以用函數(shù)SETDB
18、PROP()設(shè)置。 打開數(shù)據(jù)庫(kù)表設(shè)計(jì)器和自由表設(shè)計(jì)器進(jìn)行比較,可看到二者之間的差別。第三十五張,PPT共七十頁,創(chuàng)作于2022年6月字 段 的 格 式 字段的格式用于指定字段顯示時(shí)的格式 。 設(shè)置字段的顯示格式的方法與步驟(以JS表為例)如下: (1)打開JS表設(shè)計(jì)器 (2)選擇要加格式的字段 (3)在格式框中鍵入格式內(nèi)容。如: 設(shè)置JS表的JBGZ字段格式為“”; 設(shè)置JS表的JBGZ字段格式為“L$”; 設(shè)置JS表的CSRQ字段格式為“E”以上字段格式符號(hào)的意義見“字段格式表”。第三十六張,PPT共七十頁,創(chuàng)作于2022年6月第三十七張,PPT共七十頁,創(chuàng)作于2022年6月 字段的輸入掩碼
19、用于指定字段中輸入數(shù)據(jù)的格式。 設(shè)置字段輸入掩碼的方法與步驟如下: (1)在表設(shè)計(jì)器中打開表; (2)選擇要加輸入掩碼的字段; (3)在“輸入掩碼”框中鍵入掩碼。如:為JS表的JBGZ字段設(shè)置掩碼為 “$9,999.99” JBGZ字段類型為N型,寬度為9,小數(shù)位為2。輸入掩碼的具體含義見“輸入掩碼表”。字 段 的 輸 入 掩 碼第三十八張,PPT共七十頁,創(chuàng)作于2022年6月輸 入 掩 碼 表第三十九張,PPT共七十頁,創(chuàng)作于2022年6月 字段標(biāo)題的作用是為了使表具有更好的可讀性。 在取字段名時(shí),為了在命令方式下更方便地使用字段,字段名常常采用簡(jiǎn)練的形式,常用拼音字母代替漢字,如“出生日期
20、”的字段名取為“CSRQ”,在瀏覽時(shí)也以字段名作為列的標(biāo)題,不直觀,可讀形不好。 利用數(shù)據(jù)庫(kù)表字段的標(biāo)題屬性,可以為字段設(shè)置一個(gè)含義明確的標(biāo)題,但標(biāo)題只是在瀏覽、顯示時(shí)起作用,并不能作為字段名用于表達(dá)式及命令中。 字段注釋也是為了使表具有更好的可讀性,所以在注釋框中可以填入對(duì)字段的文字說明。字 段 的 標(biāo) 題 與 注 釋第四十張,PPT共七十頁,創(chuàng)作于2022年6月字段驗(yàn)證用來限定字段的取值及取值范圍。 在所選字段的字段驗(yàn)證規(guī)則框內(nèi)鍵入一邏輯表達(dá)式,當(dāng)往字段中輸入數(shù)據(jù)并當(dāng)焦點(diǎn)離開該字段時(shí),將數(shù)據(jù)代入邏輯表達(dá)式,若表達(dá)式的值為真則接受該數(shù)據(jù)作為該字段的值,否則拒絕將該數(shù)據(jù)作為該字段的值。 如將J
21、S表的JBGZ字段驗(yàn)證規(guī)則設(shè)為: JBGZ=500 AND JBGZ=2000 當(dāng)關(guān)閉表設(shè)計(jì)器并保存對(duì)結(jié)構(gòu)的修改時(shí),可以選擇用此規(guī)則對(duì)照現(xiàn)有的數(shù)據(jù)或不對(duì)照現(xiàn)有的數(shù)據(jù)。字 段 驗(yàn) 證 規(guī) 則第四十一張,PPT共七十頁,創(chuàng)作于2022年6月 在字段驗(yàn)證信息框中鍵入對(duì)驗(yàn)證規(guī)則的說明文本,當(dāng)字段值不滿足字段驗(yàn)證規(guī)則時(shí)將顯示該說明。 如在上述JS表的JBGZ字段驗(yàn)證信息框中輸入文本“基本工資必須在500-2000之間”(作為字符串常量必須加引號(hào)),當(dāng)在JBGZ字段中輸入2100時(shí)就會(huì)顯示信息:“基本工資必須在500-2000之間”,并拒絕接受2100作為JBGZ字段的值。 該屬性為可選項(xiàng),既字段可以有字
22、段驗(yàn)證規(guī)則而沒有字段驗(yàn)證信息,當(dāng)出現(xiàn)違背字段驗(yàn)證規(guī)則的數(shù)據(jù)時(shí),系統(tǒng)顯示默認(rèn)的信息,如“違反了字段JBGZ的驗(yàn)證規(guī)則”。字 段 驗(yàn) 證 信 息第四十二張,PPT共七十頁,創(chuàng)作于2022年6月 當(dāng)向一個(gè)數(shù)據(jù)庫(kù)表中添加記錄時(shí),為字段所指定的最初的值,稱為該字段的默認(rèn)值。如為JS表的JBGZ字段設(shè)置默認(rèn)值為800,則每次向JS表中追加新記錄時(shí),JBGZ字段都已有數(shù)據(jù)800。 如果沒有設(shè)置默認(rèn)值。則在追加新記錄時(shí),各字段也有系統(tǒng)自動(dòng)設(shè)置的默認(rèn)值,如下表所示。 字 段 的 默 認(rèn) 值第四十三張,PPT共七十頁,創(chuàng)作于2022年6月 上述7個(gè)屬性均為數(shù)據(jù)庫(kù)表字段的擴(kuò)展屬性,這些屬性存儲(chǔ)為數(shù)據(jù)庫(kù)的一部分,而且
23、只要表屬于該數(shù)據(jù)庫(kù),它們就一定存在,而在VFP中數(shù)據(jù)庫(kù)實(shí)質(zhì)是一個(gè)表文件,可用USE命令打開查看,也可用DISPLAY DATABASE命令查看。 例如: USE JXSJ.DBC BROWSE 或 OPEN DATABASE JXSJ DISPLAY DATABASE在數(shù)據(jù)庫(kù)中查看字段的擴(kuò)展屬性第四十四張,PPT共七十頁,創(chuàng)作于2022年6月 如果為數(shù)據(jù)庫(kù)表設(shè)置了長(zhǎng)表名屬性,則該數(shù)據(jù)庫(kù)表在各種選項(xiàng)卡、窗口中均以長(zhǎng)表名代替表名。在打開數(shù)據(jù)庫(kù)表時(shí),長(zhǎng)表名與文件名可以同樣使用。例如,用表設(shè)計(jì)器為JS表設(shè)置長(zhǎng)表名“TEACHER”,以后打開該表可以有兩種方法: USE JS &此時(shí)表的別名為“JS”
24、USE TEACHER &此時(shí)表的別名為“TEACHER”也可以在使用CREATE TABLE命令創(chuàng)建表時(shí): CREATE TABLE B01 NAME TAB01 (F01 C(3)長(zhǎng) 表 名(NAME)第四十五張,PPT共七十頁,創(chuàng)作于2022年6月 在向表中輸入記錄時(shí),當(dāng)兩個(gè)字段之間存在一定的關(guān)系,如出生日期總是比工作日期小,這是可以通過設(shè)置數(shù)據(jù)庫(kù)表的記錄驗(yàn)證規(guī)則來實(shí)現(xiàn)。例如,在教師表JS中可以設(shè)置如下記錄級(jí)規(guī)則:“工齡年齡-15”。則應(yīng)在“規(guī)則”框中輸入如下規(guī)則的表達(dá)式: js.glyear(date()-year(js.csrq)-15 或者使用 CREATE TABLE 或 ALT
25、ER TABLE 命令的 CHECK 子句。 ALTER TABLE JS SET CHECK; js.gl40, 則JS表中只有GL大于40年的記錄才可以做邏輯刪除。 另一個(gè)方法是用CREATE TRIGGER命令: CREATE TRIGGER ON FOR; INSERT |UPDATE|DELETE AS 例:CREATE TRIGGER ON JS FOR DELETE AS JS.GL40創(chuàng) 建 表 的 觸 發(fā) 器 第五十張,PPT共七十頁,創(chuàng)作于2022年6月 在“表設(shè)計(jì)器”的“表”選項(xiàng)卡的“觸發(fā)器”區(qū)中,從“插入觸發(fā)器”、“更新觸發(fā)器”或“刪除觸發(fā)器”框里選定觸發(fā)器表達(dá)式,并刪
26、除它。 使用 DELETE TRIGGER 命令。格式如下: DELETE TRIGGER ON FOR DELETE |INSERT|UPDATE 如果從數(shù)據(jù)庫(kù)中移去或刪除表,則所有屬于該表的觸發(fā)器都從數(shù)據(jù)庫(kù)中刪除。但是,由被移去或刪除的觸發(fā)器引用的存儲(chǔ)過程沒有刪除。 移 去 或 刪 除 觸 發(fā) 器第五十一張,PPT共七十頁,創(chuàng)作于2022年6月 數(shù)據(jù)庫(kù)表的字段級(jí)和記錄級(jí)規(guī)則以及表的觸發(fā)器,為數(shù)據(jù)的輸入和修改實(shí)施了約束。庫(kù)表的約束機(jī)制及其激活時(shí)機(jī)第五十二張,PPT共七十頁,創(chuàng)作于2022年6月第五十三張,PPT共七十頁,創(chuàng)作于2022年6月第五十四張,PPT共七十頁,創(chuàng)作于2022年6月 “
27、參照完整性”(Referential Integrity RI)是用來控制數(shù)據(jù)的完整性,尤其是控制數(shù)據(jù)庫(kù)中相關(guān)表之間的主關(guān)鍵字和外部關(guān)鍵字之間數(shù)據(jù)一致性的規(guī)則。 數(shù)據(jù)一致性要求相關(guān)表之間滿足如下規(guī)則: (1)子表中的每一個(gè)記錄在對(duì)應(yīng)的主表中必須有一個(gè)父記錄,否則子表中的記錄是“孤立記錄” 。 (2)在子表中插入記錄時(shí),其外部關(guān)鍵字必須是父表主關(guān)鍵字值中的一個(gè)。 (3)在父表中刪除記錄時(shí),與該記錄相關(guān)的子表中的記錄必須全部刪除。參 照 完 整 性 的 概 念第五十五張,PPT共七十頁,創(chuàng)作于2022年6月 設(shè)置參照完整性是利用數(shù)據(jù)庫(kù)表之間的永久關(guān)系,控制記錄如何在相關(guān)表中被插入、更新或刪除。參照
28、完整性規(guī)則被設(shè)置在主表或子表的觸發(fā)器中,規(guī)則的代碼被保存在數(shù)據(jù)庫(kù)的存儲(chǔ)過程中。 設(shè)置過程如下: 在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”中,用鼠標(biāo)右擊永久性關(guān)系聯(lián)線,出現(xiàn)快捷菜單,單擊其中的“編輯參照完整性”項(xiàng)(或者單擊“數(shù)據(jù)庫(kù)”菜單中的“編輯參照完整性”),出現(xiàn)“參照完整性”生成器。 VFP中的參照完整性規(guī)則包括更新規(guī)則、刪除規(guī)則和插入規(guī)則三種。參 照 完 整 性 的 設(shè) 置第五十六張,PPT共七十頁,創(chuàng)作于2022年6月參 照 完 整 性 規(guī) 則 表第五十七張,PPT共七十頁,創(chuàng)作于2022年6月 VFP引進(jìn)了關(guān)系數(shù)據(jù)庫(kù)的三類完整性:實(shí)體完整性、參照完整性和用戶自定義完整性。前兩類是數(shù)據(jù)庫(kù)本身自我約束的完整性規(guī)
29、則,由系統(tǒng)自動(dòng)支持。 實(shí)體完整性包括兩級(jí):字段和記錄的數(shù)據(jù)完整性。字段的數(shù)據(jù)完整性通過設(shè)置字段的有效性規(guī)則實(shí)現(xiàn)。記錄的數(shù)據(jù)完整性通過設(shè)置記錄的有效性規(guī)則實(shí)現(xiàn)。參照完整性是指相關(guān)表之間的數(shù)據(jù)一致性。通過字段級(jí)、記錄級(jí)和表間三級(jí)完整性約束,有效地實(shí)現(xiàn)了數(shù)據(jù)的完整性和一致性。從而方便和簡(jiǎn)化了用戶的數(shù)據(jù)維護(hù)。數(shù) 據(jù) 完 整 性 綜 述 第五十八張,PPT共七十頁,創(chuàng)作于2022年6月第五十九張,PPT共七十頁,創(chuàng)作于2022年6月打開一個(gè)數(shù)據(jù)庫(kù)1) 界面方式2)命令方式OPEN DATABASE Database; EXCLUSIVESHAREDNOUPDATEVALIDATE2. 打開多個(gè)數(shù)據(jù)庫(kù) 正
30、如表可以打開多個(gè)一樣,數(shù)據(jù)庫(kù)也可以打開多個(gè),但不必在多個(gè)工作區(qū)打開。打開數(shù)據(jù)庫(kù)第六十張,PPT共七十頁,創(chuàng)作于2022年6月打開多個(gè)數(shù)據(jù)庫(kù)的方法很簡(jiǎn)單,只要多次使用打開一個(gè)數(shù)據(jù)庫(kù)的命令。例如,要同時(shí)打開三個(gè)數(shù)據(jù)庫(kù)DB1、DB2、DB3的命令是: OPEN DATABASE DB1 OPEN DATABASE DB2 OPEN DATABASE DB3第六十一張,PPT共七十頁,創(chuàng)作于2022年6月 所有打開的數(shù)據(jù)庫(kù)中,只有一個(gè)是當(dāng)前數(shù)據(jù)庫(kù)。在打開數(shù)據(jù)庫(kù)時(shí),最后一個(gè)打開的數(shù)據(jù)庫(kù)為當(dāng)前數(shù)據(jù)庫(kù)。也可把其他打開的數(shù)據(jù)庫(kù)設(shè)置為當(dāng)前數(shù)據(jù)庫(kù)。 (1)在“常用”工具條的“數(shù)據(jù)庫(kù)”下拉列表中,顯示了所有已打開的
31、數(shù)據(jù)庫(kù)??梢栽诹斜碇羞x擇一個(gè)作為當(dāng)前數(shù)據(jù)庫(kù)。 (2)用SET DATABASE TO命令將某一已打開的數(shù)據(jù)庫(kù)設(shè)置為當(dāng)前數(shù)據(jù)庫(kù)。如: SET DATABASE TO DB2 (3)與數(shù)據(jù)庫(kù)相關(guān)的兩個(gè)函數(shù) 函數(shù)DBC()返回當(dāng)前打開的數(shù)據(jù)庫(kù)的完整文件名。 ? DBC( ) &返回 a:db1.dbc 函數(shù)DBUSED(數(shù)據(jù)庫(kù)名)返回指定的數(shù)據(jù)庫(kù)文件是否已經(jīng)打開的狀態(tài)。如果已打開,則函數(shù)返回值為.T.;否則函數(shù)返回值為.F.。例如: ?DBUSED(”DB1”) &返回.T.設(shè) 置 當(dāng) 前 數(shù) 據(jù) 庫(kù) 第六十二張,PPT共七十頁,創(chuàng)作于2022年6月 數(shù)據(jù)庫(kù)表和自由表都可以使用USE命令打開。但是,
32、如果打開的是數(shù)據(jù)庫(kù)表,則系統(tǒng)會(huì)首先自動(dòng)打開表所在的數(shù)據(jù)庫(kù)。(打開數(shù)據(jù)庫(kù)時(shí)不會(huì)自動(dòng)打開表,關(guān)閉數(shù)據(jù)庫(kù)時(shí)會(huì)自動(dòng)關(guān)閉數(shù)據(jù)庫(kù)中所有已打開的表,關(guān)閉表時(shí)不會(huì)自動(dòng)關(guān)閉數(shù)據(jù)庫(kù)。) 要打開非當(dāng)前數(shù)據(jù)庫(kù)中的表,可以使用“!”符號(hào)。例如: USE jxsj!xs也可以直接使用表文件名打開數(shù)據(jù)庫(kù)表,如: USE js使 用 數(shù) 據(jù) 庫(kù) 中 的 表第六十三張,PPT共七十頁,創(chuàng)作于2022年6月 (1)從項(xiàng)目管理器中,選定要關(guān)閉的數(shù)據(jù)庫(kù)并選擇“關(guān)閉”按鈕。 (2)使用 CLOSE DATABASE 命令: CLOSE DATABASES 關(guān)閉當(dāng)前數(shù)據(jù)庫(kù)和表。若沒有當(dāng)前數(shù)據(jù)庫(kù),則關(guān)閉所有工作區(qū)內(nèi)所有打開的自由表、索引和
33、格式文件,并選擇工作區(qū) 1。 例如,下面的代碼關(guān)閉了 JXSJ 數(shù)據(jù)庫(kù): SET DATABASE TO jxsj CLOSE DATABASE CLOSE DATABASES ALL 關(guān)閉所有打開的數(shù)據(jù)庫(kù)和其中的表,所有打開的自由表,所有工作區(qū)內(nèi)所有索引和格式文件,并選擇工作區(qū) 1 。 CLOSE ALL 該命令除了不關(guān)閉“命令窗口”、“調(diào)試窗口”、“幫助”和“跟蹤窗口”外,將關(guān)閉所有的數(shù)據(jù)庫(kù)、表、索引以及各種設(shè)計(jì)器,包括項(xiàng)目管理器。并選擇工作區(qū) 1 。關(guān) 閉 數(shù) 據(jù) 庫(kù)第六十四張,PPT共七十頁,創(chuàng)作于2022年6月DBC( )函數(shù)返回當(dāng)前打開數(shù)據(jù)庫(kù)的完整文件名,該函數(shù)無參數(shù)。DBUSED ( )函數(shù)返回指定的數(shù)據(jù)庫(kù)文件是否已經(jīng)打開,如果打開,則函數(shù)的值為.T.,否則為.F.。語法:DBUSED(數(shù)據(jù)庫(kù)名)其中:數(shù)據(jù)庫(kù)名為字符表達(dá)式。第六十五張,PPT共七十頁,創(chuàng)作于2022年6月 語法:DBGETPROP(cName, cType, cProperty) 功能:返回當(dāng)前數(shù)據(jù)庫(kù)的屬性,或者返回當(dāng)前數(shù)據(jù)庫(kù)中字段、表或視圖的屬性。 說明:cName指定數(shù)據(jù)庫(kù)、字段、表或視圖的名稱。cType指定cName指出的對(duì)象的類型,可以是當(dāng)前數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版企業(yè)借款擔(dān)保合同范本
- 2025年度云計(jì)算數(shù)據(jù)中心建設(shè)與運(yùn)營(yíng)合同3篇
- 渭南職業(yè)技術(shù)學(xué)院《學(xué)科綜合訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五版反擔(dān)保合同編制與合同履行規(guī)范3篇
- 2024年適用各類借款協(xié)議標(biāo)準(zhǔn)格式三例版
- 濰坊工商職業(yè)學(xué)院《嵌入式系統(tǒng)與開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版電梯施工安全協(xié)議書范本
- 二零二五年度環(huán)保產(chǎn)業(yè)股票質(zhì)押管理合同3篇
- 2024版環(huán)保新材料研發(fā)與生產(chǎn)合作協(xié)議
- 二零二五版建筑材料居間代理合同規(guī)范文本2篇
- 家長(zhǎng)要求學(xué)校換老師的申請(qǐng)書
- 扣款通知單 采購(gòu)部
- 鐵路工程主要建材碳排放因子、常用施工機(jī)械臺(tái)班能源用量、類運(yùn)輸方式、能源碳排放因子、不同植栽方式綠化固碳量
- 設(shè)計(jì)基礎(chǔ)全套教學(xué)課件
- 藥品養(yǎng)護(hù)記錄表
- IATF16949包裝方案評(píng)審表
- 食堂服務(wù)外包投標(biāo)方案(技術(shù)標(biāo))
- 綠建評(píng)分報(bào)告模板
- 1 運(yùn)行方案說明
- 大骨節(jié)病專業(yè)知識(shí)講座課件
- PHILIPS HeartStart XL+操作培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論