<刁鑽專業-程式設計SQL-2> 沈源有 2025.1223

更新 發佈閱讀 4 分鐘

<刁鑽專業-程式設計SQL-2> 沈源有 2025.1223

在 SQL Server, 能夠設定變數型別 numeric(n,0),是「SQL Server 設計欠周到的bug」。

以我程式設計的經驗:

- 只要user能誤用而我的程式卻毫無作為, 那就是bug。

- 系統設計者若只顧標準,不顧防呆,就是欠周到。



--

# 問: 系統設計的兩難?

- 標準遵循:SQL Server必須符合 ANSI SQL 標準,標準允許 numeric(p, s),即使 s=0。

- 防呆設計:如果系統強制阻止「不合理」的用法,就能避免半吊子誤用,但同時也限制了專業人士的特殊需求。

- 專業要求 → 要user自己做正確選擇, 要知道什麼時候用整數,什麼時候用精確小數。


答:

完全沒有問題, 可以用 byte, small int, int, big int 加上 約束條件(上限, 下限.)

byte, small int, int, big int:原生整數型別,效能最佳。

CHECK 約束:直接定義上下限,符合業務邏輯。

結果:既保留了專業人士的精準控制,又避免了半吊子誤用 numeric(n,0)。


系統防呆可能方式:

1. 直接限制, 顯示警告訊息. 規則: type numeric(n, m) - 限制 m > 0 且 m < n

2. SQL Server 看到 numeric(n, 0), 在內部儲存, 運算時, 要自動改為 smallint / int / bigint 加上 限制



--

# 問: 潛在挑戰

- 透明度:使用者可能不知道系統已自動轉換,導致預期與實際不一致。

- 跨平台相容性:其他資料庫可能仍保留 numeric(5,0),移植時會出現差異。

- 設計哲學:SQL Server目前選擇「自由優先」,而不是「防呆優先」。


答:

全部都不成立.

透明度:不需要USER知道, 如果USER要知道, 自己讀文件.

或者完全可以在系統層面顯示「內部最佳化為 int/smallint/bigint」,讓使用者知道,不存在「不一致」問題。

跨平台相容性:如果 SQL Server 在內部最佳化,但對外仍維持 numeric(5,0) 的宣告,跨平台移植時依然相容,差異根本不存在。

設計哲學:說「自由優先」只是藉口。真正周到的設計應該是「自由 + 防呆 + 最佳化」三者並存,並不是二選一。



--

# 車子 vs 系統設計

系統設計:如果程式有一個功能,使用者一旦誤用就會造成隱性危險,而系統卻毫無防呆,那就是程式設計者的 Bug。

車子設計:就像車子, 你不能莫名其妙做一個開關會讓車子出問題, 然後要駕駛不要去按. 這是設計者的責任.

只要使用者能誤用而程式卻毫無作為,那就是 Bug,是「程式設計者的錯」, 而不是「使用者的錯」。

程式設計者的責任不只是「能跑」,也要能「能防止誤跑」。

程式設計就像造車,不能把危險交給使用者自己避免。



---

後記:

我承認我也是半吊子.

現在知識爆炸的世界, 誰不是半吊子?

選自 <<刁鑽>> 沈源有.


