在线观看av毛片亚洲_伊人久久大香线蕉成人综合网_一级片黄色视频播放_日韩免费86av网址_亚洲av理论在线电影网_一区二区国产免费高清在线观看视频_亚洲国产精品久久99人人更爽_精品少妇人妻久久免费

首頁 > 文章中心 > 正文

計(jì)算機(jī)畢業(yè)基于ClientServer數(shù)據(jù)完整性約束實(shí)現(xiàn)技術(shù)

前言:本站為你精心整理了計(jì)算機(jī)畢業(yè)基于ClientServer數(shù)據(jù)完整性約束實(shí)現(xiàn)技術(shù)范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。

計(jì)算機(jī)畢業(yè)基于ClientServer數(shù)據(jù)完整性約束實(shí)現(xiàn)技術(shù)

計(jì)算機(jī)畢業(yè)論文

摘要:本論文主要討論基于Client/Server數(shù)據(jù)完整性約束及其如何實(shí)施企業(yè)業(yè)務(wù)規(guī)則,并以SQLServer和PowerBuilder為例,介紹了數(shù)據(jù)完整性約束的實(shí)現(xiàn)技術(shù)

關(guān)鍵詞:Client/Server,數(shù)據(jù)完整性約束,企業(yè)業(yè)務(wù)規(guī)則

DBMS已從早期的分散的一個(gè)個(gè)計(jì)算模型、網(wǎng)絡(luò)/文件服務(wù)計(jì)算模型(針對(duì)文件)發(fā)展到現(xiàn)在的Client/Server計(jì)算模型(針對(duì)表中的一行)。Client/Server模型是非對(duì)等的(decoupled),客戶發(fā)出服務(wù)請(qǐng)求,服務(wù)器作出響應(yīng),提供服務(wù),即所謂的"請(qǐng)求驅(qū)動(dòng)"。DB的Client/Server系統(tǒng)由DBServer、客戶應(yīng)用程序和網(wǎng)絡(luò)組成。DBServer(即后端)負(fù)責(zé)有效地管理系統(tǒng)的資源,主要負(fù)責(zé)數(shù)據(jù)處理、并發(fā)控制、數(shù)據(jù)安全性、數(shù)據(jù)完整性和數(shù)據(jù)的備份和恢復(fù)等。客戶應(yīng)用程序(即前端)是系統(tǒng)中供用戶與數(shù)據(jù)進(jìn)行交互的部件,主要任務(wù)是提供交互式界面完成數(shù)據(jù)的錄入、分析、檢查和顯示,向DBServer發(fā)出請(qǐng)求(SQL語句)并接收結(jié)果和錯(cuò)誤信息。網(wǎng)絡(luò)和通信軟件是系統(tǒng)中客戶和服務(wù)器之間數(shù)據(jù)傳送的工具。

由于現(xiàn)在的數(shù)據(jù)庫都是開放、多用戶共享,因此維護(hù)數(shù)據(jù)庫的正確性至關(guān)重要。數(shù)據(jù)庫的完整性描述為數(shù)據(jù)庫內(nèi)容的完整性約束集合,其中完整性約束指數(shù)據(jù)庫的一個(gè)狀態(tài)是否合理,這是一組謂詞。DBS檢查數(shù)據(jù)的狀態(tài)和狀態(tài)轉(zhuǎn)換,判定它們是否合理,是否應(yīng)予接受。對(duì)一個(gè)數(shù)據(jù)庫操作,要判定其是否符合完整性約束,全部斷言無矛盾時(shí)才可以執(zhí)行。完整性約束的形式化定義I=(O,P,A,R),其中O是完整性約束所涉及的數(shù)據(jù)對(duì)象集合,P是對(duì)象所滿足的謂詞,A是觸發(fā)檢查的條件,R是約束不滿足時(shí)的反應(yīng)動(dòng)作[2]

一、常見的數(shù)據(jù)完整性約束

根據(jù)分類角度不同,可將完整性約束分為如下幾類:

·域、元組、集合完整性

·立即約束和推遲(到EOT)約束

·狀態(tài)約束和狀態(tài)演變約束。

·標(biāo)準(zhǔn)和定制的數(shù)據(jù)完整性約束

實(shí)際的系統(tǒng)中,一般將數(shù)據(jù)完整性約束分為標(biāo)準(zhǔn)的數(shù)據(jù)完整性約束和定制的數(shù)據(jù)完整性約束。標(biāo)準(zhǔn)的數(shù)據(jù)完整性約束是DBS已經(jīng)實(shí)現(xiàn)的內(nèi)部規(guī)則,包括域完整性、實(shí)體完整性和引用完整性。

域完整性(FieldIntegrity)保證一個(gè)數(shù)據(jù)庫不包含無意義的或不合理的值,即保證表的某一列的任何值是該列域(即合法的數(shù)據(jù)集合)的成員。方法是限制列的數(shù)據(jù)類型、精度、范圍、格式和長度等。

實(shí)體完整性(EntityIntegrity)保證一個(gè)表中的每一行必須是唯一的(元組的唯一性)。為保證實(shí)體完整性,需指定一個(gè)表中的一列或一組列作為它的主鍵(PrimaryKey)。一個(gè)表中每行的主鍵必須確實(shí)含有一個(gè)值。一個(gè)表只能含有一個(gè)主鍵,如需要從其它列中除去重復(fù)的值,可以將一個(gè)或一組非主鍵列指定為一個(gè)候選鍵或唯一值鍵。

