为了账号安全,请及时绑定邮箱和手机立即绑定

使用值制作数据透视表是错误的选择吗?

使用值制作数据透视表是错误的选择吗?

PHP
ABOUTYOU 2023-03-26 16:21:54
我对设计新的数据库表有疑问。是否可以像 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 列并不多——在使用关系表时,替代解决方案是可能的,例如继承。


查看完整回答
反对 回复 2023-03-26
  • 1 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信