日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

一文看懂?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)之邏輯設(shè)計(jì),值得收藏

 羅宋湯的味道 2019-10-09

概述

數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)是從事數(shù)據(jù)庫(kù)應(yīng)用設(shè)計(jì)、開發(fā)、運(yùn)行維護(hù)等各方面工作的一個(gè)重要的基礎(chǔ)性工作。根據(jù)不同業(yè)務(wù)和應(yīng)用需求,確定并遵循數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)原則,例如按照第三范式開展邏輯設(shè)計(jì),不僅能滿足減少數(shù)據(jù)冗余、保證數(shù)據(jù)一致性和完整性、易擴(kuò)展性和伸縮性等需求,也是保障系統(tǒng)高性能的一個(gè)重要基礎(chǔ)。


一、為什么要邏輯設(shè)計(jì)?

1、全表掃描案例

從一個(gè)案例來(lái)看,例如查詢“喜歡語(yǔ)文的所有學(xué)生”

--由于%號(hào)這里肯定是走了全表掃描select id,name,hobby from student where hobby like '%語(yǔ)文%';

2、原因

select id,name,hobby from student;ID NAME HOBBY---------------------1 小明 語(yǔ)文,數(shù)學(xué)2 小紅 英語(yǔ),語(yǔ)文,數(shù)學(xué)3 小林 英語(yǔ),語(yǔ)文

可以看到如果是這么設(shè)計(jì)表的話,把學(xué)生的愛(ài)好都塞在一個(gè)字段HOBBY中,那么查詢條件只能寫成like '%語(yǔ)文%'。這里的根本原因是該表設(shè)計(jì)不符合規(guī)范化設(shè)計(jì)理論,從而導(dǎo)致了全表掃描。這里我們就可以看出邏輯設(shè)計(jì)的重要性了。


二、什么是邏輯設(shè)計(jì)

1、概念總結(jié)

1)將需求轉(zhuǎn)化成數(shù)據(jù)庫(kù)的邏輯模型

2)通過(guò)ER圖的型式對(duì)邏輯模型進(jìn)行展示

3)同所選用的具體的DBMS系統(tǒng)無(wú)關(guān)

2、名詞解釋

關(guān)系:一個(gè)關(guān)系對(duì)應(yīng)通常所說(shuō)的一張表

元組:表中的一行即為一個(gè)元組

屬性:表中的一列即為一個(gè)屬性,每一個(gè)屬性都有一個(gè)名稱,稱為屬性名

候選碼:表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組

主碼:一個(gè)關(guān)系有多個(gè)候選碼,選定其中一個(gè)為主碼

域:屬性的取值范圍

分量:元組中的一個(gè)屬性值

3、ER圖例說(shuō)明

矩形:表示實(shí)體集,矩形內(nèi)寫實(shí)體集的名字

菱形:表示聯(lián)系集

橢圓:表示實(shí)體的屬性

線段:將屬性連接到實(shí)體集,或?qū)?shí)體集連接到聯(lián)系集

4、數(shù)據(jù)操作異常及數(shù)據(jù)冗余

插入異常:如果某實(shí)體隨著另一個(gè)實(shí)體的存在而存在,即缺少某個(gè)實(shí)體時(shí)無(wú)法表示這個(gè)實(shí)體,那么這個(gè)表就存在插入異常。

更新異常:如果更改表所對(duì)應(yīng)的某個(gè)實(shí)體實(shí)例的單獨(dú)屬性時(shí),需要將多行更新,那么就說(shuō)這個(gè)表存在更新異常。

刪除異常:如果刪除表的某一行來(lái)反映某實(shí)體實(shí)例,失效時(shí)導(dǎo)致另一個(gè)不同實(shí)體實(shí)例信息丟失,那么這個(gè)表中就存在刪除異常。

注意:若一個(gè)表中存在插入異常,那它肯定存在刪除異常和更新異常。

數(shù)據(jù)冗余:是指相同的數(shù)據(jù)在多個(gè)地方存在,或者說(shuō)表中的某個(gè)列可以由其他列計(jì)算得到,這樣就說(shuō)表中存在數(shù)據(jù)冗余。


三、什么是規(guī)范化設(shè)計(jì)

1、第一范式(所有屬性必須是單值)

