Sql-Server

規模與精度 - 為什麼這個定義?

  • July 11, 2021

來自有關 T-SQL / SQL Server的 Microsoft文件:

精度是數字中的位數。比例是數字中小數點右側的位數。例如,數字 123.45 的精度為 5,小數位數為 2。

對於天真的非專家(=我)來說,這總是有點令人困惑。我本來期望它反過來。

  • 總位數如何與日常的精度概念相關(如何“精確”測量某物)?
  • 我怎麼能從比例的角度來考慮小數位數(東西有多大)?

需要明確的是:這不是偽裝成問題的咆哮,而不僅僅是好奇。我相信這個術語是有充分理由的,我認為我可以通過理解這裡的基本思想來了解數據庫。(如果這個問題在這裡被認為太基本,我理解。)

精度和比例是基於有效數字的數學概念。您並不孤單,因為這些術語的目前定義/用法令人困惑。

總位數如何與日常的精度概念相關(如何“精確”測量某物)?

首先,您必須記住,電腦中的所有內容都以二進製表示;然而,並非所有數字都可以使用二進制語法輕鬆表示,特別是在涉及某些分數時。一個這樣的分數,⅓,實際上不可能在電腦中表示。即使有盡可能多的記憶體,電腦也永遠無法以二進制形式完全表示⅓。然而,它可以得到更精確(例如接近) ⅓ 與更多的位(例如,因此小數位)被拋出。

因此,精度可以被認為是您想要表示的數字的*精確程度。*用於定義數字的數字越多,數字就越精確。

我怎麼能從比例的角度來考慮小數位數(東西有多大)?

規模最好用我們如何看待地圖來解釋。州或省的地圖以較少的細節顯示更大的區域,而城市的地圖以更詳細的方式顯示較小的區域。

因此,規模可以被認為是細節的數量。我們想要傳達的更多細節是以展示更少實際內容為代價的。

我不知道這是否對您有幫助,但希望這有助於為這些術語的定義提供一些背景資訊。

如 ypercube 的 Wikipedia 連結中所述,精度與有效數字(或有效數字)的概念有關。

範例:如果您有一個以毫克為單位測量質量的秤,並且您的精度為八位(小數點右側三位,只是為了論證),您可以說某物的質量為 12345.000 克,12345.333克,或 12344.555 克。另一方面,如果您只有五位數的精度,則所有這些都將列為 12345 克 - 因此,您的表示不太精確。

就比例而言 - 顯然,精度和比例為(8,0)的數字可以表示比比例為(8,3)(12345678 > 12345.678) 的數字大三個數量級的數字。以我的思維方式,這是規模的有效定義。

引用自:https://dba.stackexchange.com/questions/184776