溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

2.3.1關(guān)于規(guī)范化

發(fā)布時間:2020-08-09 07:40:23 來源:網(wǎng)絡(luò) 閱讀:229 作者:彭思棋 欄目:大數(shù)據(jù)

規(guī)范化是一個數(shù)據(jù)設(shè)計過程,其高級目標(biāo)是將每個事實保持在一個位置,以避免數(shù)據(jù)冗余以及插入,更新和刪除異常。有多個級別的規(guī)范化,本節(jié)將介紹前三個級別。考慮到第三范式(3NF)項是多么基本,只看到如何達(dá)到3NF才有意義。

考慮一種跟蹤銷售情況的情況。您跟蹤的核心實體是銷售訂單,其中每個銷售訂單包含有關(guān)所購買的每個項目的詳細(xì)信息(稱為行項目):其名稱,價格,數(shù)量等。該訂單還包含客戶的名稱和地址等。有些訂單有很多不同的訂單項,有些訂單只有一個。

在第一范式(1NF)中,沒有重復(fù)的數(shù)據(jù)組,也沒有重復(fù)的行。行和列(字段)的每個交集都只包含一個值,并且沒有包含相同事實的列組。為避免重復(fù)行,有一個主鍵。對于銷售訂單,在第一范式中,不顯示表格的單個字段中的每個銷售訂單的多個行項目。此外,不會有多個列顯示訂單項。

然后是第二范式(2NF),其中設(shè)計是第一范式,每個非鍵列依賴于完整的主鍵。因此,訂單項會分為銷售訂單行項目表,其中每行代表一個訂單的一個訂單項。您可以查看訂單項表,并查看所售商品的名稱不依賴于訂單項表的主鍵:銷售商品是其自己的實體。因此,您將銷售項目移動到其自己的表格,顯示項目名稱。每件商品的價格可能因訂單而異(例如,由于折扣),因此這些價格保留在訂單項表中。對于銷售訂單,客戶的名稱和地址不依賴于銷售訂單的主鍵:客戶是其自己的實體。從而,

接下來是第三范式,其目標(biāo)是確保不依賴于非關(guān)鍵屬性。因此,目標(biāo)是獲取與行的主題(主鍵)不直接相關(guān)的列,并將它們放在自己的表中。因此,有關(guān)客戶的詳細(xì)信息(例如客戶名稱或客戶城市)應(yīng)放在單獨的表中,然后將客戶外鍵添加到訂單表中。

2NF表與3NF表的不同之處的另一個例子是網(wǎng)球錦標(biāo)賽的獲勝者表,其中包含錦標(biāo)賽,年份,獲勝者和獲勝者出生日期的列。在這種情況下,獲勝者的出生日期很容易出現(xiàn)不一致,因為同一個人可能會在不同的記錄中顯示出生日期。避免這個潛在問題的方法是將桌子分成一個用于比賽獲勝者,另一個用于球員出生日期

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI