如果將企業(yè)的數(shù)據(jù)與生命所需的血液進(jìn)行比較,那么數(shù)據(jù)庫的設(shè)計(jì)將是應(yīng)用程序中最重要的部分。那么什么是數(shù)據(jù)庫設(shè)計(jì)?大型數(shù)據(jù)庫設(shè)計(jì)有哪些需要注意事項(xiàng)?當(dāng)前,數(shù)據(jù)庫設(shè)計(jì)通常采用生命周期方法,即整個數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)分為具有獨(dú)立目標(biāo)的幾個階段。它們是:需求分析階段,概念設(shè)計(jì)階段,邏輯設(shè)計(jì)階段,物理設(shè)計(jì)階段,編碼階段,測試階段,操作階段以及進(jìn)一步的修改階段。
什么是數(shù)據(jù)庫設(shè)計(jì)?
數(shù)據(jù)庫有很多種類型,從最簡單的存儲有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲的大型數(shù)據(jù)庫系統(tǒng)都在各個方面得到了廣泛的應(yīng)用。那么要得到各個方面的數(shù)據(jù)庫,就要按照需求對數(shù)據(jù)庫進(jìn)行設(shè)計(jì),轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理。
數(shù)據(jù)庫設(shè)計(jì)(Database Design)是指根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫管理系統(tǒng)上,設(shè)計(jì)數(shù)據(jù)庫的結(jié)構(gòu)和建立數(shù)據(jù)庫的過程。就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫中的數(shù)據(jù)對象以及這些數(shù)據(jù)對象之間關(guān)系的過程。
大型數(shù)據(jù)庫設(shè)計(jì)有哪些需要注意事項(xiàng)?
1、事務(wù)的陷阱
事務(wù)是在一次性完結(jié)的一組操作。盡管這些操作是單個的操作,SQL Server能夠確保這組操作要么全部都完結(jié),要么一點(diǎn)都不做。恰是大型數(shù)據(jù)庫的這一特性,使得數(shù)據(jù)的完整性得到了極大的確保。
事務(wù)能夠嵌套,能夠經(jīng)過全局變量檢索到銜接的事務(wù)處理嵌套層次。需求加以特別注意而且極簡單使編程人員犯錯誤的是,每個顯示或隱含的事物開端都使得該變量加1,每個事務(wù)的提交使該變量減1,每個事務(wù)的回滾都會使得該變量置0,而只有當(dāng)該變量為0時的事務(wù)提交,這時才把物理數(shù)據(jù)寫入磁盤。
2、索引(Index)的使用原則
大型數(shù)據(jù)庫有兩種索引即簇索引和非簇索引,一個沒有簇索引的表是按堆結(jié)構(gòu)存儲數(shù)據(jù),一切的數(shù)據(jù)均添加在表的尾部,而建立了簇索引的表,其數(shù)據(jù)在物理上會按照簇索引鍵的次序存儲,一個表只允許有一個簇索引。所以對索引較多的表進(jìn)行頻頻的刺進(jìn)、更新、刪去操作,建表和索引時因設(shè)置較小的填充因子,以便在各數(shù)據(jù)頁中留下較多的自由空間,削減頁切割及重新組織的工作。
3、數(shù)據(jù)的一致性和完整性
為了確保數(shù)據(jù)庫的一致性和完整性,設(shè)計(jì)人員往往會規(guī)劃過多的表間相關(guān),盡可能的下降數(shù)據(jù)的冗余。表間相關(guān)是一種強(qiáng)制性辦法,樹立后,對父表和子表的插入、更新、刪去操作均要占用系統(tǒng)的開銷,別的,最佳不要用Identify 特點(diǎn)字段作為主鍵與子表相關(guān)。
4、命名的規(guī)范
不同的數(shù)據(jù)庫產(chǎn)品對對象的命名有不同的要求,因此,數(shù)據(jù)庫中的各種對象的命名、后臺程序的代碼編寫應(yīng)采用大小寫敏感的形式,各種對象命名長度不要超過30個字符,這樣便于應(yīng)用系統(tǒng)適應(yīng)不同的數(shù)據(jù)庫。
5、數(shù)據(jù)類型的選擇
數(shù)據(jù)類型的合理選擇關(guān)于數(shù)據(jù)庫的功能和操作具有很大的影響,有關(guān)這方面的書本也有不少的論述,這兒首要介紹幾點(diǎn)經(jīng)歷。
Identify字段不要作為表的主鍵與其它表關(guān)聯(lián),這將會影響到該表的數(shù)據(jù)搬遷。Text 和Image字段屬指針型數(shù)據(jù),首要用來存放二進(jìn)制大型目標(biāo)(BLOB)。這類數(shù)據(jù)的操作對比其它數(shù)據(jù)類型較慢,因而要避開運(yùn)用。
日期型字段的優(yōu)點(diǎn)是有很多的日期函數(shù)支撐,因而,在日期的巨細(xì)對比、加減操作上十分簡略。但是,在依照日期作為條件的查詢操作也要用函數(shù),對比其它數(shù)據(jù)類型速度上就慢很多,由于用函數(shù)作為查詢的條件時,服務(wù)器無法用先進(jìn)的功能戰(zhàn)略來優(yōu)化查詢而只能進(jìn)行表掃描遍歷每行。
上述就是關(guān)于什么是數(shù)據(jù)庫設(shè)計(jì),以及大型數(shù)據(jù)庫設(shè)計(jì)有哪些需要注意事項(xiàng)的全部內(nèi)容,想了解更多古關(guān)于數(shù)據(jù)庫的信息,請繼續(xù)關(guān)注中培偉業(yè)。