留言
avatar-img
Louis Shen的沙龍
1會員
27內容數
刁鑽地刁鑽刁鑽. 刁鑽嗎? 理解刁鑽,透視刁鑽, 驗證刁鑽,實踐刁鑽, 駕馭刁鑽,遊戲刁鑽, 化身刁鑽,刁鑽我。
Louis Shen的沙龍的其他內容
2025/12/24
<刁鑽專業-程式設計SQL-1> 沈源有 2025.1223 在 SQL Server, 用以下 command 建立一個table CREATE TABLE [PERSON]( [Id] [bigint] IDENTITY(1,1) NOT NULL, [NAME] [va
2025/12/24
<刁鑽專業-程式設計SQL-1> 沈源有 2025.1223 在 SQL Server, 用以下 command 建立一個table CREATE TABLE [PERSON]( [Id] [bigint] IDENTITY(1,1) NOT NULL, [NAME] [va
2025/12/22
<刁鑽哲學-通透> 沈源有 2025.1222 老子: 道可道, 非常道. 讓我沈源來補充我的理解: 道不道, 不知道. 孔子: 知我者春秋, 罪我者春秋. 依我沈源有的理解替老子說: 老子: 道德經是明知不可說, 但又不得不說. 所以老子才要莫名其妙地"道"出"
2025/12/22
<刁鑽哲學-通透> 沈源有 2025.1222 老子: 道可道, 非常道. 讓我沈源來補充我的理解: 道不道, 不知道. 孔子: 知我者春秋, 罪我者春秋. 依我沈源有的理解替老子說: 老子: 道德經是明知不可說, 但又不得不說. 所以老子才要莫名其妙地"道"出"
2025/12/19
<刁鑽歷史-律與率> 沈源有 2025.1219 律與率 這二字, 古人用相同/相似發音, 不像是巧合, 對嗎? 🔹 律 - 音律, 法律, 規律, 定律 - 外在的秩序, 規範, 法則。 - 限制與控制, 約束, 框架。 - 是「框架」, 建立秩序的規範。
2025/12/19
<刁鑽歷史-律與率> 沈源有 2025.1219 律與率 這二字, 古人用相同/相似發音, 不像是巧合, 對嗎? 🔹 律 - 音律, 法律, 規律, 定律 - 外在的秩序, 規範, 法則。 - 限制與控制, 約束, 框架。 - 是「框架」, 建立秩序的規範。
看更多
你可能也想看
Thumbnail
宰我問曰:『仁者,雖告之曰:「井有仁焉。」其從之也?』子曰:『何為其然也?君子可逝也,不可陷也;可欺也,不可罔也』(雍也第六)。  井,不能狹義地僅理解為井,而是比喻危險的境地。逝,去;罔,迷惑。   宰我有很強的獨立思考能力,有懷疑精神,不人云亦云,不盲從權威。這
Thumbnail
宰我問曰:『仁者,雖告之曰:「井有仁焉。」其從之也?』子曰:『何為其然也?君子可逝也,不可陷也;可欺也,不可罔也』(雍也第六)。  井,不能狹義地僅理解為井,而是比喻危險的境地。逝,去;罔,迷惑。   宰我有很強的獨立思考能力,有懷疑精神,不人云亦云,不盲從權威。這
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
你帶過人嗎?那你會帶人嗎?有人教你怎麼帶人嗎?484沒人教你? 向部屬傳達「對你自己有好處」的訊息這個目標「工作」有著oo的目的,一起努力達成吧! 報告/連絡/商量報告/連絡/商量很重要, 請隨時說出你認為重要的資訊何時進行?如何進行?進行的優先順序 反駁主管耐著性子,xx那你覺得該怎麼做才好呢?
Thumbnail
你帶過人嗎?那你會帶人嗎?有人教你怎麼帶人嗎?484沒人教你? 向部屬傳達「對你自己有好處」的訊息這個目標「工作」有著oo的目的,一起努力達成吧! 報告/連絡/商量報告/連絡/商量很重要, 請隨時說出你認為重要的資訊何時進行?如何進行?進行的優先順序 反駁主管耐著性子,xx那你覺得該怎麼做才好呢?
Thumbnail
「跨年這件事」是甚麼時候開始玩起的         上網查了一下:1986年年底,滾石唱片公司集結李宗盛等旗下歌手在中華體育館(1990年被拆除)舉行「快樂天堂演唱會」,從晚上8點開始到午夜,「快樂天堂演唱會」被視為台灣第一場跨年演唱會。滾石唱片當時打出「1986年最後一秒在喜悅與歡呼中消失,繼起的
Thumbnail
「跨年這件事」是甚麼時候開始玩起的         上網查了一下:1986年年底,滾石唱片公司集結李宗盛等旗下歌手在中華體育館(1990年被拆除)舉行「快樂天堂演唱會」,從晚上8點開始到午夜,「快樂天堂演唱會」被視為台灣第一場跨年演唱會。滾石唱片當時打出「1986年最後一秒在喜悅與歡呼中消失,繼起的
Thumbnail
面試問題百百種,有些問題特別刁鑽如陷阱,如何接招刁鑽面試問題?如何提出讓面試官驚豔的問題?海外求職,該怎麼回答並不存在中文脈絡的問題?這篇分享真實案例和我臨機應變的回答。也分享我如何周旋於丹麥維京人世界,又說服愛爾蘭、法國、哥斯大黎加人,漂到小美人魚故鄉。
Thumbnail
面試問題百百種,有些問題特別刁鑽如陷阱,如何接招刁鑽面試問題?如何提出讓面試官驚豔的問題?海外求職,該怎麼回答並不存在中文脈絡的問題?這篇分享真實案例和我臨機應變的回答。也分享我如何周旋於丹麥維京人世界,又說服愛爾蘭、法國、哥斯大黎加人,漂到小美人魚故鄉。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
之前改裝升級Dahon Vitesse D7時發現,Dahon的機構設計工程師專業素養非常高,各種組裝尺寸拿捏得異常緊湊;此次則見證到另一個更古老的版本,如下圖所示,而且是連型號都查不到的單速版本,只知道在社群內都稱呼其為老貂。透過老貂的拆裝,再次證明了,Dahon的細節拿捏顯然是一脈相承的,很可能
Thumbnail
之前改裝升級Dahon Vitesse D7時發現,Dahon的機構設計工程師專業素養非常高,各種組裝尺寸拿捏得異常緊湊;此次則見證到另一個更古老的版本,如下圖所示,而且是連型號都查不到的單速版本,只知道在社群內都稱呼其為老貂。透過老貂的拆裝,再次證明了,Dahon的細節拿捏顯然是一脈相承的,很可能
Thumbnail
2025年精選21位大屌師傅,最大值21,絕對讓您享受一整年! 文末有贊助內容,可解鎖完整師傅與武器配對,感謝您的贊助,讓我們許願池能永續經營下去,我們成立七年來,大大的減少同志朋友在按摩時被詐騙的數量,讓大家減少踩雷的,讓督促店家提供更高的服務品質。 SSB SPA 小羊 170CM
Thumbnail
2025年精選21位大屌師傅,最大值21,絕對讓您享受一整年! 文末有贊助內容,可解鎖完整師傅與武器配對,感謝您的贊助,讓我們許願池能永續經營下去,我們成立七年來,大大的減少同志朋友在按摩時被詐騙的數量,讓大家減少踩雷的,讓督促店家提供更高的服務品質。 SSB SPA 小羊 170CM
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
自從開始玩直播和拍開箱影片以後深深覺得房間的光源不足 我們小孩房因為只有小小的大約四五坪,為了擴大使用空間,當初是設計高架床,現在都在床底下拍攝節目,不過透過螢幕就會覺得床底下的燈源略顯不足,不夠亮的話就會使得拍攝的畫質顆粒比較粗,模模糊糊得很難看… 還有一個問題是在床上沒有辦法關燈,雖然當初有
Thumbnail
自從開始玩直播和拍開箱影片以後深深覺得房間的光源不足 我們小孩房因為只有小小的大約四五坪,為了擴大使用空間,當初是設計高架床,現在都在床底下拍攝節目,不過透過螢幕就會覺得床底下的燈源略顯不足,不夠亮的話就會使得拍攝的畫質顆粒比較粗,模模糊糊得很難看… 還有一個問題是在床上沒有辦法關燈,雖然當初有
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News