我正在使用MYSQL存儲有關用戶訂單的數據。使用PayPal,某些訂單隻有一個交易ID,而其他訂單隻有一個配置文件ID。對於txn_id和profile_id有單獨的字段,根據順序,其中一個或另一個是否爲NULL,是否可憐的數據庫設計?字段相關的數據庫結構
0
A
回答
1
不,這並不是糟糕的設計。
根據具體情況,您有兩種情況,一種是NULL
。當您嘗試強制執行時,出現問題的確切原因是NULL
或至少一個不是NULL
。爲了有效地做到這一點,您需要使用觸發器來檢查值。
0
如果總是隻有一個ID或另一個,可以考慮有兩個字段,一個是id_type
,另一個是id_value
(如果它們具有相同的數據類型)。
這可能會使查詢更簡單。
0
您有兩種基本選擇:
- 兩個領域,一個是交易,一個用於個人資料都交易和檔案,並有另一場,以確定是否
- 的字段是一個Transction ID或個人資料ID
我更喜歡1號(與您的基本相同),因爲您保留了字段的正確命名而不是通用命名。除此之外,如果其中一個是NULL
,您總是可以使用COALESCE()
或那種功能來檢索不是NULL
。
在這方面,這也意味着,你應該有一個人工主鍵將不能依賴Transction ID
或Profile ID
。
相關問題
- 1. 數據庫結構關係數據庫
- 2. 關於數據庫結構
- 3. 關注者/關注數據庫結構
- 4. 表示數字段的數據結構
- 5. 關於數據庫結構的建議
- 6. 關注者的MySQL數據庫結構
- 7. DB中的數據結構字段
- 8. 關係數據庫和淨結構
- 9. mysql數據庫結構和關係
- 10. 數據庫結構和關係
- 11. 數據庫結構 - 存儲關係
- 12. 涉及動態字段的數據庫結構
- 13. (有點)複雜的數據庫結構與簡單 - 空字段
- 14. 數據庫與14個離散字段 - 結構(SQLite的安卓)
- 15. 使用CakePHP的多字段主鍵和數據庫結構
- 16. 數據庫結構
- 17. 數據庫結構
- 18. 關於相關功能的數據結構的建議
- 19. 關係的數據結構
- 20. 開關數據結構以字典
- 21. Multilang目錄(帶自定義字段)數據庫結構設計
- 22. 數據庫結構/定義和未定義字段值
- 23. CMS的數據庫結構
- 24. 模擬關係數據庫的Python數據結構
- 25. 關係數據庫的高效永久數據結構
- 26. 德州撲克數據的關係數據庫結構
- 27. 數據庫數據庫結構
- 28. 拉關係數據庫字段
- 29. MySQL數據庫結構中一個字段的數值未知數的表格
- 30. 有關phpMyAdmin表格關係和數據庫結構的問題