引用完整性(ReferenceIntegrity)定義了一個(gè)關(guān)系數(shù)據(jù)庫中不同的列和不同的表之間的關(guān)系(主鍵與外鍵)。要求一列或一組列中的值必須要與相關(guān)的一列或一組列中的值相匹配。從屬的一列或一組列稱之為外鍵(ForeignKey)。被引用的列或一組列稱之為父鍵,父鍵必須是一個(gè)主鍵或唯一鍵。外鍵屬于子表或明細(xì)表,父鍵屬于父表或主表。若父鍵和外鍵屬于同一表,則稱之為自引用完整性。子表某行的外鍵必須與主表的主鍵相匹配,只要依賴于某主鍵的外鍵仍存在,主表中包含該主鍵的行就不能刪除。

由于每個(gè)公司的數(shù)據(jù)庫都有自己獨(dú)特的業(yè)務(wù)規(guī)則集,所以系統(tǒng)必須有一種方式來實(shí)現(xiàn)定制的業(yè)務(wù)規(guī)則即定制的數(shù)據(jù)完整性約束。定制的數(shù)據(jù)完整性約束可由如下幾種方法實(shí)施。

一種最原始的方法是將將每一個(gè)完整性約束編入要訪問數(shù)據(jù)庫的每個(gè)應(yīng)用程序中,缺點(diǎn)是在每個(gè)相關(guān)的數(shù)據(jù)庫應(yīng)用程序中,開發(fā)者都要對(duì)相同的完整性規(guī)則進(jìn)行編碼、測試和排錯(cuò)。若某一規(guī)則變動(dòng),所有相關(guān)的應(yīng)用程序都得改動(dòng)。應(yīng)用程序須向DBServer請(qǐng)求大量的數(shù)據(jù),以執(zhí)行該應(yīng)用程序內(nèi)部的數(shù)據(jù)完整性規(guī)則檢查,這將阻塞網(wǎng)絡(luò)。因而這是一種耗時(shí)、低性能的方法。

用戶定義的數(shù)據(jù)類型(User-definedDataType)是由標(biāo)準(zhǔn)數(shù)據(jù)類型導(dǎo)出的新數(shù)據(jù)類型,它比標(biāo)準(zhǔn)的數(shù)據(jù)類型更準(zhǔn)確地限定了數(shù)據(jù)輸入的范圍。

約束(Check)用于限制列的值域,在數(shù)據(jù)類型限制的基礎(chǔ)上對(duì)輸入的數(shù)據(jù)進(jìn)一步進(jìn)行限制。通過邏輯表達(dá)式來定義列的有效值。

缺省(Default)定義了一個(gè)數(shù)值,當(dāng)用戶向數(shù)據(jù)表插入數(shù)據(jù)時(shí),若某個(gè)域未給定值,系統(tǒng)自動(dòng)將定義在該域上的缺省作為輸入

值,保證數(shù)據(jù)庫數(shù)據(jù)的合理性。

規(guī)則(Rule)是一個(gè)用來綁定域或用戶定義數(shù)據(jù)類型的數(shù)據(jù)庫對(duì)象,規(guī)則說明了哪些數(shù)據(jù)可以輸入到域中。任何時(shí)刻,用戶輸入或修改數(shù)據(jù)(INSERT或UPDATE),DBMS都將檢查該數(shù)據(jù)是否違反綁定在域上的規(guī)則。

存儲(chǔ)過程(StoredProcedure)是由編譯過的SQL語句、控制流語句、變量說明和賦值運(yùn)算等組成的集合,由開發(fā)者創(chuàng)建并存儲(chǔ)在數(shù)據(jù)字典(大部分DBMS叫系統(tǒng)表)中。我們可以通過存儲(chǔ)過程中的語句來定義企業(yè)業(yè)務(wù)規(guī)則,特別對(duì)于復(fù)雜的表與表之間的餓關(guān)系,用存儲(chǔ)過程來實(shí)現(xiàn)將變得相當(dāng)容易。

觸發(fā)器(Trigger)也是一個(gè)存儲(chǔ)過程,該過程在插入、修改和刪除等操作事前或事后由DBS自動(dòng)激發(fā)(執(zhí)行)。經(jīng)常用于實(shí)現(xiàn)邏輯上相關(guān)的數(shù)據(jù)表之間的數(shù)據(jù)完整性和一致性。觸發(fā)器非常適合于實(shí)施企業(yè)規(guī)則,如果某個(gè)輸入違反了其中的某個(gè)企業(yè)規(guī)則,觸發(fā)器可以顯示相應(yīng)錯(cuò)誤并中止正在執(zhí)行的數(shù)據(jù)庫動(dòng)作。

文檔上傳者

相關(guān)期刊

計(jì)算機(jī)

省級(jí)期刊 審核時(shí)間1個(gè)月內(nèi)

長江計(jì)算機(jī)(集團(tuán))公司

現(xiàn)代計(jì)算機(jī)

省級(jí)期刊 審核時(shí)間1個(gè)月內(nèi)

中山大學(xué)

計(jì)算機(jī)科學(xué)

北大期刊 審核時(shí)間1-3個(gè)月

國家科學(xué)技術(shù)部

巨野县| 德州市| 正镶白旗| 革吉县| 东乡县| 阳山县| 莱阳市| 馆陶县| 陕西省| 溧阳市| 铜梁县| 兴城市| 雷山县| 台安县| 胶南市| 庄浪县| 东城区| 浦东新区| 光山县| 华宁县| 根河市| 西平县| 云浮市| 西充县| 娄烦县| 双辽市| 五莲县| 新邵县| 盐源县| 嘉黎县| 吐鲁番市| 湾仔区| 阿拉善左旗| 宣城市| 二连浩特市| 常山县| 武川县| 佛学| 祁连县| 上思县| 石首市|