我對設計新的數據庫表有疑問。是否可以像 ID 一樣存儲數據?假設我有一張桌子:ID type1 client_id2 item_id3 price4 date像這樣制作表格會出什么問題:ID transaction foreign_id data1 222 1 142 222 2 253 222 3 $2554 222 4 5/17/20205 528 1 146 528 2 1877 528 3 $148 528 4 5/16/2020 ETC..我要制作一個更大的數據庫,其中可能超過 20 列。我在想這是否是一個(更好的)解決方案。這個結構有什么可能出錯的地方嗎?PS:Postgre 數據庫
1 回答

RISEBY
TA貢獻1856條經驗 獲得超5個贊
您正在描述實體-屬性-值模型。
我實際上不會推薦這個,因為它有很多陷阱,例如:
不能強制屬性名稱的完整性(如果有人創建了一個名為 的新屬性
id_client
,而該client_id
屬性已經存在怎么辦?)所有值都存儲在單個列中,因此您不能為每個屬性使用正確的 sql 數據類型(如果有人設置日期怎么辦
2020-00-00
?)不可能強制執行強制屬性的概念,或任何其他類型的約束
另一方面,通過創建具有相關列數、具有適當數據類型和not null
約束的表,可以妥善管理上述所有要點。20 列并不多——在使用關系表時,替代解決方案是可能的,例如繼承。
- 1 回答
- 0 關注
- 129 瀏覽
添加回答
舉報
0/150
提交
取消