對沉餘字段的理解

2021-08-03 08:11:06 字數 996 閱讀 7311

在設計資料庫

時,某一字段屬於乙個表,但它又同時出現在另乙個或多個表,且完全等同於它在其本來所屬表的意義表示,那麼這個字段就是乙個冗餘字段。

例如:user表:

user_id              nickname

1                              小方

2                              小紅

使用沉餘字段:

orders表:

order_id          nickname     user_id

1                            小方               1

2                            小紅               2

尊尋資料庫設計三正規化,不使用沉餘字段:

orders表

order_id          user_id

1                            1

2                            2

分析:使用者表中的nickname欄位,在訂單中也用到,並且所屬的意思也是使用者表中的意思,所有說這個欄位是沉餘字段。

使用資料庫三正規化:

當使用者需要修改暱稱的時候,直接修改用使用者表中的暱稱即可, 很方便,在訂單表中,要查詢出使用者暱稱,乙個普遍的方法就是使用join方式進行查詢。

優點:擴充套件方便,設計清晰明了,需要更新字段資訊的時候,程式修改的字段較少。

缺點:隨著資料庫的資料不斷增加,數量達到數已百計時候,如果只是需要暱稱,通過連線查詢非常影響效能。

使用沉餘字段設計:

當使用者需要使用使用者暱稱的時候,就不需要進行關聯查詢,大大提高了效能。但是涉及到修改使用者暱稱的時候,你必須得清楚的記得該錶哪些欄位是沉餘字段,這些沉餘字段在哪些表中使用過,然後在更新的程式中進行更新。維護資料的一致性成本比較大。

優點:效能會提高

缺點:維護資料一致代價比較大

對負數取餘的處理

自 在vc 中計算 1 3 其結果是 1 而不是 我所要的2。在格仔座標中,如果希望超過邊界的數從另一面回到視野中,取余是非常有用的作法 原數 2 10 1 2 34 取餘120 1201 1 3 1 2即 3 2 1 而由於vc 在取整的時候,預設是將小數部分捨去,所以 1 3 0.333 0 於...

v sql欄位的理解

plan hash value 反應sql的執行計畫,如果不同的sql的 plan hash value 相同,則表示這些sql的執行計畫相同。hash value sql id的後幾位的乙個值,因此不同的sql 的hash value 也可能相同。sql id 能夠唯一標示一條sql versio...

和與餘數的和同餘理解 餘數與同餘問題

餘數 在公 中,我們常常利用同餘性質計算週期問題 已知某天 餘數同餘問題 1 用乙個自然數去除另乙個自然數,不完全商是 8,餘數是 16,被除數 除數 商 餘數 這四個數的和為 463,那麼除數為 2 57 96 148 被某自然數整除,餘數相同,且不為零,那麼 284 被這個自然數除后餘 3 15...