定義:數(shù)據(jù)庫(kù)表中的所有字段都是單一屬性,不可再分的。這個(gè)單一屬性是由基本的數(shù)據(jù)類型所構(gòu)成的,如整數(shù),浮點(diǎn)數(shù),字符串等,換句話說(shuō),第一范式要求數(shù)據(jù)庫(kù)中的表都是二維表。(二維表就是由行和列組成的表)


2、第二范式(所有屬性必須依賴于該實(shí)體的唯一標(biāo)識(shí)屬性)

定義:數(shù)據(jù)庫(kù)的表中不存在非關(guān)鍵字段對(duì)任一候選關(guān)鍵字段的部分函數(shù)依賴。部分函數(shù)依賴是指存在著組合關(guān)鍵字中的某一關(guān)鍵字決定非關(guān)鍵字的情況。

換句話說(shuō):所有單關(guān)鍵字的表都符合第二范式。

一文看懂?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)之邏輯設(shè)計(jì),值得收藏

修改后的:

一文看懂?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)之邏輯設(shè)計(jì),值得收藏

通俗解釋:

完全依賴:表中只有一個(gè)關(guān)鍵字(即主鍵),其他屬性的增刪改查的時(shí)候定位到這一行都是依賴此關(guān)鍵字的。

第二范式:只能有一個(gè)主鍵,不能有復(fù)合主鍵,可以就滿足了第二范式。

由于供應(yīng)商和商品之間是多對(duì)多的關(guān)系,所以只有使用商品名稱和供應(yīng)商名稱才可以唯一標(biāo)識(shí)出一件商品,也就是商品名稱和供應(yīng)商名稱是一組組合關(guān)鍵字。

上表中存在以下的部分函數(shù)依賴關(guān)系

(商品名稱)—>(價(jià)格,描述,重量,商品有效期)(供應(yīng)商名稱)—>(供應(yīng)商電話)

3、第三范式(沒(méi)有一個(gè)非唯一標(biāo)識(shí)屬性依賴于另一個(gè)非唯一標(biāo)識(shí)屬性)

定義:第三范式是在第二范式的基礎(chǔ)上定義的,如果數(shù)據(jù)表中不存在非關(guān)鍵字段,對(duì)任意候選關(guān)鍵字段的傳遞函數(shù)依賴則符合第三范式。

一文看懂?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)之邏輯設(shè)計(jì),值得收藏

存在問(wèn)題:

(分類,分類描述)對(duì)于每一個(gè)商品都會(huì)進(jìn)行記錄,所以存在數(shù)據(jù)冗余,同時(shí)也會(huì)存在數(shù)據(jù)deep插入、更新及刪除異常。

一文看懂?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)之邏輯設(shè)計(jì),值得收藏

4、BC范式

定義:在第三范式的基礎(chǔ)上,數(shù)據(jù)庫(kù)表中如果不存在任何字段對(duì)任一候選關(guān)鍵字段的傳遞函數(shù)依賴則符合BC范式。也就是說(shuō)如果是復(fù)合關(guān)鍵字,則復(fù)合關(guān)鍵字之間也不能存在函數(shù)依賴關(guān)系

一文看懂?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)之邏輯設(shè)計(jì),值得收藏

存在下列關(guān)系因此不符合BCNF要求:

(供應(yīng)商)—>(供應(yīng)商聯(lián)系人)(供應(yīng)商聯(lián)系人)—>(供應(yīng)商)

并且存在數(shù)據(jù)操作異常及數(shù)據(jù)冗余

一文看懂?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)之邏輯設(shè)計(jì),值得收藏

總結(jié)

第一,二,三范式解決的是非主屬性的關(guān)系。BC 范式解決的是主屬性的關(guān)系;

第一范式:就是原子性,字段不可再分割,(列屬性不能在細(xì)分為子列)

第二范式:就是完全依賴,沒(méi)有部分依賴;(非主屬性不能依賴于主鍵的一部分,要完全依賴于主鍵(主鍵是復(fù)合鍵))

第三范式:沒(méi)有傳遞函數(shù)依賴。(非主屬性之間的依賴)

BC范式: 解決部分主鍵依賴于非主鍵部分(復(fù)合關(guān)鍵字之間也不能存在函數(shù)依賴關(guān)系)。

覺(jué)得有用的朋友多幫忙轉(zhuǎn)發(fā)哦!后面會(huì)分享更多devops和DBA方面的內(nèi)容,感興趣的朋友可以關(guān)注下~

一文看懂?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)之邏輯設(shè)計(jì),值得收藏

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多