下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當(dāng)前位置:軟件下載吧 > 數(shù)據(jù)庫 > MS_SQL > SQL基礎(chǔ):SQL Server 數(shù)據(jù)庫的設(shè)計詳解

          SQL基礎(chǔ):SQL Server 數(shù)據(jù)庫的設(shè)計詳解

          時間:2024-02-08 11:17作者:下載吧人氣:25

          一、數(shù)據(jù)庫設(shè)計的必要性

          在實(shí)際的軟件項(xiàng)目中,如果系統(tǒng)中需要存儲的數(shù)據(jù)量比較大,需要設(shè)計的表比較多,表與表之間的關(guān)系比較復(fù)雜,那我們就需要進(jìn)行規(guī)范的數(shù)據(jù)庫設(shè)置。如果不經(jīng)過數(shù)據(jù)庫的設(shè)計,我們構(gòu)建的數(shù)據(jù)庫不合理、不恰當(dāng),那么數(shù)據(jù)庫的維護(hù)、運(yùn)行效率會有很大的問題。這將直接影響到項(xiàng)目的運(yùn)行性和可靠性。

          二、什么是數(shù)據(jù)庫設(shè)計

          數(shù)據(jù)庫設(shè)計實(shí)際上就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫中的數(shù)據(jù)對象以及這些數(shù)據(jù)對象之間的關(guān)系過程。

          三、數(shù)據(jù)庫設(shè)計的重要性

          不經(jīng)過設(shè)計的數(shù)據(jù)庫或是設(shè)計糟糕的數(shù)據(jù)庫很可能導(dǎo)致

          1、 數(shù)據(jù)庫運(yùn)行效率地下

          2、 更新、刪除、添加數(shù)據(jù)出現(xiàn)問題

          良好設(shè)計的數(shù)據(jù)庫

          1、 執(zhí)行效率高

          2、 使應(yīng)用程序更便于開發(fā)

          3、 擴(kuò)展性好

          4、 維護(hù)性好

          四、數(shù)據(jù)模型

          數(shù)據(jù)模型就像是數(shù)據(jù)間聯(lián)系的一個輪廓圖,整個模型就像一個框架。

          如果按照記錄間聯(lián)系的表示方式,對數(shù)據(jù)模型進(jìn)行分類,可以分為:層次模型、網(wǎng)狀模型、關(guān)系模型。前兩種又稱為格式化數(shù)據(jù)模型。數(shù)據(jù)模型的好壞直接影響到數(shù)據(jù)庫的性能,所以數(shù)據(jù)模型的選擇是數(shù)據(jù)庫設(shè)計的首要任務(wù)。

           實(shí)體-關(guān)系(E-R)數(shù)據(jù)模型

          E-R數(shù)據(jù)模型(Entity-Relationship data model),即實(shí)體-關(guān)系數(shù)據(jù)模型。E-R數(shù)據(jù)模型不同于傳統(tǒng)的關(guān)系數(shù)據(jù)模型,它不是面向?qū)崿F(xiàn),而是面向現(xiàn)實(shí)物體的。

          實(shí)體(Entity)

          數(shù)據(jù)是用來描述現(xiàn)實(shí)中的物體的,而描述的對象都是形形色色的,有具體的、也有抽象的;有物理上存在的、也有概念性的。凡是可以互相區(qū)別而且可以被人們認(rèn)識的事、物、概念等統(tǒng)統(tǒng)抽象為實(shí)體。多個相同的類型的實(shí)體可以稱為實(shí)體集(Entity set)。因此,在E-R數(shù)據(jù)模型中,也有型與值之分;實(shí)體可以作為型來定義,每個實(shí)體可以是它的實(shí)例和值。

          屬性(Attribute)

          實(shí)體一般具體若干特征,這些特征稱為實(shí)體的屬性。而每個屬性都有自己的取值范圍,在E-R數(shù)據(jù)模型中稱為值集(value set)。在同一實(shí)體集中,每個實(shí)體的屬性及其值集都是相同的,但可能取不同的值。屬性對應(yīng)數(shù)據(jù)庫表的列。

          關(guān)系(Relationship)

          實(shí)體之間會有各種關(guān)系,這些關(guān)系抽象為聯(lián)系。不但實(shí)體可以有屬性,關(guān)系也可以有屬性。

          五、數(shù)據(jù)庫設(shè)計步驟

          數(shù)據(jù)庫設(shè)計可以分為以下幾個階段

          1、 需求分析階段:分析客戶的業(yè)務(wù)需求,特別是數(shù)據(jù)方面的需求

          2、 概要設(shè)計階段:繪制數(shù)據(jù)庫的E-R圖,并確認(rèn)需求文檔的正確性和完整性,E-R圖是項(xiàng)目的設(shè)計人員、開發(fā)人員、測試人員,以及和客戶進(jìn)行溝通的重要憑據(jù)

          3、 詳細(xì)設(shè)計階段:將概要設(shè)計階段的E-R圖轉(zhuǎn)換為數(shù)據(jù)庫表,進(jìn)行邏輯設(shè)計,確定各個表之間的主外鍵關(guān)系,運(yùn)用數(shù)據(jù)庫的三范式進(jìn)行審核,并進(jìn)行技術(shù)評審。最后決定選哪種數(shù)據(jù)庫(OracleSQLServerMySQL)來建庫、建表。

          需求分析階段:數(shù)據(jù)庫系統(tǒng)分析

          秀氣分析階段的重點(diǎn)是調(diào)查、收集、分析客戶的業(yè)務(wù)數(shù)據(jù)需求以及數(shù)據(jù)的安全性、完整性需求等。

          需求分析步驟:

          1、 確認(rèn)業(yè)務(wù)需求

          2、 標(biāo)識關(guān)系實(shí)體

          3、 標(biāo)識每個實(shí)體的具有的屬性

          4、 確認(rèn)實(shí)體之間的關(guān)系

          概要設(shè)計階段:繪制E-R圖

          作為數(shù)據(jù)庫設(shè)計者,你需要和項(xiàng)目組內(nèi)其他成員分享你的設(shè)計思路,共同研討數(shù)據(jù)庫設(shè)計的合理性、安全性、完整性,并確認(rèn)是否符合客戶的業(yè)務(wù)需求。那么使用E-R圖,這種圖形化的表示方式最為直觀。

          E-R圖中的實(shí)體、屬性和關(guān)系

          SQL基礎(chǔ):SQL Server 數(shù)據(jù)庫的設(shè)計詳解

          上面的簡單E-R圖可以看出用戶和收支之間的關(guān)系。在上圖中可以看出:用矩形表示實(shí)體,實(shí)體是一般名詞;橢圓表示屬性,一般也是名詞;菱形表示關(guān)系,一般是動詞。

          映射基數(shù)

          映射基數(shù)表示可以通過關(guān)系與該實(shí)體的個數(shù)。對于實(shí)體集A和B之間的二元關(guān)系,可能的映射基數(shù)有:

          1、 一對一:也就是A實(shí)體中最多只有一個B實(shí)體的關(guān)聯(lián),而B實(shí)體的最多只有一個A實(shí)體的關(guān)聯(lián)。用E-R圖表示:

          SQL基礎(chǔ):SQL Server 數(shù)據(jù)庫的設(shè)計詳解

          2、 一對多:A實(shí)體可以與B實(shí)體任意數(shù)量的進(jìn)行關(guān)聯(lián),B中的實(shí)體最多與A中的一個實(shí)體關(guān)聯(lián)。E-R圖表示:

          SQL基礎(chǔ):SQL Server 數(shù)據(jù)庫的設(shè)計詳解

          3、 多對一:A實(shí)體最多與一個B實(shí)體進(jìn)行關(guān)聯(lián),而B實(shí)體可以和任意多個A實(shí)體進(jìn)行關(guān)聯(lián)。E-R圖表示:

          SQL基礎(chǔ):SQL Server 數(shù)據(jù)庫的設(shè)計詳解

          4、 多對多:A實(shí)體可以有多個B實(shí)體,而B實(shí)體也可以有任意多個A實(shí)體。E-R圖表示:

          SQL基礎(chǔ):SQL Server 數(shù)據(jù)庫的設(shè)計詳解

          E-R圖

          E-R圖可以以圖形化的方式將數(shù)據(jù)庫的整個邏輯結(jié)構(gòu)表示出來,組成部分有:

          1、 矩形表示實(shí)體集

          2、 橢圓表示屬性

          3、 菱形表示關(guān)系、

          4、 直線用來連接實(shí)體集與屬性、實(shí)體集和關(guān)系

          5、 直線箭頭表示實(shí)體集之間映射基數(shù)

          詳細(xì)設(shè)計階段:將E-R圖轉(zhuǎn)換為表

          步驟如下:

          1、 將各個實(shí)體轉(zhuǎn)換為對應(yīng)的表,將各屬性轉(zhuǎn)換為對應(yīng)的列

          2、 標(biāo)識每張表的主鍵

          3、 將實(shí)體之間的關(guān)系轉(zhuǎn)換為表與表之間的主外鍵關(guān)系

          六、數(shù)據(jù)庫設(shè)計規(guī)范化

          數(shù)據(jù)庫設(shè)計中經(jīng)常出現(xiàn)的問題

          1、 數(shù)據(jù)冗余大

          2、 插入數(shù)據(jù)異常

          3、 刪除異常

          4、 更新異常

          規(guī)范設(shè)計

          一個較好的關(guān)系數(shù)據(jù)庫模型,它的每個關(guān)系中的屬性一定要滿足某種內(nèi)在的語義條件,即要按一定的規(guī)范設(shè)計關(guān)系模型,這就是設(shè)計的規(guī)范化。

          在數(shù)據(jù)庫設(shè)計時,有一些專門的規(guī)則,稱為數(shù)據(jù)庫的設(shè)計范式,遵循這些規(guī)則,就可以創(chuàng)建出良好的數(shù)據(jù)庫

          數(shù)據(jù)庫著名的三大范式理論:

          1、 第一范式(1NF)

          第一范式是滿足關(guān)系數(shù)據(jù)庫模型所要遵循的最基本的條件范式,幾關(guān)系中的每個屬性必須是不可再分的簡單項(xiàng),不能是屬性組合,即屬性的取值是不可拆分的原子值。

          2、 第二范式(2NF)

          第二范式是在第一范式的基礎(chǔ)上,確保表中的每列都和主鍵相關(guān)。其定義是如果一個關(guān)系滿足1NF,并且除了主鍵關(guān)系外的其他列都依賴于該主鍵,則滿足第二范式。

          3、 第三范式(3NF)

          第三范式是在第二范式的基礎(chǔ)上進(jìn)行的,第三范式的目標(biāo)是確保每列都和主鍵列直接相關(guān),而不是間接相關(guān)的。其定義是:如果一個關(guān)系滿足2NF,并且除主鍵外的其他列都不傳遞依賴于該主鍵。

          規(guī)范化和性能關(guān)系

          為了滿足三大范式,數(shù)據(jù)庫的性能可能會有一定程度的降低。所以,在實(shí)際數(shù)據(jù)庫設(shè)計中,我們既要盡量滿足三大范式,從而避免數(shù)據(jù)冗余和各種數(shù)據(jù)庫的操作異常,同時也要考慮數(shù)據(jù)的訪問性能。有時候,為了提高數(shù)據(jù)庫的訪問效率,適當(dāng)?shù)脑试S少量數(shù)據(jù)冗余咧存在,才是最適合的數(shù)據(jù)庫設(shè)計方案。

          總結(jié)

          本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注的更多內(nèi)容!

          標(biāo)簽MSSQL,SQLServer,技術(shù)文檔,數(shù)據(jù)庫,SQLSERVER

          相關(guān)下載

          查看所有評論+

          網(wǎng)友評論

          網(wǎng)友
          您的評論需要經(jīng)過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 精品国产一区二区三区免费| 久久久久人妻一区精品| 精品久久久久久中文字幕一区| 无码人妻精品一区二区三区在线| 国产精品一区在线观看你懂的| 久夜色精品国产一区二区三区| 精品久久久久一区二区三区| 国产精品男男视频一区二区三区 | 无码精品前田一区二区| 亚洲AV成人精品日韩一区18p| 蜜桃视频一区二区三区| 99久久精品国产免看国产一区| 一区二区视频在线观看| 亚洲一区二区三区成人网站| 国产一国产一区秋霞在线观看| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 内射少妇一区27P| 中日av乱码一区二区三区乱码| 久久精品国产一区二区三区肥胖 | 国产剧情国产精品一区| 国产精品揄拍一区二区久久| 日韩有码一区二区| 少妇无码一区二区三区| 国产av一区二区精品久久凹凸 | 少妇激情av一区二区| 国产在线一区二区三区在线| 国产丝袜视频一区二区三区| 好爽毛片一区二区三区四无码三飞| 国产日韩高清一区二区三区| 97se色综合一区二区二区| 成人国产精品一区二区网站| 亚洲一区在线免费观看| 精品一区二区三区无码视频| 91一区二区视频| 国产无人区一区二区三区| 国产伦精品一区二区三区女| 国产精品亚洲综合一区| 九九无码人妻一区二区三区| 国产免费无码一区二区| 国产精品无码一区二区在线观一| 欲色aV无码一区二区人妻|