一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

數據庫設計技巧系列(四)——保證數據的完整性

保證數據的完整性

1. 用約束而非商務規則強制數據完整性

如果你按照商務規則來處理需求,那么你應當檢查商務層次/用戶界面:如果商務規則以后發生變化,那么只需要進行更新即可。

假如需求源于維護數據完整性的需要,那么在數據庫層面上需要施加限制條件。

如果你在數據層確實采用了約束,你要保證有辦法把更新不能通過約束檢查的原因采用用戶理解的語言通知用戶界面。除非你的字段命名很冗長,否則字段名本身還不夠。

— Lamont Adams

只要有可能,請采用數據庫系統實現數據的完整性。這不但包括通過標準化實現的完整性而且還包括數據的功能性。在寫數據的時候還可以增加觸發器來保證數據的正確性。不要依賴于商務層保證數據完整性;它不能保證表之間(外鍵)的完整性所以不能強加于其他完整性規則之上。

— Peter Ritchie

2. 分布式數據系統

對分布式系統而言,在你決定是否在各個站點復制所有數據還是把數據保存在一個地方之前應該估計一下未來5年或者10年的數據量。當你把數據傳送到其他站點的時候,最好在數據庫字段中設置一些標記。在目的站點收到你的數據之后更新你的標記。為了進行這種數據傳輸,請寫下你自己的批處理或者調度程序以特定時間間隔運行而不要讓用戶在每天的工作后傳輸數據。本地拷貝你的維護數據,比如計算常數和利息率等,設置版本號保證數據在每個站點都完全一致。

— Suhair TechRepublic

3. 強制指示完整性

沒有好辦法能在有害數據進入數據庫之后消除它,所以你應該在它進入數據庫之前將其剔除。激活數據庫系統的指示完整性特性。這樣可以保持數據的清潔而能迫使開發人員投入更多的時間處理錯誤條件。

— kol

4. 關系

如果兩個實體之間存在多對一關系,而且還有可能轉化為多對多關系,那么你最好一開始就設置成多對多關系。從現有的多對一關系轉變為多對多關系比一開始就是多對多關系要難得多。

— CS Data Architect

5. 采用視圖

為了在你的數據庫和你的應用程序代碼之間提供另一層抽象,你可以為你的應用程序建立專門的視圖而不必非要應用程序直接訪問數據表。這樣做還等于在處理數據庫變更時給你提供了更多的自由。

— Gay Howe

6. 給數據保有和恢復制定計劃

考慮數據保有策略并包含在設計過程中,預先設計你的數據恢復過程。采用可以發布給用戶/開發人員的數據字典實現方便的數據識別同時保證對數據源文檔化。編寫在線更新來“更新查詢”供以后萬一數據丟失可以重新處理更新。

— kol

7. 用存儲過程讓系統做重活

解決了許多麻煩來產生一個具有高度完整性的數據庫解決方案之后,我所在的團隊決定封裝一些關聯表的功能組,提供一整套常規的存儲過程來訪問各組以便加快速度和簡化客戶程序代碼的開發。在此期間,我們發現3GL 編碼器設置了所有可能的錯誤條件,比如以下所示:

SELECT Cnt = COUNT (*) FROM [<Table>] WHERE [<primary key column>] = <new value>

IF Cnt = 0 BEGIN

INSERT INTO [<Table>] ( [< primary key column>] ) VALUES ( <New value> )

END

ELSE

BEGIN

<indicate duplication error>

END

而一個非3GL 編碼器是這樣做的:

INSERT INTO [<Table>] ( [< primary key column>] ) VALUES ( <New value> )

IF @@ERROR = 2627 -- Literal error code for Primary Key Constraint

BEGIN

<indicate duplication error>

END

第2個程序簡單多了,而且事實上,利用了我們給數據庫的功能。雖然我個人不喜歡使用嵌入文字(2627)。但是那樣可以很方便地用一點預先處理來代替。數據庫不只是一個存放數據的地方,它也是簡化編碼之地。

— a-smith

8. 使用查找

控制數據完整性的最佳方式就是限制用戶的選擇。只要有可能都應該提供給用戶一個清晰的價值列表供其選擇。這樣將減少鍵入代碼的錯誤和誤解同時提供數據的一致性。某些公共數據特別適合查找:國家代碼、狀態代碼等。

— CS Data Architect

it知識庫數據庫設計技巧系列(四)——保證數據的完整性,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日本一区二区三区在线 视频 | 久久538| 国产精品视频一区二区三区w | 久久精品久 | 国产在线拍揄自揄视精品不卡 | 色天天色综合 | 国产午夜视频在线观看第四页 | 99国产精品久久 | 99视频精品全部国产盗摄视频 | 高清一区二区 | 麻豆久久精品免费看国产 | 天天色网站 | 免费观看成人鲁鲁鲁鲁鲁视频 | 欧美另类娇小 | 国产aaa免费视频国产 | 久久综合亚洲 | 在线观看亚洲一区二区 | 五月激情六月 | 五月婷六月婷婷 | 中文字幕在线视频网站 | 亚洲国产精品日韩高清秒播 | 亚洲乱码在线 | 美女扒开视频网站 | 色在线视频观看 | 色哟哟视频在线观看网站 | 国产精品久久久久无毒 | 一区二区三区精品视频 | 国产永久免费视频 | 91网站入口 | 在线观看国产一区二区三区 | 国内精品自在自线2020 | 亚洲国产精品第一页 | 日本久久精品免视看国产成人 | 人人揉揉香蕉大青草 | 亚洲青草视频 | 中文字幕av在线 | 99热这里只有精品88 | 丁香六月婷婷综合激情动漫 | 99伊人 | 色播在线观看免费 | 亚洲图片小说视频 |