国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VFP的管理信息系統(tǒng)數(shù)據(jù)完整性控制方法探討

2009-12-23 02:28梁玉磊王東菊翟傳英
中國教育技術(shù)裝備 2009年30期
關(guān)鍵詞:管理信息系統(tǒng)數(shù)據(jù)庫

梁玉磊 孔 峰 馬 暉 王東菊 翟傳英

摘要 數(shù)據(jù)完整性約束是數(shù)據(jù)庫系統(tǒng)設(shè)計中的一個重要問題。通過對數(shù)據(jù)庫數(shù)據(jù)完整性概念、原理的分析,說明數(shù)據(jù)庫應用系統(tǒng)設(shè)計中實現(xiàn)數(shù)據(jù)完整性的重要意義,提出在基于VFP的管理信息系統(tǒng)中實現(xiàn)數(shù)據(jù)完整性控制的方法。

關(guān)鍵詞 數(shù)據(jù)庫,管理信息系統(tǒng),數(shù)據(jù)完整性

中圖分類號:TP311.131 文獻標識碼:B 文章編號:1671-489X(2009)30-0092-02

Discussion of Methods of Data Integrity Constraints on Management Information System based on VFP//Liang Yulei, Kong Feng, Ma Hui, Wang Dongju, Zhai Chuanying

Abstract Data integrity constraints in database systems design is an important issue. Through the analysis on the concepts and principles of data integrity of the database, Illustrates the important significance of data integrity in development of database application system. Proposed three methods of data integrity constraints on Management Information System Based on VFP.

Key words data base; management information system; data integrity

Authors address College of Information Technology and Communication, Qufu Normal University, Rizhao, Shandong, 276826, China

1 前言

管理信息系統(tǒng)是基于數(shù)據(jù)庫的應用系統(tǒng),其質(zhì)量首先體現(xiàn)在它所提供的數(shù)據(jù)的質(zhì)量,如果不能提供正確、可信的數(shù)據(jù),則管理信息系統(tǒng)也就失去存在的意義。數(shù)據(jù)的質(zhì)量主要體現(xiàn)在2個方面:一是要及時反映現(xiàn)實世界的狀態(tài);二是要保證數(shù)據(jù)的一致性,即滿足數(shù)據(jù)的完整性約束。本文主要討論數(shù)據(jù)的完整性控制在微機上的實現(xiàn)。

Visual FoxPro(VFP)是微軟公司推出的數(shù)據(jù)庫管理系統(tǒng),它以其易學易用、操作簡便、功能完善等特性成為管理信息系統(tǒng)開發(fā)的常用工具軟件。該軟件提供了較為完備的數(shù)據(jù)完整性控制機制,但作為一個功能完善的管理信息系統(tǒng),僅依靠軟件本身提供的數(shù)據(jù)完整性控制機制是不夠的。

2 數(shù)據(jù)完整性的含義及實現(xiàn)原理

數(shù)據(jù)庫中數(shù)據(jù)的完整性指的是數(shù)據(jù)的正確性和一致性。關(guān)系數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)完整性控制本質(zhì)上是指數(shù)據(jù)是否滿足特定的語義約束。數(shù)據(jù)不僅要符合語法的要求,還要滿足它的語義約束,亦即滿足語法關(guān)系的數(shù)據(jù)不一定在語義上是合法的。如一個人的工資不僅要用數(shù)字表示,而且還不能是負數(shù);學生的考試成績應在100分到0分之間;等等,這些都是語義上的限制。數(shù)據(jù)的語義不但會限制屬性的值,而且還會制約屬性之間的關(guān)系。如關(guān)系中主關(guān)鍵字的值決定關(guān)系中其他屬性的值,所以,主關(guān)鍵字的值就不能重復出現(xiàn)或為NULL。若數(shù)據(jù)被更新時使屬性的值超越定義的范圍或破壞與其他屬性之間的關(guān)系,則應該給出提示信息并拒絕執(zhí)行更新。

