zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0

          第一范式( 1NF ):在關系模式 R 中的每一個具體關系 r 中,如果每個屬性值都是不可再分的最小數據單位,則稱 R 是屬于第一范式的關系。

          第二范式( 2NF ):如果關系模式 R U F )中的所有非主屬性都完全依賴于任意一個候選關鍵字,則稱 R 是屬于第二范式的。

          第三范式( 3NF ):如果關系模式 R U F )中的所有非主屬性對任何候選關鍵字都不存在傳遞信賴,則稱 R 是屬于第三范式的。



          第一范式是關系數據庫的最小要求

          比如

          ?

          姓名 ??????????????????? 性別 ?????????? ???????? 身高

          Billy?????????? ???????? Male? ???????????? 180CM

          這就是第一范式 .

          如果改成

          ??????????????????????????????????????????????????????? ???? ???????? ?????????????????? ????

          姓名 ??????????????????? 性別 ??????????????????? 胸圍 ???????? 臀圍 ???????? 腰圍

          這個就不是第一范式了 .

          ?

          第二范式說通俗一點就是不存在部分依賴 , 舉例如下 :

          促銷員的銷量表 , 字段為促銷員 OID, 產品 OID, 產品顏色 , 產品重量

          業務上主鍵應該為 促銷員 OID 和產品 OID

          但是產品顏色和產品重量顯然依賴于產品 OID, 不能因為某個促銷員長得漂亮產品顏色就艷麗一些 .

          所以產品顏色和產品重量就部分依賴于候選主鍵促銷員 OID 和產品 OID, 這樣就滿足第二范式 .

          ?

          ?

          第三范式說通俗一點就是不存在傳遞依賴 . 舉例如下 :

          促銷員表 , 字段為促銷員 OID, 所屬銷售部 OID, 銷售部地址 .

          那么促銷員 OID 是業務主鍵 , 由于只有一個字段做主鍵 , 所以肯定不存在部分依賴

          但是這個存在傳遞依賴

          促銷員 OID 決定了所屬銷售部 OID, 而所屬銷售部又能決定銷售部地址 .

          所以銷售部地址間接依賴于銷售部 OID

          于是存在傳遞依賴 .

          ?

          ?

          由于我們采用 OID 一個字段做表的主鍵 , 所以肯定滿足第二范式 . 至于滿不滿足第三范式就要分析一下了 .

          但是有些情況下是需要保存歷史信息的

          比如銷售部的地址變動了

          這些另當別論 , 打破第三范式就好了

          另外聯合查詢的性能損失很大 , 有時候破壞范式來換取報表的運行效率也是值得的 .

          ?



          |----------------------------------------------------------------------------------------|
                                     版權聲明  版權所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2006-06-13 13:54 zhyiwww 閱讀(778) 評論(0)  編輯  收藏 所屬分類: database
          主站蜘蛛池模板: 兖州市| 江西省| 高台县| 武城县| 山阳县| 甘泉县| 黎城县| 大洼县| 建宁县| 洛南县| 新源县| 鄄城县| 白河县| 上栗县| 上饶市| 纳雍县| 祁连县| 应用必备| 南召县| 革吉县| 内江市| 溧阳市| 临西县| 伊宁县| 含山县| 靖边县| 元谋县| 九龙县| 台中县| 社旗县| 桃园市| 合肥市| 区。| 漳平市| 盈江县| 涿鹿县| 遂平县| 沿河| 千阳县| 和政县| 固原市|