[英]Can a table have columns that are not dependent on primary key, and still be in 2NF?
我是數據庫新手,過去兩天一直在學習有關正常表單/數據庫實踐的知識。 我已經為飛機檢查數據創建了以下模型表,但是我不確定它是否為第二種標准格式。 檢驗ID是主鍵,但真正依賴於檢驗ID的唯一信息是日期。 技術訂單是機械師進行飛機檢查所遵循的准則,但是它絲毫不影響檢查ID。 檢查員姓名也不取決於檢查ID。
如果兩列不依賴主鍵,此表是否會破壞2NF?
下表如下:
您的表具有一個主鍵,該主鍵是單列,並且沒有其他唯一鍵(或者看起來是這樣),因此它自動以第二范式形式出現,因為主鍵沒有(非空) 正確的子集 。
我剩下的答案都是關於表格是否滿足第三范式的問題(感謝您指出,philipxy)。
主鍵和數據之間不必有任何邏輯依賴性。 實際上,主鍵通常是人為生成的數字。
關鍵是除主鍵外,任何字段都不應依賴於其他任何字段。
例如,如果您的示例中的“ Inspector Name
對於“ Technical Order
始終是相同的,則該表將不是第二范式。 在這種情況下,您將創建第二個表,其中“ Technical Order
是主鍵,“ Inspector Name
將是一個字段。 這樣,您的原始表將僅包含Technical Order
作為該第二個表的外鍵 。
以這種方式對數據模型進行規范化可以避免冗余,從而減少了存儲空間並自動減少了產生不一致的危險(現在不可能發生兩行具有相同的Technical Order
,但Inspector Name
不同的情況。
要判斷表是否已規范化,您必須了解數據的語義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.