基本上對不起,問這樣的question.But我聽錯了,當我在我的考試大概1,2寫下這些定義,並是第三範式(條件):規範化和常態形式:數據庫
1 NF:
- 數據在每列應atomic.No,用逗號分隔
- 表多個值不應包含重複列組
- 使用主鍵識別每個記錄。
2 NF:
- 必須在1 NF
- 不能包含冗餘數據,如果是,將其移動到單獨的表
- 使用外鍵
3 NF:
- 必須在2NF
- 劑量不包含未完全在主鍵
取決於我寫的東西錯列?我的老師不同意。
來源this視頻。
基本上對不起,問這樣的question.But我聽錯了,當我在我的考試大概1,2寫下這些定義,並是第三範式(條件):規範化和常態形式:數據庫
1 NF:
2 NF:
3 NF:
取決於我寫的東西錯列?我的老師不同意。
來源this視頻。
我相信答案是錯的。當您應該使用與標準化相關聯的術語時,您不會使用這些術語。這樣的例子可以在你的答案中找到2NF
創建表時爲數據冗餘?你將哪些數據轉移到單獨的表格中?創建表格總是您在2NF獲取表格的一個步驟?
如果你會說:
你仍然在說同樣的事情,沒有多餘的數據是允許的,但你說它的方式表明你知道規範化是關於什麼。
1NF
一行數據不能包含重複數據的組即每一列都必須有唯一值。每行數據必須具有唯一標識符。
2NF
的表被歸到第二範式應符合第一範式的所有需求,不能有對主鍵的任何列的任何部分依賴。這意味着對於已連接主鍵的表,表中不包含主鍵的每個列必須依賴於整個連接鍵的存在。如果任一列只取決於級聯關鍵的一個組成部分,那麼該表失敗,第二範式
3NF
第三範式應用於該表的每個非主屬性必須依賴於主鍵。應該從表中刪除傳遞函數依賴關係。該表必須處於第二範式。
更多的參考資料:
根據考試答案:
1 NF:
a.Data中的每一列應atomic.No,用逗號分隔的多個值 (TRUE因爲1NF不支持複合和多值屬性,更重要的是,這個屬性在ER模型中默認爲關係模型轉換。)只有這個屬性足夠用於1NF。 b。表不應包含重複列組。 (不要求)
c。使用主鍵識別每條記錄。 (不是必需的)
2 NF:
a.must在1 NF (TRUE)
b.must不包含冗餘數據,如果是,將其移動到單獨的表。 (TRUE,但這裏我們只關注部分依賴關係,去除部分依賴關係對於2NF是足夠的,並且在刪除之後如果一些冗餘數據仍然存在,那麼它對於2NF是OK的。)
c.create table using foreign key (FALSE,將表格拆分爲兩部分,其中它們之間的通用屬性表現爲任何分解表的候選鍵) 示例:R(A,B,C,D)讓我們假設我們想要(AB)和(BCD),其中公共屬性(HERE:'B')表現爲(AB)或(BCD)中的任何一個的候選鍵)。
3 NF:
a.Must在2NF (不neccessarily真實的,即使它不是在2NF你可以用3NF.When去這將是3NF,它會自動滿足2NF屬性)
b.Dose不包含未完全依賴於列主鍵 (寫作的方式是不對的,你應該寫「在3NF,傳遞依賴(非主屬性派生主屬性)不允許」)
*請記住:請記住這一點:1NF到2NF,2NF到3NF,3NF到BCNF不是一個規則,它是一個慣例。意味着你可以直接去BCNF(0%冗餘)。
希望這會有所幫助。欲瞭解更多詳情,你也可以參考:Detailed explanation of Normal forms
基本上我想知道我寫的是對還是錯? –