青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 14,  comments - 4,  trackbacks - 0
引言
     數據庫的設計范式是數據庫設計所需要滿足的規(guī)范,滿足這些規(guī)范的數據庫是簡潔的、結構明晰的,同時,不會發(fā)生插入(insert)、刪除(delete)和更新(update)操作異常。反之則是亂七八糟,不僅給數據庫的編程人員制造麻煩,而且面目可憎,可能存儲了大量不需要的冗余信息。

  設計范式是不是很難懂呢?非也,大學教材上給我們一堆數學公式我們當然看不懂,也記不住。所以我們很多人就根本不按照范式來設計數據庫。

  實質上,設計范式用很形象、很簡潔的話語就能說清楚,道明白。本文將對范式進行通俗地說明,并以筆者曾經設計的一個簡單論壇的數據庫為例來講解怎樣將這些范式應用于實際工程。

范式說明

  第一范式(1NF):數據庫表中的字段都是單一屬性的,不可再分。這個單一屬性由基本類型構成,包括整型、實數、字符型、邏輯型、日期型等。
    例如,如下的數據庫表是符合第一范式的:
字段1 字段2 字段3 字段4
    而這樣的數據庫表是不符合第一范式的:
字段1 字段2 字段3    字段4
       字段3.1 字段3.2  

  很顯然,在當前的任何關系數據庫管理系統(DBMS)中,傻瓜也不可能做出不符合第一范式的數據庫,因為這些DBMS不允許你把數據庫表的一列再分成二列或多列。因此,你想在現有的DBMS中設計出不符合第一范式的數據庫都是不可能的。

  第二范式(2NF):數據庫表中不存在非關鍵字段對任一候選關鍵字段的部分函數依賴(部分函數依賴指的是存在組合關鍵字中的某些字段決定非關鍵字段的情況),也即所有非關鍵字段都完全依賴于任意一組候選關鍵字。

  假定選課關系表為SelectCourse(學號, 姓名, 年齡, 課程名稱, 成績, 學分),關鍵字為組合關鍵字(學號, 課程名稱),因為存在如下決定關系:

  (學號, 課程名稱) → (姓名, 年齡, 成績, 學分)

  這個數據庫表不滿足第二范式,因為存在如下決定關系:

  (課程名稱) → (學分)

  (學號) → (姓名, 年齡)

  即存在組合關鍵字中的字段決定非關鍵字的情況。

  由于不符合2NF,這個選課關系表會存在如下問題:

  (1) 數據冗余:

  同一門課程由n個學生選修,"學分"就重復n-1次;同一個學生選修了m門課程,姓名和年齡就重復了m-1次。

  (2) 更新異常:

  若調整了某門課程的學分,數據表中所有行的"學分"值都要更新,否則會出現同一門課程學分不同的情況。

  (3) 插入異常:

  假設要開設一門新的課程,暫時還沒有人選修。這樣,由于還沒有"學號"關鍵字,課程名稱和學分也無法記錄入數據庫。

  (4) 刪除異常:

  假設一批學生已經完成課程的選修,這些選修記錄就應該從數據庫表中刪除。但是,與此同時,課程名稱和學分信息也被刪除了。很顯然,這也會導致插入異常。

  把選課關系表SelectCourse改為如下三個表:

  學生:Student(學號, 姓名, 年齡);

  課程:Course(課程名稱, 學分);

  選課關系:SelectCourse(學號, 課程名稱, 成績)。

  這樣的數據庫表是符合第二范式的,消除了數據冗余、更新異常、插入異常和刪除異常。

  另外,所有單關鍵字的數據庫表都符合第二范式,因為不可能存在組合關鍵字。

  第三范式(3NF):在第二范式的基礎上,數據表中如果不存在非關鍵字段對任一候選關鍵字段的傳遞函數依賴則符合第三范式。所謂傳遞函數依賴,指的是如果存在"A → B → C"的決定關系,則C傳遞函數依賴于A。因此,滿足第三范式的數據庫表應該不存在如下依賴關系:

  關鍵字段 → 非關鍵字段x → 非關鍵字段y

  假定學生關系表為Student(學號, 姓名, 年齡, 所在學院, 學院地點, 學院電話),關鍵字為單一關鍵字"學號",因為存在如下決定關系:

  (學號) → (姓名, 年齡, 所在學院, 學院地點, 學院電話)

  這個數據庫是符合2NF的,但是不符合3NF,因為存在如下決定關系:

  (學號) → (所在學院) → (學院地點, 學院電話)

  即存在非關鍵字段"學院地點"、"學院電話"對關鍵字段"學號"的傳遞函數依賴。

  它也會存在數據冗余、更新異常、插入異常和刪除異常的情況,讀者可自行分析得知。

  把學生關系表分為如下兩個表:

  學生:(學號, 姓名, 年齡, 所在學院);

  學院:(學院, 地點, 電話)。

  這樣的數據庫表是符合第三范式的,消除了數據冗余、更新異常、插入異常和刪除異常。

  鮑依斯-科得范式(BCNF):在第三范式的基礎上,數據庫表中如果不存在任何字段對任一候選關鍵字段的傳遞函數依賴則符合第三范式。

  假設倉庫管理關系表為StorehouseManage(倉庫ID, 存儲物品ID, 管理員ID, 數量),且有一個管理員只在一個倉庫工作;一個倉庫可以存儲多種物品。這個數據庫表中存在如下決定關系:

  (倉庫ID, 存儲物品ID) →(管理員ID, 數量)

  (管理員ID, 存儲物品ID) → (倉庫ID, 數量)

  所以,(倉庫ID, 存儲物品ID)和(管理員ID, 存儲物品ID)都是StorehouseManage的候選關鍵字,表中的唯一非關鍵字段為數量,它是符合第三范式的。但是,由于存在如下決定關系:

  (倉庫ID) → (管理員ID)

  (管理員ID) → (倉庫ID)

  即存在關鍵字段決定關鍵字段的情況,所以其不符合BCNF范式。它會出現如下異常情況:

  (1) 刪除異常:

  當倉庫被清空后,所有"存儲物品ID"和"數量"信息被刪除的同時,"倉庫ID"和"管理員ID"信息也被刪除了。

  (2) 插入異常:

  當倉庫沒有存儲任何物品時,無法給倉庫分配管理員。

  (3) 更新異常:

  如果倉庫換了管理員,則表中所有行的管理員ID都要修改。

  把倉庫管理關系表分解為二個關系表:

  倉庫管理:StorehouseManage(倉庫ID, 管理員ID);

  倉庫:Storehouse(倉庫ID, 存儲物品ID, 數量)。

  這樣的數據庫表是符合BCNF范式的,消除了刪除異常、插入異常和更新異常。
