数据库原理及应用【六】数据库设计
生活随笔
收集整理的這篇文章主要介紹了
数据库原理及应用【六】数据库设计
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
數(shù)據(jù)依賴
函數(shù)依賴FD:一個(gè)屬性或者一組屬性的值可以決定另一個(gè)屬性的值
多值依賴MVD:一個(gè)屬性或者一組屬性的值可以決定另一個(gè)屬性的值的集合。FD是MVD的特例
符號(hào)表示:Name->->Course,課程多值依賴于姓名
連接依賴:一個(gè)表可以分解成幾個(gè)子表,并將這幾個(gè)子表拼接起來以后仍然是原來那個(gè)表。(無損連接分解)則稱原來的那些屬性之間具有連接依賴。
第一范式1NF:關(guān)系里面每一個(gè)屬性是原子的,不能再分。關(guān)系型數(shù)據(jù)庫的基本要求
第二范式2NF:不存在屬性對(duì)主鍵的部分函數(shù)依賴(一些屬性只依賴于主鍵中的部分屬性)。即要求一個(gè)表中的主鍵必須一起決定其他屬性
不滿足2NF的后果:
- 可能產(chǎn)生插入異常(部分屬性只依賴于主鍵部分屬性,意味著其他屬性不存在的時(shí)候那些屬性就不能存在,而實(shí)際上這樣做一般是不合理的)和刪除異常
- 產(chǎn)生數(shù)據(jù)冗余,產(chǎn)生更新困難
所以應(yīng)該滿足:一張表只用來描述一件事情
第三范式3NF:不存在屬性對(duì)主鍵的傳遞依賴
不滿足3NF的后果:
- 可能產(chǎn)生插入異常和刪除異常
- 產(chǎn)生數(shù)據(jù)冗余,更新困難
BCNF:大概和3NF相同。要求函數(shù)依賴的決定子必須是主鍵
3NF一般就是追求的目標(biāo)
第四范式4NF:消除屬性多值依賴
第五范式5NF:消除屬性連接依賴
ER圖:
- 方框表示實(shí)體
- 菱形表示聯(lián)系
- 圓形表示屬性
數(shù)據(jù)庫設(shè)計(jì)方法:
- 以過程為中心‘
- 以數(shù)據(jù)為中心
- 僅僅在結(jié)構(gòu)上達(dá)到3NF是不夠的
- “一事一地”包括每項(xiàng)信息的唯一,要提取出問題的本質(zhì),識(shí)別出本質(zhì)上屬于同一概念的信息項(xiàng)
- 對(duì)于表達(dá)類似信息,模式相似只是取值不同的表,應(yīng)盡量合并
- 考慮到效率、用途等因素,該分開的表還應(yīng)該分開
- 結(jié)合DBMS內(nèi)部實(shí)現(xiàn)技術(shù),合理涉及索引和文件結(jié)構(gòu),為查詢優(yōu)化做好存取路徑
- 在結(jié)構(gòu)規(guī)范化、減少數(shù)據(jù)冗余和提高數(shù)據(jù)庫訪問性能之間仔細(xì)權(quán)衡,適當(dāng)折中
總結(jié)
以上是生活随笔為你收集整理的数据库原理及应用【六】数据库设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 摩尔庄园同心连理枝有什么用
- 下一篇: 什么才叫正确的沟通?