大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

MySQL數據庫概述及數據準備
MySQL數據庫常用命令
MySQL數據庫查看表結構
MySQL查詢字段
MySQL條件查詢
MySQL排序
MySQL函數
MySQL分組函數/聚合函數/多行處理函數
MySQL分組查詢
MySQL連接查詢
MySQL子查詢
MySQL UNION
MySQL中limit的用法
MySQL表
MySQL存儲引擎
MySQL事務
MySQL索引
MySQL視圖
MySQL DBA命令
MySQL數據庫設計的三大范式
MySQL數據庫練習題

MySQL數據庫設計的三大范式

第一范式 

數據庫表中不能出現重復記錄,每個字段是原子性的不能再分。

不符合第一范式的示例

學生編號

學生姓名

聯系方式

1001

張三

zs@gmail.com,1359999999

1002

李四

ls@gmail.com,13699999999

1001

王五

ww@163.net,13488888888

存在問題:

● 最后一條記錄和第一條重復(不唯一,沒有主鍵)

●  聯系方式字段可以再分,不是原子性的

學生編號(pk)

學生姓名

email

聯系電話

1001

張三

zs@gmail.com

1359999999

1002

李四

ls@gmail.com

13699999999

1003

王五

ww@163.net

13488888888

關于第一范式,每一行必須唯一,也就是每個表必須有主鍵,這是我們數據庫設計的最基本要求,主要通常采用數值型或定長字符串表示,關于列不可再分,應該根據具體的情況來決定。如聯系方式,為了開發上的便利行可能就采用一個字段了。

第二范式

第二范式是建立在第一范式基礎上的,另外要求所有非主鍵字段完全依賴主鍵,不能產生部分依賴。

示例:

學生編號

學生姓名

教師編號

教師姓名

1001

張三

001

王老師

1002

李四

002

趙老師

1003

王五

001

王老師

1001

張三

002

趙老師

確定主鍵:

學生編號(PK)

教師編號(PK)

學生姓名

教師姓名

1001

001

張三

王老師

1002

002

李四

趙老師

1003

001

王五

王老師

1001

002

張三

趙老師

以上雖然確定了主鍵,但此表會出現大量的冗余,主要涉及到的冗余字段為“學生姓名”和“教師姓名”,出現冗余的原因在于,學生姓名部分依賴了主鍵的一個字段學生編號,而沒有依賴教師編號,而教師姓名部門依賴了主鍵的一個字段教師編號,這就是第二范式部分依賴。

解決方案如下:

學生信息表

學生編號(PK)

學生姓名

1001

張三

1002

李四

1003

王五

教師信息表

教師編號(PK)

教師姓名

001

王老師

002

趙老師

教師和學生的關系表

學生編號(PK)  fkà學生表的學生編號

教師編號(PK) fkà教師表的教師編號

1001

001

1002

002

1003

001

1001

002

如果一個表是單一主鍵,那么它就復合第二范式,部分依賴和主鍵有關系。

以上是一種典型的“多對多”的設計

第三范式

建立在第二范式基礎上的,非主鍵字段不能傳遞依賴于主鍵字段。(不要產生傳遞依賴)

學生編號(PK)

學生姓名

班級編號

班級名稱

1001

張三

01

一年一班

1002

李四

02

一年二班

1003

王五

03

一年三班

1004

03

一年三班

從上表可以看出,班級名稱字段存在冗余,因為班級名稱字段沒有直接依賴于主鍵,班級名稱字段依賴于班級編號,班級編號依賴于學生編號,那么這就是傳遞依賴,解決的辦法是將冗余字段單獨拿出來建立表,如:

學生信息表

學生編號(PK)

學生姓名

班級編號(FK)

1001

張三

01

1002

李四

02

1003

王五

03

1004

03

班級信息表

班級編號(PK)

班級名稱

01

一年一班

02

一年二班

03

一年三班

以上設計是一種典型的一對多的設計,一存儲在一張表中,多存儲在一張表中,在多的那張表中添加外鍵指向一的一方的主鍵。

三范式總結

第一范式:有主鍵,具有原子性,字段不可分割;

第二范式:完全依賴,沒有部分依賴;

第三范式:沒有傳遞依賴;

數據庫設計盡量遵循三范式,但是還是根據實際情況進行取舍,有時可能會拿冗余換速度,最終用目的要滿足客戶需求。

一對一設計,有兩種設計方案:

第一種設計方案:主鍵共享;

第二種設計方案:外鍵唯一。

全部教程
主站蜘蛛池模板: 一级特黄特黄的大片免费 | 亚洲精品久荜中文字幕 | 日韩在线网| 国产99欧美精品久久精品久久 | 国产中文字幕第一页 | 成年女人色毛片免费看 | 久久精品视频观看 | 国产精品久久久久秋霞影视 | 香蕉亚洲精品一区二区 | 97干干干| 欧美高清免费精品国产自 | 国产精品久久久久9999 | 成人国产精品免费网站 | 国产毛片毛片精品天天看 | 国产高清在线a视频大全凹凸 | 老黄网站 | 亚洲一区欧美二区 | 亚洲第一在线 | 日本在线观看一级高清片 | 欧美高清日韩 | 黄页网址大全免费观看美女 | 国产在线看不卡一区二区 | 污网站视频在线观看 | 97久久曰曰久久久 | 一级毛片国产 | 欧美午夜精品久久久久免费视 | 国产成人综合日韩精品婷婷九月 | 最新国产午夜精品视频不卡 | 久久精品欧美日韩精品 | 亚洲美女视频网 | 激情影院免费 | 中文字幕在线看视频一区二区三区 | 国产一级毛片在线 | 97av在线播放 | 久久er热这里只有精品23 | 国产爱久久久精品 | 国产羞羞事1000部在线观看 | 久久麻豆亚洲精品 | 日本黄色录像视频 | 亚洲伦理中文字幕一区 | 国产精品一区伦免视频播放 |