偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

知道數(shù)據(jù)庫設(shè)計的三大范式嗎

運維 數(shù)據(jù)庫運維 數(shù)據(jù)庫
為了建立冗余較小、結(jié)構(gòu)合理的數(shù)據(jù)庫,設(shè)計數(shù)據(jù)庫時必須遵循一定的規(guī)則。在關(guān)系型數(shù)據(jù)庫中這種規(guī)則就稱為范式。范式是符合某一種設(shè)計要求的總結(jié)。要想設(shè)計一個結(jié)構(gòu)合理的關(guān)系型數(shù)據(jù)庫,必須滿足一定的范式。

為了建立冗余較小、結(jié)構(gòu)合理的數(shù)據(jù)庫,設(shè)計數(shù)據(jù)庫時必須遵循一定的規(guī)則。在關(guān)系型數(shù)據(jù)庫中這種規(guī)則就稱為范式。范式是符合某一種設(shè)計要求的總結(jié)。要想設(shè)計一個結(jié)構(gòu)合理的關(guān)系型數(shù)據(jù)庫,必須滿足一定的范式。

在實際開發(fā)中最為常見的設(shè)計范式有三個:

1.第一范式

第一范式是最基本的范式。如果數(shù)據(jù)庫表中的所有字段值都是不可分解的原子值,就說明該數(shù)據(jù)庫表滿足了第一范式。

第一范式的合理遵循需要根據(jù)系統(tǒng)的實際需求來定。比如某些數(shù)據(jù)庫系統(tǒng)中需要用到“地址”這個屬性,本來直接將“地址”屬性設(shè)計成一個數(shù)據(jù)庫表的字段就行。但是如果系統(tǒng)經(jīng)常會訪問“地址”屬性中的“城市”部分,那么就非要將“地址”這個屬性重新拆分為省份、城市、詳細地址等多個部分進行存儲,這樣在對地址中某一部分操作的時候?qū)⒎浅7奖恪_@樣設(shè)計才算滿足了數(shù)據(jù)庫的第一范式,如下表所示。

用戶信息表

 

編號

姓名

性別

年齡

聯(lián)系電話

省份

城市

詳細地址

1

張紅欣

26

0378-23459876

河南

開封

朝陽區(qū)新華路23號

2

李四平

32

0751-65432584

廣州

廣東

白云區(qū)天明路148號

3

劉志國

21

0371-87659852

河南

鄭州

二七區(qū)大學路198號

4

郭小明

27

0371-62556789

河南

鄭州

新鄭市薛店北街218號

 

上表所示的用戶信息遵循了第一范式的要求,這樣在對用戶使用城市進行分類的時候就非常方便,也提高了數(shù)據(jù)庫的性能。

2.第二范式

第二范式在第一范式的基礎(chǔ)之上更進一層。第二范式需要確保數(shù)據(jù)庫表中的每一列都和主鍵相關(guān)。也就是說在一個數(shù)據(jù)庫表中,一個表中只能保存一種數(shù)據(jù),不可以把多種數(shù)據(jù)保存在同一張數(shù)據(jù)庫表中。

比如在設(shè)計一個訂單數(shù)據(jù)表的時候,不可以包含與訂單信息無關(guān)的其它數(shù)據(jù)。如下表的設(shè)計就完全違背了第二范式的設(shè)計理論。 

訂單信息表

 

訂單編號

訂單項目

負責人

業(yè)務(wù)員

訂單數(shù)量

客戶名稱

商品名稱

商品價格

001

挖掘機

劉    明

李東明

1臺

李    聰

光控開關(guān)

12¥

002

沖擊鉆

李    剛

霍新峰

8個

劉新明

調(diào)速電機

230¥

003

鏟    車

郭新一

艾美麗

2輛

李    聰

化 工 泵

809¥

 

從上表來看,后面兩列雖然不是無意義的數(shù)據(jù),但是其和主鍵列“訂單編號”毫無關(guān)系,所以第二范式認為這種設(shè)計是不合理的。

 

3.第三范式

第三范式在第二范式的基礎(chǔ)上更進一層。第三范式需要確保數(shù)據(jù)表中的每一列數(shù)據(jù)都和主鍵直接相關(guān),而不能間接相關(guān)。

比如在設(shè)計一個訂單數(shù)據(jù)表的時候,可以將客戶編號作為一個外鍵和訂單表建立相應(yīng)的關(guān)系。而不可以在訂單表中添加關(guān)于客戶其它信息(比如姓名、所屬公司等)的字段。如下面這兩個表所示的設(shè)計就是一個滿足第三范式的數(shù)據(jù)庫表。

 

訂單信息表

 

訂單編號

訂單項目

負責人

業(yè)務(wù)員

訂單數(shù)量

客戶編號

001

挖掘機

劉    明

李東明

1臺

1

002

沖擊鉆

李    剛

霍新峰

8個

2

003

鏟    車

郭新一

艾美麗

2輛

1

客戶信息表

 

客戶編號

客戶名稱

所屬公司

聯(lián)系方式

1

李    聰

五一建設(shè)

13253661015

2

劉新明

個體經(jīng)營

13285746958

 

這樣在查詢訂單信息的時候,就可以使用客戶編號來引用客戶信息表中的記錄,也不必在訂單信息表中多次輸入客戶信息的內(nèi)容,減小了數(shù)據(jù)冗余。

原文鏈接:http://www.cnblogs.com/zhhh/archive/2011/04/21/2023355.html

【編輯推薦】

  1. 數(shù)據(jù)庫標準化與范式
  2. 數(shù)據(jù)庫設(shè)計三大范式應(yīng)用實例剖析
  3. 一步一步設(shè)計你的數(shù)據(jù)庫2
  4. 一步一步設(shè)計你的數(shù)據(jù)庫1

 

責任編輯:艾婧 來源: 博客園
相關(guān)推薦

2022-12-27 08:38:45

關(guān)系型數(shù)據(jù)庫設(shè)計

2017-03-03 15:23:46

數(shù)據(jù)庫設(shè)計范式

2011-04-15 11:29:31

數(shù)據(jù)庫設(shè)計

2020-11-20 14:49:56

數(shù)據(jù)庫

2011-03-22 14:20:23

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

2025-03-20 09:13:26

2025-01-03 08:42:59

數(shù)據(jù)庫三范式架構(gòu)

2020-07-28 10:45:51

數(shù)據(jù)庫三范式MySQL

2022-01-08 20:03:20

數(shù)據(jù)庫特點架構(gòu)

2011-07-29 14:11:29

數(shù)據(jù)庫設(shè)計范式關(guān)鍵字

2023-09-13 10:48:40

2025-05-07 04:45:00

AIOPS數(shù)據(jù)庫Oracle

2017-01-18 18:28:54

大數(shù)據(jù)數(shù)據(jù)庫技術(shù)

2011-03-15 09:04:55

2019-11-29 07:37:44

Oracle數(shù)據(jù)庫索引

2019-01-30 15:23:02

數(shù)據(jù)庫MySQLMongoDB

2013-03-20 11:33:31

2023-11-01 15:45:29

DBMPython

2019-10-29 08:44:47

Java數(shù)據(jù)庫實體

2012-11-20 16:36:15

云數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號