• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    淺談軟件測試開發技術數據庫設計中的反規范

    發布: 2009-9-10 11:03 | 作者: 不詳 | 來源: 領測軟件測試網 | 查看: 115次 | 進入軟件測試論壇討論

    領測軟件測試網

     規范化理論是研究如何將一個不好的關系模式轉化為好的關系模式的理論,規范化理論是圍繞范式而建立的。規范化理論認為,一個關系數據庫中所有的關系,都應滿足一定的規范(約束條件)。規范化理論把關系應滿足的規范要求分為幾級,滿足最低要求的一級叫做第一范式(1NF),在第一范式的基礎上提出了第二范式(2NF),在第二范式的基礎上又提出了第三范式(3NF),以后又提出了BCNF范式,4NF,5NF。范式的等級越高,應滿足的約束集條件也越嚴格。規范的每一級別都依賴于它的前一級別,例如若一個關系模式滿足2NF,則一定滿足1NF。下面我們只介紹1NF,2NF,3NF范式。

      2.2. 1NF

      1NF是關系模型的最低要求,它的規則是:

      每一列必須是原子的,不能分成多個子列。

      每一行和列的位置只能有一個值。

      不能具有多值列。

      例:如果要求一個學生一行,一個學生可選多門課,則下面的“學生”表就不滿足1NF:

      student(s-no,s-name,class-no)

      其中:s-no為學號,s-name為學生姓名,class-no為課程號。因為一個學生可選多門課,所以列class-no有多個值,所以空不符合1NF。

      規范化就是把它分成如下兩個表:“學生”表和“選課”表,則這兩個表就都滿足1NF了。

      student(s-no,s-name)

      stu-class(s-no,class-no)

      2.3. 2NF

      對于滿足2NF的表,除滿足1NF外,非主碼的列必須依賴于所有的主碼,而不是組合主碼的一部分。如果滿足1NF的表的主碼只有一列,則它自動滿足2NF。

      例:下面的“選課”表,不符合2NF。

      stu-class(s-no,class-no,class-name)

      其中:class-name為課程名稱。因為詞表的主碼是:(s-no,class-no),非主碼列class-name依賴于組合主碼的一部分class-no,所以它不符合2NF。

      對該表規范化也是把它分解成兩個表:“選課”表和“課程”表,則它們就都滿足2NF了。

      stu-class(s-no,class-no)

      class(class-no,class-name)

      2.4. 3NF

      3NF的規則是除滿足2NF外,任一非主碼列不能依賴于其它非主碼列。

      例:下面的“課程”表,不符合3NF。

      class(class-no,class-name,teacher-no,teacher-name)

      其中:teacher-no為任課教師號,teacher-name為任課教師姓名。因為非主碼列teacher-name依賴于另一非主碼列teacher-no,所以它不符合3NF! ∑浣鉀Q辦法也是把它分解成兩個表:“課程”表和“教師”表,則它們就都滿足3NF了。

      class(class-no,class-name,teacher-no)

      teacher(teacher-no,teacher-name)

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    42/4<1234>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>