最近一段時(shí)間,我都在看網(wǎng)上的一些數(shù)據(jù)庫(kù)設(shè)計(jì)方面的博文。各家有各家的說(shuō)法,但都沒(méi)有提到數(shù)據(jù)庫(kù)設(shè)計(jì)中對(duì)安全性能的考慮。我個(gè)人認(rèn)為這樣是很不好的一種習(xí)慣,因?yàn)閿?shù)據(jù)庫(kù)的設(shè)計(jì)是一項(xiàng)很嚴(yán)肅的工作,因?yàn)閿?shù)據(jù)庫(kù)設(shè)計(jì)的不安全性造成的系統(tǒng)數(shù)據(jù)泄密,會(huì)給系統(tǒng)的維護(hù)和系統(tǒng)的使用期打上大大的折扣。
那么,怎么來(lái)增強(qiáng)數(shù)據(jù)庫(kù)設(shè)計(jì)的安全性呢?
一:對(duì)數(shù)據(jù)字段命名的規(guī)范性:數(shù)據(jù)庫(kù)的設(shè)計(jì),一定要有數(shù)據(jù)字典的存在,其他的數(shù)據(jù)命名以數(shù)據(jù)字典的定義來(lái)命名,這樣做的好處是,即使數(shù)據(jù)泄密,也不會(huì)對(duì)系統(tǒng)本身造成大的影響,因?yàn)槿思腋揪筒恢滥愕臄?shù)據(jù)字段是放的什么數(shù)據(jù)。
二:一些業(yè)內(nèi)常用的術(shù)語(yǔ),在設(shè)計(jì)數(shù)據(jù)庫(kù)存儲(chǔ)的時(shí)侯,把這個(gè)數(shù)據(jù)轉(zhuǎn)化為int類型存儲(chǔ)而不是采用nvarchar、varchar等類型來(lái)存儲(chǔ)。
三:在數(shù)據(jù)庫(kù)的設(shè)計(jì)中,對(duì)于業(yè)務(wù)與業(yè)務(wù)中的邏輯聯(lián)系,采用外鍵關(guān)系來(lái)進(jìn)行連接。當(dāng)然,并不是連接越復(fù)雜越好,而是用最簡(jiǎn)單直接的聯(lián)系最好。不要在邏輯聯(lián)系中采用視圖來(lái)實(shí)現(xiàn),這樣,會(huì)讓人很容易解密你的數(shù)據(jù)庫(kù)數(shù)據(jù)。
四:在數(shù)據(jù)庫(kù)的設(shè)計(jì)中,數(shù)據(jù)字段最好不要設(shè)定為空,因?yàn)闉榭盏臄?shù)據(jù)字段存儲(chǔ)為空,無(wú)形中為數(shù)據(jù)的竊取者提供了進(jìn)入數(shù)據(jù)庫(kù)接口。
書(shū)寫(xiě)人:陳獲任
時(shí) 間:2009-12-19
聯(lián)系客服