午夜久久亚洲精品|A级黄韩国免费久久久|91亚洲四虎精品网址|国产精品良家极品身材反差|在线看片日本免费一区二区|久久天天躁日日躁狠狠综合|日本欧美国产精品第一页久久|国产精品夜色视频一区二区三区

全國- 「切換城市」 培訓家旗下培訓平臺
手機版
網站導航

數據庫中的范式和反范式區(qū)別詳解

2020.03.20

發(fā)布者:網上發(fā)布

??范式是關系數據庫理論的基礎,也是我們在設計數據庫結構過程中所要遵循的規(guī)則和指導方法。數據庫的設計范式是數據庫設計所需要滿足的規(guī)范。只有理解數據庫的設計范式,才能設計出率、優(yōu)雅的數據庫,否則可能會設計出錯誤的數據庫。
??反范式,不滿足范式的模型,就是反范式模型。反范式跟范式所要求的正好相反,在反范式的設計模式,我們可以允許適當的數據的冗余,用這個冗余去取操作數據時間的縮短。本質上就是用空間來換取時間,把數據冗余在多個表中,當查詢時可以減少或者是避免表之間的關聯(lián)。RDBMS模型設計過程中,常常使用范式約束我們的模型,但在NOSQL模型中則大量采用反范式。數據庫中范式和反范式的的主要區(qū)別在于:
??在范式化的數據庫中,每個事實數據會出現(xiàn)并且只出現(xiàn)一次;相反,在反范式化的數據庫中,信息是冗余的,可能會存儲在多個地方。
??范式化的優(yōu)點:
??1)范式化的更新操作通常比反范式化要快。
??2)當數據較好地范式化時,就只有很少或者沒有重復數據,所以只需要修改更少的數據。
??3)范式化的表通常更小,可以更好地放在內存里,所以執(zhí)行操作會更快。
??4)很少有多余的數據意味著檢索列表數據時更少需要DISTINCT或者GROUP BY語句。
??范式化設計的schema的缺點是通常需要關聯(lián),較多的關聯(lián)可能使得一些索引策略無效,例如,范式化可能將列存放在不同的表中,而這些列如果在一個表中本可以屬于同一個索引。
??反范式的schema因為所有數據都在一張表中,可以很好地避免關聯(lián)。缺點是update操作的代價高,需要更新多個表,至于這會不會是一個問題,需要考慮更新的頻率以及更新的時長,并和執(zhí)行select查詢的頻率進行比較。從另一個父表冗余一些數據到子表的理由通常是排序的需要。
??緩存衍生值也是有用的。如果需要顯示每個用戶發(fā)了多少消息,可以每次執(zhí)行一個昂貴的子查詢來計算并顯示它;也可以在user表中建一個num_messages列,每當用戶發(fā)新消息時更新這個值。

上一篇:學了健康管理師工作好不好找 下一篇:服裝設計手繪學習課程有哪些

推薦機構

熱門課程

本站展示的所有信息內容系由機構或個人用戶發(fā)布,可能存在發(fā)布者所發(fā)布的信息,并未獲得品牌所有人有效授權。本平臺會加強審核,但無法完全排除差錯或疏漏。鄭重聲明:本平臺僅為免費注冊用戶提供免費的信息發(fā)布渠道,但不對其發(fā)布信息的真實性、準確性和合法性負責,對此也不承擔任何法律責任。對于從本網站或本網站的任何有關服務所獲得的資訊、內容或廣告,您接受或信賴任何信息所產生之風險應自行承擔,本網對任何使用或提供本網站信息的商業(yè)活動及其風險不承擔任何責任。,如果侵犯,請及時通知我們,發(fā)送郵件至15610150293@126.com本網站將在第一時間及時刪除。