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

下載本文檔

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

文檔簡介

第四章數(shù)據(jù)庫的創(chuàng)立和使用本章知識點(diǎn):數(shù)據(jù)庫的創(chuàng)立、使用與維護(hù)4.1VFP數(shù)據(jù)庫概述4.2數(shù)據(jù)庫的創(chuàng)立4.3數(shù)據(jù)庫的使用4.4VFP數(shù)據(jù)字典概述4.5數(shù)據(jù)庫表4.6永久關(guān)系與參照完整性4.7有關(guān)數(shù)據(jù)庫操作的常用函數(shù)4.1VFP數(shù)據(jù)庫概述數(shù)據(jù)庫是一個(gè)容器,是許多相關(guān)的數(shù)據(jù)庫表及其關(guān)系的集合。數(shù)據(jù)庫中的表并不是彼此獨(dú)立的??山柚粋€(gè)公共字段將關(guān)聯(lián)的表聯(lián)系起來,建立表與表之間的“關(guān)系〞。(專業(yè)代號)(工號)(課程代號)(學(xué)號)教師表課程表任課表成績表專業(yè)表學(xué)生表4.2數(shù)據(jù)庫的創(chuàng)立可在數(shù)據(jù)庫中存儲一系列的表,在表間建立關(guān)系,設(shè)置屬性和數(shù)據(jù)有效性規(guī)那么創(chuàng)立一個(gè)數(shù)據(jù)庫將生成三個(gè)文件:數(shù)據(jù)庫文件(.dbc),與數(shù)據(jù)庫關(guān)聯(lián)的數(shù)據(jù)庫備注文件(.dct)和數(shù)據(jù)庫索引文件(.dcx)數(shù)據(jù)庫文件并不在物理上包含任何附屬對象,僅存儲了指向表文件的路徑指針數(shù)據(jù)庫的創(chuàng)立數(shù)據(jù)庫的組成〔數(shù)據(jù)庫表,視圖,連接,存儲過程〕數(shù)據(jù)庫的創(chuàng)立界面方式(1)“工程管理器〞->“數(shù)據(jù)庫〞->“新建〞,那么翻開“新建〞對話框->輸入數(shù)據(jù)庫名->“保存〞,出現(xiàn)“數(shù)據(jù)庫設(shè)計(jì)器〞窗口和“數(shù)據(jù)庫設(shè)計(jì)器〞工具欄(2)“新建〞->“數(shù)據(jù)庫(不屬于工程)命令方式CREATEDATABASE[數(shù)據(jù)庫名|?]數(shù)據(jù)庫名:那么創(chuàng)立數(shù)據(jù)庫,并處于翻開狀態(tài),但不出現(xiàn)數(shù)據(jù)庫設(shè)計(jì)器?:自動(dòng)翻開“新建〞對話框(不屬于工程)數(shù)據(jù)庫的組成——數(shù)據(jù)庫表數(shù)據(jù)庫表:附屬于某一個(gè)數(shù)據(jù)庫的表與自由表相比,數(shù)據(jù)表具有許多擴(kuò)展功能和管理特性數(shù)據(jù)庫表與數(shù)據(jù)庫之間的相關(guān)性是通過雙向鏈接實(shí)現(xiàn)的(后鏈)有關(guān)數(shù)據(jù)庫文件的路徑和數(shù)據(jù)庫名(前鏈)有關(guān)表文件的路徑和文件名數(shù)據(jù)庫數(shù)據(jù)庫表數(shù)據(jù)庫的組成——視圖(view)設(shè)計(jì)表時(shí),要將數(shù)據(jù)按主題分解到不同的表中,使用時(shí),要將分散在相關(guān)表中的數(shù)據(jù)通過聯(lián)接條件將它們收集在一起,構(gòu)成一張“虛表〞。視圖就是一種“虛表〞,其數(shù)據(jù)來源于一張或多張表。視圖兼有表和查詢的特點(diǎn):與查詢類似可以從一張或多張相關(guān)聯(lián)的表中提取有用信息,與表類似可以更新其中的信息并將更新結(jié)果永久保存在磁盤上。視圖可分為本地視圖和遠(yuǎn)程視圖數(shù)據(jù)庫的組成——連接(connection)連接是保存在數(shù)據(jù)庫中的一個(gè)定義,它指定了遠(yuǎn)程數(shù)據(jù)源的名稱。一個(gè)遠(yuǎn)程數(shù)據(jù)源通常是一個(gè)遠(yuǎn)程數(shù)據(jù)庫效勞器或文件,并且已為它在本地安裝了ODBC驅(qū)動(dòng)程序和設(shè)置了ODBC數(shù)據(jù)源名稱。建立遠(yuǎn)程數(shù)據(jù)連接的目的是為了創(chuàng)立遠(yuǎn)程視圖,通過使用遠(yuǎn)程視圖無需將所有記錄下載到本地計(jì)算機(jī)上即可提取遠(yuǎn)程ODBC效勞器上的數(shù)據(jù)子集。連接遠(yuǎn)程數(shù)據(jù)源的方法:(1)直接訪問在機(jī)器上注冊的ODBC數(shù)據(jù)源;(2)用“連接設(shè)計(jì)器〞設(shè)計(jì)自定義連接。數(shù)據(jù)庫的組成——存儲過程存儲過程是保存在數(shù)據(jù)庫中的過程代碼,由一系列用戶自定義函數(shù)或在創(chuàng)立表與表之間參照完整性規(guī)那么時(shí)系統(tǒng)創(chuàng)立的函數(shù)組成。假設(shè)要經(jīng)常對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行一些相似或相同的處理,可將這些代碼編寫成自定義函數(shù)并保存到存儲過程中。創(chuàng)立、修改或移去存儲過程的方法有:(1)工程管理器(2)數(shù)據(jù)庫設(shè)計(jì)器窗口:數(shù)據(jù)庫菜單-編輯存儲過程(3)命令窗口:modifyprocedure命令利用存儲過程可提高數(shù)據(jù)庫的性能,翻開數(shù)據(jù)庫時(shí)該數(shù)據(jù)庫包含的存儲過程被自動(dòng)加載到內(nèi)存中。4.3數(shù)據(jù)庫的使用1、翻開數(shù)據(jù)庫2、設(shè)置當(dāng)前數(shù)據(jù)庫3、檢查數(shù)據(jù)庫的有效性4、關(guān)閉數(shù)據(jù)庫5、刪除數(shù)據(jù)庫翻開數(shù)據(jù)庫新建的數(shù)據(jù)庫,保存后自動(dòng)翻開翻開數(shù)據(jù)庫表時(shí),系統(tǒng)也會(huì)自動(dòng)翻開相應(yīng)的數(shù)據(jù)庫工程管理器中翻開,同時(shí)出現(xiàn)數(shù)據(jù)庫設(shè)計(jì)器窗口翻開一個(gè)工程,系統(tǒng)自動(dòng)翻開工程所包含的數(shù)據(jù)庫〔關(guān)閉工程時(shí)數(shù)據(jù)庫也同時(shí)關(guān)閉〕命令:opendatabase[DataBaseName][exclusive|shared][noupdate][validate]exclusive|shared:缺省時(shí)以獨(dú)占方式翻開validate:翻開數(shù)據(jù)庫時(shí)進(jìn)行數(shù)據(jù)庫的有效性檢驗(yàn)可屢次使用該命令同時(shí)翻開多個(gè)數(shù)據(jù)庫opendatabasedb1opendatabasedb2opendatabasedb3設(shè)置當(dāng)前數(shù)據(jù)庫在所有翻開的數(shù)據(jù)庫中,只有一個(gè)是當(dāng)前數(shù)據(jù)庫,在翻開數(shù)據(jù)庫時(shí),最后一個(gè)翻開的數(shù)據(jù)庫為當(dāng)前數(shù)據(jù)庫當(dāng)前數(shù)據(jù)庫的設(shè)置(1)界面:常用工具欄(2)命令:setdatabasetoDatabaseName檢查數(shù)據(jù)庫的有效性假設(shè)用戶移動(dòng)了數(shù)據(jù)庫文件〔.〕或數(shù)據(jù)庫表文件,可能會(huì)破壞數(shù)據(jù)庫和庫表之間的雙向鏈接。命令validatedatabase可檢查數(shù)據(jù)庫的有效性和更新鏈接validatedatabase[recover][toprinter|tofileFileName]recover:更新鏈接,缺省時(shí)僅檢查數(shù)據(jù)庫的有效性,更新鏈接時(shí)假設(shè)庫表文件不在原位,那么翻開檢查數(shù)據(jù)庫對話框,要求進(jìn)行文件的定位to:檢查結(jié)果的去向,缺省時(shí)在VFP主窗口顯示注:只能處理以獨(dú)占方式翻開的當(dāng)前數(shù)據(jù)庫關(guān)閉數(shù)據(jù)庫界面:工程管理器命令:closedatabaseclosedatabase&&關(guān)閉當(dāng)前數(shù)據(jù)庫〔庫表同時(shí)被關(guān)閉〕,假設(shè)沒有翻開的數(shù)據(jù)庫,那么關(guān)閉所有工作區(qū)內(nèi)所有翻開的自由表、索引和格式文件,將當(dāng)前工作區(qū)設(shè)置為1號工作區(qū)closedatabaseall&&關(guān)閉所有翻開的數(shù)據(jù)庫刪除數(shù)據(jù)庫刪除數(shù)據(jù)庫將刪除存儲在數(shù)據(jù)庫中的一切信息〔存儲過程、視圖、表之間的關(guān)系、庫表的擴(kuò)展屬性等〕工程管理器:移去〔庫表自動(dòng)變?yōu)樽杂杀怼迟Y源管理器或deletefile命令〔不會(huì)刪除庫表中的鏈接信息,可用命令freetable刪除后鏈,使庫表成為自由表〕最好不用此方式!4.4VFP數(shù)據(jù)字典概述數(shù)據(jù)字典:是指存儲在數(shù)據(jù)庫中用于描述所管理的表和對象的數(shù)據(jù),即關(guān)于數(shù)據(jù)的數(shù)據(jù)〔元數(shù)據(jù)〕。數(shù)據(jù)字典使得對數(shù)據(jù)庫的設(shè)計(jì)和修改更加靈活,可以創(chuàng)立和指定以下內(nèi)容:表中字段的標(biāo)題、注釋、默認(rèn)值、輸入掩碼和顯示格式,以及表單中使用的默認(rèn)控件類等。表的主索引關(guān)鍵字。庫表之間的永久性關(guān)系長表名和表注釋字段級和記錄級有效性規(guī)那么存儲過程插入、更新和刪除事件的觸發(fā)器4.5數(shù)據(jù)庫表1、數(shù)據(jù)庫表的創(chuàng)立2、數(shù)據(jù)庫表的字段擴(kuò)展屬性3、數(shù)據(jù)庫表的表屬性4、數(shù)據(jù)庫表的約束機(jī)制及其激活時(shí)機(jī)5、數(shù)據(jù)庫表的添加與移去6、數(shù)據(jù)庫表的索引7、有關(guān)數(shù)據(jù)庫及數(shù)據(jù)庫表的幾點(diǎn)說明數(shù)據(jù)庫表的創(chuàng)立界面:(1)“工程管理器〞->“JXSJ數(shù)據(jù)庫〞并展開->“表〞->“新建〞->“庫表設(shè)計(jì)器〞(2)數(shù)據(jù)庫處于翻開狀態(tài),“數(shù)據(jù)庫設(shè)計(jì)器〞工具欄->“新表〞按鈕(3)數(shù)據(jù)庫處于翻開狀態(tài),“數(shù)據(jù)庫〞菜單->“新建表〞命令命令:createtable-SQLOpendatabasejxsjCreatetablexsaname'學(xué)生表之一'(xhc(7),xbc(2))Createtablexsbfree(xhc(7),xbc(2))Name子句:指定長表名Free子句:指定該表為自由表,且不包含在工程中數(shù)據(jù)庫表的字段擴(kuò)展屬性字段的根本屬性〔庫表和自由表均具有〕字段名、類型、寬度、小數(shù)位數(shù)庫表的擴(kuò)展屬性〔1〕字段的顯示屬性:指定輸入和顯示字段時(shí)的格式字段格式、輸入掩碼、標(biāo)題和注釋〔2〕字段的驗(yàn)證:限定字段的取值及取值范圍字段有效性規(guī)那么、有效性信息、字段的默認(rèn)值擴(kuò)展屬性可在表設(shè)計(jì)器中設(shè)置,有些屬性也可用createtable-sql,altertable-sql命令設(shè)置字段格式〔format〕字段格式用于指定字段顯示時(shí)的格式,包括在瀏覽窗口、表單或報(bào)表中顯示時(shí)的大小寫和樣式等。格式可以由一些字母或字母的組合來表示。A只允許字母和漢字,不允許空格或標(biāo)點(diǎn)符號E以英國日期格式編輯日期型數(shù)據(jù)K當(dāng)光標(biāo)移動(dòng)到文本框上時(shí),選定整個(gè)文本框L顯示前導(dǎo)零,只對數(shù)值型數(shù)據(jù)有效T刪除輸入字段前后空格!把字母轉(zhuǎn)換為大寫字母^使用科學(xué)記數(shù)法顯示數(shù)值型數(shù)據(jù)$顯示貨幣符號輸入掩碼〔inputmask〕用于指定字段中輸入數(shù)據(jù)的格式可使用字母或字母的組合來表示X可輸入任何字符9可輸入數(shù)字和正負(fù)符號#可輸入數(shù)字、空格和正負(fù)符號$在某一固定位置顯示當(dāng)前貨幣符號*在值的左側(cè)顯示星號.句點(diǎn)分隔符指定小數(shù)點(diǎn)的位置,逗號可以用來分隔小數(shù)點(diǎn)左邊的整數(shù)局部$$在微調(diào)控制框或文本框中,貨幣符號顯示時(shí)不與數(shù)字分開標(biāo)題〔caption〕和注釋〔comment〕標(biāo)題和注釋都是為了使表具有更好的可讀性,并不是必需的字段命名時(shí)首先考慮其可讀性,但有時(shí)為了使字段更為方便地參與運(yùn)算,字段名常采用簡練的形式假設(shè)簡練的字段名不能明確地表達(dá)含義,可為字段設(shè)置一個(gè)標(biāo)題,假設(shè)標(biāo)題還不能充分地表達(dá)含義或需要給字段以詳細(xì)的說明,還可給字段加上注釋字段有效性規(guī)那么,有效性信息有效性規(guī)那么:控制輸入字段的取值范圍,是一個(gè)包含該字段的邏輯表達(dá)式,在字段值改變時(shí)發(fā)生作用有效性信息:違反有效性規(guī)那么時(shí)需顯示的信息字符表達(dá)式,與有效性規(guī)那么配合使用有效性規(guī)那么說明(1)“表設(shè)計(jì)器〞->“字段〞->“字段驗(yàn)證〞->輸入規(guī)那么,信息(2)創(chuàng)立表的同時(shí):CREATTABLEcj(xhC(6),cjN(3,0);CHECKcj>=0ANDcj<=100error‘成績應(yīng)在0-100之間!')(3)表已經(jīng)存在:ALTERTABLEcjALTERCOLUMNcj;SETCHECKcj>=0ANDcj=100error‘成績應(yīng)在0-100之間!‘說明表已有記錄,設(shè)置或修改有效性規(guī)那么時(shí):首先必須確保記錄滿足將要設(shè)置的有效性規(guī)那么,假設(shè)滿足那么可順利設(shè)置;否那么,有效性規(guī)那么無法設(shè)置,或在確認(rèn)保存時(shí)選擇對現(xiàn)有的數(shù)據(jù)不做檢查。字段的默認(rèn)值默認(rèn)值:可減少數(shù)據(jù)輸入的工作量〔如涉及當(dāng)前日期的字段默認(rèn)值可設(shè)置為datetime()〕字段允許NULL,可設(shè)置默認(rèn)值為NULL;否那么不可設(shè)置為NULL用戶未指定字段的默認(rèn)值且字段不允許為空值,系統(tǒng)那么按(1)“表設(shè)計(jì)器〞->“字段〞->“字段驗(yàn)證〞->輸入默認(rèn)值(2)CREATTABLEcj(xhC(6)default‘0500000’,cjN(3,0))(3)ALTERTABLEcjALTERCOLUMNxhsetdefault‘0500000’字符型:與字段寬度相等的空串?dāng)?shù)值,雙精度,浮點(diǎn),貨幣,整型:0邏輯型:.F.備注型通用型:無日期型日期時(shí)間型:空的日期數(shù)據(jù)庫表的表屬性長表名與表注釋、記錄有效性規(guī)那么及信息、觸發(fā)器長表名與表注釋vfp中規(guī)定數(shù)據(jù)庫與自由表的表名最大長度為128個(gè)字符如設(shè)置了長表名那么在各種對話框、窗口中均以長表名代替表名長表名與文件名可以同樣使用長表名的設(shè)置:〔1〕表設(shè)計(jì)器〔2〕createtable中用name子句指定長表名

