0
A
回答
1
零值的一個基本問題是,它們的解釋沒有單一的普遍接受的含義,因此使用空值的結果經常不一致並且與預期意義不同。
通常,空值必須隱藏或從最終用戶中抽象出來。因此,如果開發人員決定將空值放入數據庫中,他通常還必須確定如何在稍後再次刪除它。
由於這些原因,完全避免使用空值或最大限度地減少它們的使用是有意義的。
如果您確實允許使用空值,那麼您應該仔細定義這些空值的含義並對其進行正確處理,並確保您的代碼正確處理它們。如果你不使用空值,那麼你通常不需要這樣做 - 儘管你可能想要設計你的代碼,以至於即使數據庫中不存在空值也不會生成空值。
1
空是「不可避免的與任何現有的SQL引擎」和「數據管理的瘟疫和霍亂一體化」。
使用SQL時,關鍵是要記住,您的SQL表確實處於「物理設計」級別,您希望只保留同一對象的不同屬性p1,p2,p3的單個記錄,由一些標識符I識別爲單行(I,p1,p2,p3)。即使其中一些屬性碰巧「未知」。 (我沒有提到「N/A」,這個特殊含義暴露了設計缺陷)
但是,SQL級別與您的應用程序(/用戶)可能想要的「邏輯級別」來處理,因爲那個「邏輯層次」包含三個單獨的種事實斷言:「我有屬性p1」,「我有屬性p2」和「我有屬性p3」。在即的水平,你不想被這三個中的任何一個都未知的事實所困擾。
相關問題
- 1. 處理NumberFormatExeption的最佳做法
- 2. 處理UI事件的最佳做法
- 3. 關於JavaScript Promise的最佳做法
- 4. wcf連接處理最佳做法
- 5. 最佳做法異常處理
- 6. 處理DynamoDB的最佳做法batchGetItem的未處理鍵
- 7. 關於進銷存表和稅收處理的最佳做法建議
- 8. 處理表單處理的最佳做法
- 9. 關於何處放置方法查詢兩個模型的最佳做法
- 10. 在ReactJS中處理空值的最佳方法是什麼?
- 11. 處理/清理用戶名(口音,標點,...)的最佳做法?
- 12. 處理重複方法調用的最佳做法是什麼?
- 13. 異步/等待方法和異常處理的最佳做法
- 14. 關於JSON轉換和相關對象的最佳做法Backand
- 15. 在Laravel中處理空的雄辯查詢的最佳做法是什麼?
- 16. 處理WCF項目中未處理的異常的最佳做法?
- 17. .net服務層中的異常處理的最佳做法
- 18. 處理Django中的全球500錯誤的最佳做法?
- 19. 什麼是在C#中的文件處理的最佳做法?
- 20. Flash Builder用於處理項目的多個版本的最佳做法
- 21. 清理Unicode輸入的最佳做法
- 22. 處理聯繫表單的最佳做法是什麼?
- 23. 處理數據庫時的最佳做法
- 24. 在C中處理貨幣金額的最佳做法#
- 25. 處理非持續屬性,頻繁更新的最佳做法
- 26. 處理應用程序配置的最佳做法是什麼?
- 27. 處理內存不足錯誤的最佳做法是什麼?
- 28. 處理文件和路徑的最佳做法是什麼?
- 29. 使用JavaScript處理事件的最佳做法
- 30. Android:處理JSON數據的最佳做法
這取決於你訂閱哪個哲學。有些人不允許在數據庫中存在空值。我更喜歡在任何地方使用它們。 – 2010-08-27 09:48:07
這取決於。我傾向於使用NULL作爲「這部分數據未知或未指定」。 (你能標記社區Wiki的問題嗎?沒有「最好」的答案可能) – Piskvor 2010-08-27 09:50:16
問一個更具體的問題可能會更好。這太籠統了,它取決於你需要做什麼以及你編寫什麼樣的軟件。 – 2010-08-27 10:06:57