麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

加強客戶端約束增強數據庫完整性

2019-11-18 17:46:54
字體:
來源:轉載
供稿:網友
數據庫的完整性是影響客戶/服務器應用系統正常運行的重要因素。維護數據庫的完整性不僅是數據庫設計人員的任務,也需要客戶端開發人員的積極參與。不在客戶端進行完整性約束,一般會引起ODBC錯誤,導致數據庫操作失敗,程序異常中斷。更為嚴重的是在某些情況下會突破服務器的約束機制,破壞后臺數據庫的完整性。因此,只有雙方相互配合才能開發出完整、可靠的客戶/服務器系統。下面以MSSQLServer6.5和VB5.0為例,對客戶端應用開發中的數據庫完整性問題進行討論。其原理同樣適用于其他開發環境。

數據庫完整性分類

實體完整性(EntityIntegrity),指表和它模仿的實體一致。
域完整性(DomainIntegrity),某一數據項的值是合理的。
參照(引用)完整性(ReferenceIntegrity),在一個數據庫的多個表中保持一致性。
用戶定義完整性(User-definedIntergrity)。
分布式數據完整性(DistributeddataIntegrity)。

  其中分布式數據完整性不在本文的討論范圍。

數據庫完整性的解決方法

  在MSSQLServer6.5中,用約束的方法來保證上述完整性。

  ●列約束

  NOTNULL為指定該列不能為空值;
  DEFAULT為指定當沒有輸入值時該列的默認值;
  UNIQUE為指定該列不能有重復值,但可對定義為關鍵字以外的任何列使用;
  CHECK為對列指定規則,如值的定義域,可限制輸入到受約束列中的值。

  ●表約束

  PRIMARYKEY為對表指定主關鍵字。用來保證列的完整性和引用完整性。它的主要作用:
  1.通過確保一個或多個列不允許輸入重復值來保證表的所有行是唯一的。
  2.保證受約束的列不允許為空值。從這個角度來講,相當于NOTNULL和UNIQUE。
  FOREIGNKEY為指定外來關鍵字。與定義在相關表上的PRIMARYKEY一起使用。

  ●斷言Assertion(多個表上的約束)

  MSSQLServer6.5還提供了數據完整性擴展,如用戶自定義類型、規則、存儲過程和觸發器。SQLServer6.5對不同完整性的約束方法見下表。

客戶端數據庫操作程序開發準則

  1.插入操作

  檢查非空字段,保證有輸入。如VB中一般用Text控件獲得用戶輸入,則:

  If Len(el_l.Text)=0 Then

  MessageBox"該字段不能為空!"

  EndIf

  檢查受UNIQUE約束的字段不能有重復值輸入。如對順序編號等字段采用自動增量的方式,或者在接受輸入前檢查數據庫。對布爾型字段,使用Check控件供用戶輸入,以限制非法數據。對有限的枚舉列字段,使用ListBox或ComboBox控件,列出全部有效值供用戶挑選。對外來關鍵字字段,使用ListBox或ComboBox控件,動態列出全部有效值供用戶挑選。如在一個設備管理數據庫中,企業信息表FacMsg中的"企業名稱"字段是設備Devices中"企業名稱"字段的外來關鍵字。當成功地添加了一個新企業記錄后,要將新企業的名稱添加到FrmDevices的FacName列表控件中。

  FacName.AddItem"企業名稱"

  同樣,當成功地刪除了一個企業記錄后,要將該企業的名稱從FrmDevices的FacName列表控件中刪除。

  2.刪除操作

  刪除記錄前檢查是否有字段值被相關表的記錄所引用。

  3.修改操作

  檢查修改字段值是否被相關表的記錄所引用;
  檢查修改字段值是否被相關表的記錄所引用;
  檢查修改后的字段值是否違反相關的約束規則。

  4.擴展操作

  充分考慮擴展的約束,如自定義類型、規則、存儲過程和觸發器,以免造成沖突。

  實踐表明,采用以上方法可以有效避免用戶(尤其是對系統不熟悉的用戶)的非法輸入,同時彌補《計算機世界》1998年第36期"用VB5RDO訪問數據庫出現的缺陷及改正"一文所指出的數據庫缺陷。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 激情黄页| 精品久久久久久 | 黄色一级片免费观看 | 国产一区二区三区在线免费 | 欧美国产精品一区二区 | 久久久日韩精品一区二区 | 成人毛片在线 | 亚洲欧美国产精品va在线观看 | 日本高清在线播放 | 成人午夜免费网站 | 成人黄色小视频网站 | 性欧美一区 | 精品一区二区三区在线观看视频 | 欧美一区二区三区免费观看 | 国产精品999在线 | 国产一级桃视频播放 | 九九热精 | 黄视频在线网站 | 高清在线观看av | 在线观看一区二区三区四区 | 日日狠狠久久偷偷四色综合免费 | av在线1 | av免费不卡国产观看 | av在线免费看网站 | 久久久久中文字幕 | 日本娇小18xxxⅹhd | 国产在线精品一区二区三区不卡 | 久久久久久久久久久久久久av | 91www成人久久 | 国产免费最爽的乱淫视频a 毛片国产 | 91精品欧美一区二区三区 | 国产精品自拍av | av电影网站在线观看 | 第一区免费在线观看 | 麻豆视频免费网站 | 国产成人在线免费视频 | 亚洲91网 | 国产成年人视频 | 男女羞羞视频在线免费观看 | 久久撸视频 | 一级黄色a视频 |