表注釋:表的說明信息,說明表的含義表的記錄級驗(yàn)證規(guī)那么字段有效性規(guī)那么僅對當(dāng)前字段有效記錄有效性規(guī)那么可校驗(yàn)多個(gè)字段之間的關(guān)系是否滿足某種規(guī)那么設(shè)置:(1)“表設(shè)計(jì)器〞->“表〞->“規(guī)那么〞或“信息〞(2)Createtable命令的check,error子句或Altertable命令的setcheck,error子句〔同字段級驗(yàn)證規(guī)那么〕Altertablejssetcheckyear(gzrq)-year(csrq)>=18error‘…滿18歲’刪除:表設(shè)計(jì)器中或altertable命令的drop子句,如:altertablejsdropcheck記錄級驗(yàn)證規(guī)那么設(shè)置說明記錄級驗(yàn)證規(guī)那么設(shè)置說明在記錄值發(fā)生改變時(shí)被激活記錄指針移動(dòng)時(shí)檢查記錄級驗(yàn)證規(guī)那么

(1)修改記錄沒移動(dòng)記錄指針,關(guān)閉“瀏覽〞窗口時(shí)仍然要檢查記錄級規(guī)那么(2)如對一張表增設(shè)記錄級有效性規(guī)那么,設(shè)置結(jié)束時(shí)要按此規(guī)那么對所有記錄進(jìn)行檢查,如有記錄不符合規(guī)那么,那么該規(guī)那么不被成認(rèn),或在確認(rèn)保存時(shí)選擇不對現(xiàn)有數(shù)據(jù)進(jìn)行驗(yàn)證