數(shù)據(jù)完整性有3個方面的內(nèi)容:實體完整性、域完整性和參照完整性。實體完整性是保證數(shù)據(jù)庫中實體唯一的特性,在VFP數(shù)據(jù)表中指定某個屬性作為關(guān)鍵字并保證其值的唯一性,該關(guān)鍵字的值可以唯一地確定表中的一行數(shù)據(jù)。域完整性是指數(shù)據(jù)項的取值要滿足一定的條件,上面所舉工資不能小于零的例子就是這類完整性。參照完整性是指當修改一個表中數(shù)據(jù)時需要參考其他表中數(shù)據(jù)的值,即2個數(shù)據(jù)之間存在引用參照關(guān)系。如成績表輸入某科成績,若課程表中不存在該門課程,則輸入無效。

3 實現(xiàn)數(shù)據(jù)完整性的幾種方法

一般來說,管理信息系統(tǒng)實現(xiàn)數(shù)據(jù)完整性的方法有3種:利用數(shù)據(jù)庫系統(tǒng)自身提供的完整性約束功能、應用系統(tǒng)編程實現(xiàn)、利用前端開發(fā)工具設(shè)計友好的數(shù)據(jù)輸入界面實現(xiàn)。

3.1 數(shù)據(jù)庫系統(tǒng)自身提供的完整性約束功能從本質(zhì)上說,面向數(shù)據(jù)的完整性約束反映的是數(shù)據(jù)的語義約束,這些約束與具體應用無關(guān),即不論何種具體應用都應該滿足這些約束。因此,數(shù)據(jù)的完整性控制應放在數(shù)據(jù)庫和表的定義中實現(xiàn)。而這種方式也是最直接、最簡便的方法。現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng)都提供數(shù)據(jù)完整性約束功能。

在VFP中實現(xiàn)表的定義時提供實體完整性和域完整性控制機制。通過把關(guān)系的關(guān)鍵字指定為主索引即可保證數(shù)據(jù)的實體完整性,可以保證數(shù)據(jù)記錄的關(guān)鍵字不會為空、不會出現(xiàn)重復值,一旦出現(xiàn)違反這一規(guī)則的更新,將由系統(tǒng)給出錯誤提示并拒絕操作。通過設(shè)置記錄級有效性規(guī)則,提供更為完善的實體完整性控制。如成績表中的各科成績屬性和總成績屬性之間的約束關(guān)系,就可以通過設(shè)置記錄級有效性規(guī)則“各科成績的和等于總成績”來實現(xiàn)完整性控制。

VFP中提供對字段數(shù)據(jù)類型、寬度、精度等的規(guī)定,用于保證數(shù)據(jù)的基本域完整性,通過設(shè)置字段有效性規(guī)則來保證更為嚴格的域完整性控制。如語意“年齡在18到45歲之間”,可以通過設(shè)置字段級有效性規(guī)則“年齡>=0 and 年齡<=45”來實現(xiàn)。

在VFP中使用參照完整性生成器實現(xiàn)參照完整性控制,參照完整性設(shè)計的主要任務是定義主表和子表之間的參照關(guān)系,生成插入、更新和刪除觸發(fā)器。

VFP的參照完整性規(guī)則包括3種:1)插入規(guī)則,用于設(shè)定向子表插入一個新的記錄時,若父表中沒有與之相匹配的記錄,是否限制該記錄添加到子表中;2)更新規(guī)則,當父表中的關(guān)鍵字段值被改變時,可能導致子表中出現(xiàn)孤立記錄,是否同時更新子表中相應記錄;3)刪除規(guī)則,當刪除父表中記錄時,如果該記錄在子表中有匹配記錄,是允許刪除該父表記錄還是同時刪除子表中匹配的記錄。如設(shè)置課程表和成績表之間的參照關(guān)系,插入規(guī)則為“限制”,則向成績表輸入某科成績,若課程表中不存在該門課程,則輸入無效。

3.2 應用系統(tǒng)編程應用系統(tǒng)編程對管理信息系統(tǒng)設(shè)計者來說是負擔最重的方法,但同時又是最基本、最靈活的方法。不論數(shù)據(jù)庫管理系統(tǒng)提供了多么豐富的完整性約束手段,利用編程接口保證數(shù)據(jù)完整性仍是所有信息系統(tǒng)設(shè)計者必須掌握的關(guān)鍵技術(shù)之一。