原文出自:http://www.cnblogs.com/worksguo/articles/1030206.html
posted on 2011-12-06 20:42 mr_chen 閱讀(62) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿

隨筆檔案(14)

文章分類(8)

文章檔案(11)

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人午夜视频| 亚洲毛片av在线| 美女网站在线免费欧美精品| 欧美一级片久久久久久久| 亚洲免费影视第一页| 亚洲永久视频| 久久er99精品| 欧美xx视频| 美女视频黄a大片欧美| 亚洲免费精彩视频| 99成人精品| 亚洲一区观看| 久久精品国产亚洲a| 麻豆精品在线播放| 欧美日韩国产123| 国产欧美日本| 亚洲国产精品电影| 亚洲在线观看| 欧美电影美腿模特1979在线看 | 永久免费精品影视网站| 亚洲欧洲综合| 久久精品国产免费看久久精品| 久久这里有精品视频| 亚洲精品日韩在线观看| 欧美在线观看一区二区| 欧美日韩成人综合在线一区二区| 国产日韩亚洲欧美| 在线视频精品一区| 欧美二区在线| 午夜精品短视频| 欧美日韩国产黄| 伊人一区二区三区久久精品| 亚洲欧美国产制服动漫| 91久久嫩草影院一区二区| 亚洲一区二区三区四区在线观看| 欧美国产日韩二区| 激情欧美丁香| 欧美专区中文字幕| 亚洲午夜精品17c| 欧美日本三级| 亚洲日本精品国产第一区| 久久精品一本久久99精品| 一本色道久久综合亚洲精品不| 免费欧美在线视频| 狠狠色伊人亚洲综合网站色| 香港久久久电影| 一区二区三区日韩精品| 欧美另类高清视频在线| 91久久久久久久久| 欧美国产日韩在线| 蜜臀av一级做a爰片久久| 激情欧美一区二区三区| 久久男人资源视频| 久久久999国产| 韩国女主播一区| 久久人体大胆视频| 久久精品国产69国产精品亚洲| 国产日韩欧美在线视频观看| 性欧美超级视频| 亚洲欧美综合精品久久成人| 国产精品专区h在线观看| 欧美一区二区观看视频| 午夜亚洲视频| 国模精品一区二区三区| 久久人人爽人人爽爽久久| 一区二区三区久久网| 一区二区三区四区蜜桃| 亚洲激情视频网站| 欧美aⅴ一区二区三区视频| 在线免费观看欧美| 亚洲承认在线| 欧美视频日韩| 久久精品国产精品| 久久综合九色综合欧美狠狠| 亚洲人体偷拍| 中文精品视频一区二区在线观看| 国产精品免费网站| 久久精品视频va| 噜噜噜在线观看免费视频日韩| 亚洲精品乱码久久久久久蜜桃麻豆 | 久久国产视频网站| 在线精品福利| 亚洲狼人精品一区二区三区| 国产精品第2页| 裸体一区二区| 欧美日韩一区综合| 欧美亚洲网站| 欧美成年人视频网站欧美| 日韩一本二本av| 午夜精品999| aa级大片欧美三级| 午夜激情亚洲| 亚洲免费观看高清在线观看| 亚洲一级黄色av| 亚洲国产精品专区久久| 亚洲午夜久久久久久久久电影院| 亚洲在线观看免费视频| 亚洲国产成人91精品| 亚洲精品一区在线观看| 国产夜色精品一区二区av| 91久久国产自产拍夜夜嗨| 国产视频一区欧美| 日韩视频一区二区三区| 黄色在线一区| 亚洲欧美日韩精品久久久久| 亚洲精品一线二线三线无人区| 亚洲在线中文字幕| 亚洲免费高清| 久久亚洲春色中文字幕久久久| 亚洲欧美成人网| 欧美极品影院| 美女黄毛**国产精品啪啪| 国产精品va| 亚洲区在线播放| 亚洲国产精品一区二区www| 午夜国产精品视频免费体验区| 99精品热视频| 欧美精品一级| 亚洲福利视频在线| 亚洲电影在线播放| 欧美一区二区三区在线观看视频| 亚洲亚洲精品在线观看| 欧美日韩免费一区二区三区| 新67194成人永久网站| 亚洲深爱激情| 欧美—级a级欧美特级ar全黄| 卡一卡二国产精品| 国产一区二区激情| 亚洲尤物在线视频观看| 亚洲免费一区二区| 欧美性猛交99久久久久99按摩 | 欧美极品色图| 亚洲国产精品成人综合色在线婷婷| 狠狠色综合色综合网络| 性欧美videos另类喷潮| 欧美亚洲免费电影| 国产美女精品一区二区三区| 亚洲一区二区三区国产| 午夜亚洲一区| 国产日韩一区二区三区| 亚洲一区二区视频在线观看| 亚洲欧美日韩综合一区| 国产精品羞羞答答| 欧美亚洲在线播放| 久久亚洲欧美| 亚洲经典视频在线观看| 欧美顶级大胆免费视频| 亚洲日本欧美天堂| 亚洲永久免费av| 国产日韩成人精品| 欧美一区二区精品久久911| 久久精品一区蜜桃臀影院| 国外成人免费视频| 欧美jizzhd精品欧美巨大免费| 亚洲精华国产欧美| 亚洲综合日韩| 国语自产偷拍精品视频偷 | 国产亚洲永久域名| 久久女同精品一区二区| 欧美日本亚洲视频| 亚洲狠狠婷婷| 亚洲午夜三级在线| 国产午夜精品久久久久久久| 久久黄色级2电影| 欧美激情第1页| 亚洲一区二区三区四区五区黄| 国产精品嫩草99a| 久久欧美中文字幕| 一区二区久久| 乱中年女人伦av一区二区| 夜夜嗨av一区二区三区网页| 国产日本亚洲高清| 欧美日韩国产综合一区二区| 亚洲欧美日韩另类| 亚洲丁香婷深爱综合| 亚洲男女自偷自拍图片另类| 在线观看的日韩av| 国产精品久久久一本精品| 久久青草欧美一区二区三区| 日韩午夜免费| 欧美国产日韩视频| 久久国产精品一区二区三区| aⅴ色国产欧美| 在线日韩视频| 国产一级揄自揄精品视频| 欧美日韩成人一区| 免费人成精品欧美精品| 欧美一区二区日韩| 亚洲一区bb| 国产精品成人aaaaa网站| 欧美一区二区性| 亚洲美女免费精品视频在线观看| 久久婷婷成人综合色| 亚洲女与黑人做爰| 99精品视频免费观看| 在线看日韩av| 韩国成人福利片在线播放| 国产精品美女www爽爽爽视频| 欧美成人亚洲成人日韩成人| 欧美中文在线视频|