表的觸發(fā)器觸發(fā)器是綁定在表上的邏輯表達(dá)式(.T.允許進(jìn)行相應(yīng)操作,.F.不允許進(jìn)行相應(yīng)操作)當(dāng)表中的記錄被修改〔插入、更新、刪除〕時(shí),在進(jìn)行了其它所有檢查〔有效性規(guī)那么,主關(guān)鍵字,null值〕之后被激活分類插入觸發(fā)器:每次向表中插入或追加記錄時(shí)觸發(fā)該規(guī)那么更新觸發(fā)器:每次在表中修改記錄時(shí)觸發(fā)該規(guī)那么刪除觸發(fā)器:每次在表中刪除記錄時(shí)觸發(fā)該規(guī)那么設(shè)置表設(shè)計(jì)器命令createtrigger刪除表設(shè)計(jì)器命令deletetrigger格式:Createtriggeron

TableName;fordelete|insert|updateas

lExp例,createtriggeronkcforupdate.f.createtriggeron

js

fordelete

gl=50格式:deletetriggeron

TableName;fordelete|insert|update例,deletetriggeronkcforupdate數(shù)據(jù)庫表的約束機(jī)制及其激活時(shí)機(jī)約束機(jī)制級別激活機(jī)制Null有效性字段|列從瀏覽中離開字段|列,或執(zhí)行插入,更改字段值時(shí)字段有效性規(guī)則字段|列從瀏覽中離開字段|列,或執(zhí)行插入,更改字段值時(shí)記錄有效性規(guī)則記錄發(fā)生記錄更新時(shí)候選|主索引記錄發(fā)生記錄更新時(shí)Valid子句表單移出記錄時(shí)觸發(fā)器表在插入,更改,刪除事件中,表中值改變時(shí)數(shù)據(jù)庫表的添加與移去添加:自由表添加到數(shù)據(jù)庫中成為數(shù)據(jù)庫表,建立了庫與表之間的雙向鏈接界面:“工程管理器〞或“數(shù)據(jù)庫設(shè)計(jì)器〞窗口或“數(shù)據(jù)庫〞菜單->“添加表〞命令:addtableTableName[nameLongTableName]移去:數(shù)據(jù)庫表從數(shù)據(jù)庫中釋放出來成為自由表,刪除了庫與表的雙向鏈接界面:“工程管理器〞或“數(shù)據(jù)庫設(shè)計(jì)器〞窗口命令:removetableTableName[delete]注:一張表在同一時(shí)間內(nèi)只能屬于一個(gè)數(shù)據(jù)庫,假設(shè)意外刪除了某數(shù)據(jù)庫文件,其包含的庫表仍保存對數(shù)據(jù)庫引用的后鏈,不能被添加到其他的數(shù)據(jù)庫中,需利用freetableTableName刪除庫表中的后鏈,使之成為自由表數(shù)據(jù)庫表的索引1、一切自由表的有關(guān)索引均適合于數(shù)據(jù)庫表2、庫表還可以設(shè)置主索引,構(gòu)成主索引的索引表達(dá)式的值對各條記錄來說必須唯一,且每張庫表只能設(shè)置一個(gè)主索引3、庫表設(shè)置主索引的主要用途:為了建立表之間的永久關(guān)系注:主索引與其它索引分別采用不同的圖標(biāo)顯示有關(guān)數(shù)據(jù)庫及數(shù)據(jù)庫表的幾點(diǎn)說明1.單張表來說,庫表僅比自由表具有字段擴(kuò)展屬性,可設(shè)置主索引。但在實(shí)際應(yīng)用中,系統(tǒng)有多張關(guān)聯(lián)的表組成,且各表的數(shù)據(jù)都應(yīng)有一些約束條件,因此應(yīng)盡可能地使用數(shù)據(jù)庫表。2.同時(shí)使用多個(gè)數(shù)據(jù)庫時(shí),假設(shè)要翻開或說明非當(dāng)前庫中的表,使用‘!’符號,如jxsj!xs。3.移動(dòng)庫文件的存儲位置時(shí),應(yīng)相應(yīng)地考慮該數(shù)據(jù)庫的庫表文件的存儲位置,否那么可能會(huì)出現(xiàn)前后鏈不一致。4.不要輕易地從數(shù)據(jù)庫中移去表,因?yàn)閹毂硪迫r(shí)會(huì)喪失存儲在庫中的字段擴(kuò)展屬性,表屬性等。5.屢次修改數(shù)據(jù)庫結(jié)構(gòu),數(shù)據(jù)庫表結(jié)構(gòu)之后,應(yīng)進(jìn)行數(shù)據(jù)庫清理〔數(shù)據(jù)庫菜單/清理數(shù)據(jù)庫命令〕4.6永久關(guān)系與參照完整性可為相關(guān)的兩張表創(chuàng)立永久關(guān)系且基于永久關(guān)系可創(chuàng)立者兩張表之間的數(shù)據(jù)完整性規(guī)那么表之間關(guān)系的種類表之間的永久關(guān)系參照完整性VFP數(shù)據(jù)完整性綜述表之間關(guān)系的種類關(guān)系模型中實(shí)體之間的聯(lián)系有三種:一對一、一對多、多對多的聯(lián)系對應(yīng)于關(guān)系數(shù)據(jù)庫中表之間的三種關(guān)系1、一對一關(guān)系特點(diǎn):甲表的一個(gè)記錄在乙表中有且僅有一個(gè)相應(yīng)記錄乙表的一個(gè)記錄在甲表中也有且僅有一個(gè)記錄與之對應(yīng)使用:實(shí)際應(yīng)用中不常使用,因?yàn)樵谠S多情況下,兩張表可合二為一2、一對多關(guān)系特點(diǎn):甲表的任意一個(gè)記錄在乙表中有多個(gè)記錄與之對應(yīng)〔父表、一表〕乙表的每個(gè)記錄在甲表僅有一個(gè)記錄與之對應(yīng)〔子表、多表〕3、多對多關(guān)系特點(diǎn):甲表的任意一個(gè)記錄在乙表中有多個(gè)記錄與之對應(yīng)乙表的每個(gè)記錄在甲表也有多個(gè)記錄與之對應(yīng)使用:多對多關(guān)系不能直接利用,必須建立第三張表稱為紐帶表把多對多關(guān)系分解為兩個(gè)一對多的關(guān)系,第三張表存儲了兩張表的主關(guān)鍵字,其主關(guān)鍵字可有兩個(gè)外鍵組成表之間的永久關(guān)系persistentrelationship永久關(guān)系是庫表之間的一種關(guān)系,這種關(guān)系不僅在運(yùn)行時(shí)存在,且一直保持,是根據(jù)表的索引建立的。索引的類型決定了要?jiǎng)?chuàng)立的永久關(guān)系類型一對一關(guān)系,兩張表都必須為主索引或候選索引一對多關(guān)系,主表必須用為主索引或候選索引,子表可用普通索引永久關(guān)系的作用查詢設(shè)計(jì)器和視圖設(shè)計(jì)器窗口中,自動(dòng)作為默認(rèn)聯(lián)接條件作為表單和報(bào)表的默認(rèn)關(guān)系用來存儲參照完整性信息創(chuàng)立永久關(guān)系的方法確定兩張表的關(guān)系類型建立相應(yīng)的索引建立永久關(guān)系編輯永久關(guān)系:雙擊關(guān)系連線,翻開“編輯關(guān)系〞對話框刪除永久關(guān)系:單擊連線,delete建立永久關(guān)系〔1〕在數(shù)據(jù)庫設(shè)計(jì)器窗口中,鼠標(biāo)拖動(dòng)即可建立永久關(guān)系〔2〕CREATTABLECJ(xhC(5),kcdhC(6),FOREIGNKEYxhTAGxhREFERENCExs)〔3〕ALTERTABLEcjADDTABLEFOREIGNKEYxhTAGxhREFERENCExs〕參照完整性referentialintegrityRI是用來控制數(shù)據(jù)的完整性,尤其是庫中相關(guān)表之間的主鍵和外鍵之間數(shù)據(jù)一致性的規(guī)那么RI的一般要求RI的設(shè)置RI規(guī)那么是建立在永久關(guān)系根底之上的右擊關(guān)系連線-〉執(zhí)行參照完整性菜單命令或編輯關(guān)系對話框中單擊“參照完整性〞按鈕〔出現(xiàn)“參照完整性生成器〞對話框〕RI規(guī)那么RI規(guī)那么的保存:設(shè)置RI規(guī)那么時(shí),系統(tǒng)會(huì)自動(dòng)生成該規(guī)那么的程序代碼,被保存在數(shù)據(jù)庫的存儲過程中RI規(guī)那么的實(shí)施:由系統(tǒng)自動(dòng)設(shè)置的主表和子表的觸發(fā)器完成(1)子表中的每一個(gè)記錄在對應(yīng)的主表中必須有一個(gè)父記錄(2)在子表插入記錄時(shí),其外部關(guān)鍵字必須是父表主關(guān)鍵字值中的一個(gè)(3)在父表中刪除記錄,與該記錄相關(guān)的子表中的記錄必須刪除防止出現(xiàn)“孤立記錄〞VFP數(shù)據(jù)完整性綜述VFP引進(jìn)關(guān)系型數(shù)據(jù)庫的三類完整性:1、實(shí)體完整性:字段的數(shù)據(jù)完整性,記錄的數(shù)據(jù)完整性2、參照完整性:相關(guān)表之間的數(shù)據(jù)一致性由表的觸發(fā)器實(shí)施3、用戶自定義完整性:是指

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論