我对设计新的数据库表有疑问。是否可以像 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 关注
- 100 浏览
添加回答
举报
0/150
提交
取消