mysql额外在哪,mysql – 在哪里/如何保存每列的额外数据?

在表格中的实际数据旁边,我需要保存一些关于这些字段的数据.我对将它称为元数据犹豫不决,因为虽然正是如此,元数据有时在数据库中具有特定含义,这并不是我的意思.

示例:我有一个表,对于每个字段,我想知道某种状态.让我们说“未选中”,“确定”,“有缺陷”等.我可以将列加倍,每列添加一个新的“状态字段”,但这感觉不对.

另一个例子是安全地如何计算当前数据,自动检索手动输入的数据.

一些额外的信息:我可能想稍后保存所有更改的数据:一种历史表.虽然这可能是一个完全不同的问题,但我认为在这种情况下它实际上可能会有所帮助:例如,如果我有历史记录的键值存储,我可以在那里添加元数据吗?

是否有任何默认解决方案将此类数据添加到数据库?最终目标是将这些字段添加到现有模型中,该模型包含多个表/关系.我甚至不确定每个表一个解决方案,或者一个解决方案是否可行?

在“ok / not ok”状态的简单情况下,属于此的逻辑查询将“获取所有正常的记录(意思是:所有行开始正常).在不同位置的所有状态可以做当你添加一个额外的每列字段时,我似乎无法想到更快的查询然后只添加一大堆WHERE x_status = ok和y_status = ok AND …等信息的差异-type是丢失的,所以有一个隐藏的属性,我觉得可能需要它自己的…地方.它是关于数据的数据这一事实不应该丢失,但我不确定究竟是多少.

解决方法:

I have a table, and for each field I want to know some sort of state. Lets say ‘unchecked’, ‘ok’, ‘faulty’ etc. I could just double the columns, add a new ‘status-field’ per column, but that feels wrong.

对我来说,这感觉是正确的;-)为了防止打字错误,我认为这可以(并且应该)作为另一个表的外键实现,只有可能的状态.

A different example would be to safe how the data currently came to be, for instance calculated, automatically retrieved of manually entered.

如果有必要,我会再次使用外键到其他表.这些表格将涵盖可用的方法或工具.

更新1

通常,不同状态(未检查,故障,确定等)的数量相当小. TINYINT类型的外键可能足以使内存开销最小化.

标签:mysql,database-design,metadata

来源: https://codeday.me/bug/20190806/1596883.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值