什麼是反正規化,正規化和反正規化是什麼意思,資料庫相關問題。

時間 2022-08-13 17:15:07

1樓:匿名使用者

反正規化是通過增加冗餘資料或資料分組來提高資料庫讀效能的過程。在某些情況下, 反正規化有助於掩蓋關係型資料庫軟體的低效。關係型的正規化資料庫即使做過優化, 也常常會帶來沉重的訪問負載。

資料庫的正規化設計會儲存不同但相關的資訊在不同的邏輯表, 如果這些表的儲存在物理上也是分離的,那麼從幾個表中完成資料庫的查詢可能就會很慢 (比如join操作)。如果join操作的表很多,那麼可能會慢得離譜。 有兩個辦法可以解決這個問題。

首選的方法是使邏輯上的設計遵循正規化, 但允許資料庫管理系統(dbms)在磁碟上儲存額外的冗餘資訊來加快查詢響應。 在這種情況下,dbms還要保證冗餘副本與原始資料的一致性。 這種方法通常在sql中以索引檢視(微軟的sql server)或物化檢視(oracle)實現。

檢視將資訊表示為方便查詢的格式,索引確保檢視上的查詢進行了優化。

更常見的做法是對資料做反正規化設計。這種方法同樣能提高查詢響應速度, 但此時不再是dbms而是資料庫設計者去保證資料的一致性。 資料庫設計者們通過在資料庫中建立規則來保證資料的一致性,這些規則叫約束。

這樣一來,資料庫設計的邏輯複雜度就增加了,同時額外約束的複雜度也增加了, 這使該方法變得危險。此外,「約束」在加快讀操作(select)的同時,減慢了寫操作 (insert, update和delete)。這意味著乙個反正規化設計的資料庫, 可能比它的正規化版本有著更差的寫效能。

反正規化資料模型與沒有正規化化的資料模型不同。 只有在正規化化已經達到一定的滿意水平並且所需的約束和規則都已經建立起來, 才進行反正規化化。例如,所有的關係都屬於第三正規化, 連線的關係和多值依賴得到了妥善處理。

2樓:匿名使用者

資料庫設計有六種正規化,但是由於業務的特殊性,有時設計時,可以違反這六種正規化,稱為反正規化設計

正規化和反正規化是什麼意思,資料庫相關問題。

3樓:

資料庫設計的一些規則,反正規化就是不遵循那些規則。像資料庫正規化中的字段冗餘就是反正規化

資料倉儲和資料庫有什麼區別和聯絡?

資料庫資料垂直式儲存什麼意思

4樓:匿名使用者

就是把資料按列來存,比如按月的資料把月份當成資料儲存就是下邊的格式:

mon value

1 100

2 200

3 150

....

這就是資料垂直式儲存。否則還可以這樣:

1月 2月 3月  4月

100 200 150 200

什麼是移情與反移情,移情和反移情是什麼意思啊?

就看那呼吸的痛 就是男朋友愛上了別的女人,覺得對不起現女友,但是突然發現現女友也愛上別的男人 移情指本應是對他人 通常是父母,但也可以是兄弟姐妹 配偶等 的情感和態度轉移到了分析家身上。有正向和負向之分。正向就是案主對心理諮詢師產生好感或依賴感。負向就是厭惡感。如果諮詢師與移情者一同陷入情感的漩渦,...

lol中反蹲和反野區別是什麼

專注智慧型語音機械人 中反蹲是指在中路幫自己的隊友反蹲,如果說隊友壓線比較靠前往往會招來對面打野的照顧這個時候你就要在旁邊進行反蹲 以保護隊友。反野是指你到對面的野區進行打野,吃掉對面的野區經濟。 易枷凌 以下是原答案 簡單來講 反野就是去對面野區抓對方打野。反蹲就是等對方打野gank的時候支援隊友...

什麼是「正治」與「反治」正治與反治的內容是什麼?

一 正治。指正治法,是一般常規的 方法,指針對疾病的性質 病機,從正面 二 反治。反治是指疾病的臨床表現與其本質不相一致情況下的治法,採用的方法和藥物與疾病的證象是相順從的,又稱為 從治 正治 是指疾病的臨床表現與其本質相一致情況下的治法,採用的方法和藥物與疾病的證象是相反的,又稱為 逆治 反治 是...