如在輸入學生信息時,學生的信息有很多項內(nèi)容,如學號、姓名、年齡等,如果僅在VFP數(shù)據(jù)表定義中通過字段有效性規(guī)則對取值范圍進行限制,那只有在執(zhí)行語句時,數(shù)據(jù)庫管理系統(tǒng)才能判定己輸入的值是否符合規(guī)定,即只有在輸入全部數(shù)據(jù)項內(nèi)容且發(fā)送更新之后,用戶才可能會被告之在已輸入的數(shù)據(jù)中有某個數(shù)據(jù)超出規(guī)定范圍。假如這個有問題的數(shù)據(jù)一旦輸入就被檢查出來并立即反饋給用戶,將極大地改善系統(tǒng)的可操作性。這就只有借助應用系統(tǒng)編程的方法,直接檢查用戶輸入數(shù)據(jù)是否符合規(guī)定范圍。

下面是VFP界面設(shè)計中判斷在文本框(Text1)中輸入年齡數(shù)據(jù)的完整性判斷代碼(Text1的LostFocus事件):

IF This.Value<18 OR This.Value>45

WAIT “年齡應在18到45歲之間,請重新輸入!” TIMEOUT 3

This.SetFocus

ENDIF

3.3 利用前端開發(fā)工具設(shè)計友好的數(shù)據(jù)輸入界面利用應用系統(tǒng)編程可以靈活地控制輸入數(shù)據(jù)的完整性,但該方法較為復雜,還可以利用高級程序設(shè)計語言提供的前端開發(fā)工具,更便捷地實現(xiàn)用戶輸入數(shù)據(jù)時的數(shù)據(jù)完整性控制。在VFP的表單設(shè)計器中提供控件工具箱,其中有用戶界面中所需的各類數(shù)據(jù)輸入控件,如選項按鈕組、組合框、列表框、復選框、微調(diào)器等。充分利用不同類型的控件來輸入數(shù)據(jù)可以明顯降低出錯率、提高數(shù)據(jù)錄入效率。

如在界面上輸入學生的專業(yè)名稱,利用文本框手工輸入時極易造成輸入專業(yè)名稱不標準,造成數(shù)據(jù)錯誤。若在界面上提供的錄入控件是組合框,用戶輸入時直接在組合框里選擇已定義好的專業(yè)名稱,則可以有效避免此類錯誤。如組合框Combo1的初始化代碼為:

This.RowSourceType=3

This.RowSource=“SELE 專業(yè)名 FROM 專業(yè) INTO CURSOR TMP”

4 小結(jié)

數(shù)據(jù)完整性是管理信息系統(tǒng)設(shè)計、數(shù)據(jù)庫設(shè)計中的一個重要問題,數(shù)據(jù)完整性控制實現(xiàn)得好壞直接影響到數(shù)據(jù)庫的性能。充分、有效地利用各類方法將能更方便、更完善地實現(xiàn)數(shù)據(jù)的完整性控制。

比較起來,利用前端開發(fā)工具設(shè)計友好的用戶界面這種方法最簡單,但它所能解決的問題是最有限的。使用數(shù)據(jù)庫自身提供的強大的數(shù)據(jù)庫完整性約束功能,可以在很大程度上減少應用開發(fā)的負擔,這是最直接、最方便的數(shù)據(jù)完整性控制方法。應用系統(tǒng)編程的方式則是最靈活的數(shù)據(jù)完整性控制方法,當然也是這3種方法中實現(xiàn)最復雜的一種。以上3種方法各具特點,在實際應用中應根據(jù)具體情況選用相應的方法。

參考文獻

[1]高春玲,張新顏.數(shù)據(jù)完整性機制的認識與應用[J].洛陽大學學報,2003(12)

[2]方景星.數(shù)據(jù)庫完整性設(shè)計[J].計算機世界報,2003(10)

[3]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2000

[4]姜浩.Visual FoxPro實現(xiàn)數(shù)據(jù)完整性約束的方法[J].計算機輔助工程,1997(9)

猜你喜歡
管理信息系統(tǒng)數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
高校圖書館管理信息系統(tǒng)的完善和發(fā)展研討
應用技術(shù)型本科工程管理類專業(yè)《管理信息系統(tǒng)》課程教學改革
基于B/S結(jié)構(gòu)的學生公寓管理信息系統(tǒng)的設(shè)計與實現(xiàn)
基于“互聯(lián)網(wǎng)+”的企業(yè)管理信息系統(tǒng)優(yōu)化分析
基于工作流的水運應急信息管理平臺設(shè)計 
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