第一范式:
對于表中的每一行,必須且僅僅有唯一的行值.在一行中的每一列僅有唯一的值并且具有原子性.
(第一范式是通過把重復的組放到每個獨立的表中,把這些表通過一對多關聯(lián)聯(lián)系起來這種方式來消除重復組的。)
第二范式:
第二范式要求非主鍵列是主鍵的子集,非主鍵列活動必須完全依賴整個主鍵。主鍵必須有唯一性的元素,一個主鍵可以由一個或更多的組成唯一值的列組成。一旦創(chuàng)建,主鍵無法改變,外鍵關聯(lián)一個表的主鍵。主外鍵關聯(lián)意味著一對多的關系.
(第二范式處理冗余數(shù)據(jù)的刪除問題。當某張表中的信息依賴于該表中其它的不是主鍵部分的列的時候,通常會違反第二范式。)
第三范式:
第三范式要求非主鍵列互不依賴.
(第三范式規(guī)則查找以消除沒有直接依賴于第一范式和第二范式形成的表的主鍵的屬性。我們?yōu)闆]有與表的主鍵關聯(lián)的所有信息建立了一張新表。每張新表保存了來自源表的信息和它們所依賴的主鍵。)
第四范式:
第四范式禁止主鍵列和非主鍵列一對多關系不受約束
()
第五范式:
第五范式將表分割成盡可能小的塊,為了排除在表中所有的冗余.
()
在數(shù)據(jù)庫設計時,大家應該時刻的注意到這幾個范式。 其中第五范式是最難實現(xiàn)的。但是,還是需要盡量的去實現(xiàn)這些功能。
posted @ 2005-04-30 14:07 空中的風月 閱讀(12126) 評論(29) 編輯 收藏 網(wǎng)摘

發(fā)表評論
回復 引用 查看
#1樓 2005-04-30 16:29 |
回復 引用 查看
#2樓 [樓主]2005-04-30 16:57 |
回復 引用 查看
#3樓 2005-05-02 17:22 |
回復 引用 查看
#4樓 2005-05-03 16:55 |
回復 引用 查看
#5樓 2005-05-08 13:00 |
制度??聽你說到這個所謂的“制度”,那我就明白你是反對我的意見的,你可能還是在設想著用所謂的“制度”來控制這種問題,但比如貨運地址吧,你是不是認為在刪除時要進行一下判斷,也就是在訂單中使用過的就不能刪除??
那么這批訂單由于時間問題,要移出數(shù)據(jù)庫進行備份了,結果在這時可以刪除貨運地址,然后有一天客戶想看以前移出的備份數(shù)據(jù)了,導回來后發(fā)現(xiàn)貨運地址沒有了。。。一片驚嘆。。。
我的思想很簡單,要是在實際的業(yè)務中,是以實物型式存在的,那么這類東西應該具有一定的“獨立性”,這個“獨立性”就跟現(xiàn)實中的單據(jù)一樣,不會因為其他基本數(shù)據(jù)的丟失而無效,真是由于這種實物存在,也就是具有了一定的“歷史性”,因此違反所謂的“第三范式”也是理所應當?shù)摹?/span>
回復 引用 查看
#6樓 2005-05-08 13:37 |
回復 引用 查看
#7樓 2005-05-08 16:28 |
回復 引用 查看
#8樓 [樓主]2005-05-08 17:18 |
回復 引用 查看
#9樓 2005-06-01 17:02 | 漁家傲
回復 引用 查看
#10樓 2005-06-09 20:28 | chen
回復 引用 查看
#11樓 2005-06-10 18:34 |
回復 引用 查看
#12樓 2005-06-19 00:17 |
回復 引用 查看
#13樓 2005-06-21 09:23 | tongtkk
回復 引用 查看
#14樓 2005-06-24 08:49 | JOAN
中,FD=(A—>B,A->C,(C,D)->E)。
問此關系符合第幾范式,請分解。
回復 引用
#15樓 2005-07-15 16:01 | 評 [未注冊用戶]
回復 引用
#16樓 2005-08-24 14:23 | 尹青山 [未注冊用戶]
回復 引用
#17樓 2005-11-20 20:12 | zxprzxpr [未注冊用戶]
回復 引用
#18樓 2005-11-25 00:13 | tongtkk [未注冊用戶]
回復 引用
#19樓 2005-12-21 11:08 | cai8845218 [未注冊用戶]
回復 引用 查看
#20樓 2006-05-07 17:44 |
聽棠.NET
你說的那種情況并不是必須違反3nf。關鍵在于,你沒有抽象出歷史版本的概念。只要在訂單中引用客戶資料的歷史版本,就不存在什么必須違反3nf的問題。
我認為這個問題在于設計時對業(yè)務概念理解不清。
你需要引用的是客戶資料的歷史信息,而不是客戶現(xiàn)在的信息。
回復 引用 查看
#21樓 2006-05-07 17:45 |
還是不夠好,主鍵應該用無意義的字段。比如用sql server的自動生成的主鍵。
回復 引用 查看
#22樓 2007-04-09 13:57 |
月色瘋狂
說得對。
回復 引用
#23樓 2007-10-08 16:06 | 聽棠.NET@SB [未注冊用戶]
回復 引用
#24樓 2007-10-19 09:24 | abcd [未注冊用戶]
回復 引用 查看
#25樓 2008-07-15 20:26 |
回復 引用
#26樓 2008-08-05 14:17 | YYX [未注冊用戶]
回復 引用
#27樓 2008-08-24 13:55 | MarsGe [未注冊用戶]
回復 引用 查看
#28樓 2008-10-06 17:35 |
回復 引用
#29樓 2008-10-30 09:44 | 海浪0924 [未注冊用戶]