gpt4 book ai didi

mysql - 'extra data' 表的多个外键

转载 作者:行者123 更新时间:2023-11-29 13:03:04 25 4
gpt4 key购买 nike

我有一个关于 MySQL(甚至其他 DBMS)中优化表关系的逻辑问题。我的数据库中有许多具有不同列和结构的表。出于特定原因,我需要创建一个新表,名称为“extra_data”,其中包含列(id,表,内容)。每个表(甚至“extra_data”本身)可能需要为未定义的列存储额外的数据。因此,这个额外的数据是PHP数组或对象,首先序列化,然后转换为Base64代码并插入到“eaxtra_data” 内容 列。目标表行的idtable name,存储在“extra_data”中的idtable列中 也是如此。

例如,如果有两个表名称“users”和“posts”,并且每个表都需要在“extra_data”表中存储额外数据:

"users" table:
id name gender ...
1 Tom Male ...
2 Mary Female ...
3 Jack Male ...
...

 

"posts" table:
id title date ...
1 news 4/11/2014 ...
2 article 4/51/2014 ...
...

 

"extra_data" table:
id table content
1 users #$!^...
2 users #$!^...
2 posts #$!^...
...

idtable"extra_data" 表中的主键。所以问题是当目标行(users 中的示例行 2)已更改或删除时,"extra_data" 中的相关行必须自动更新如果有必要的话。但是在许多表和两列(idtable)中设置外键的方法对我来说是不精确的!感谢您的帮助

最佳答案

黑暗迷宫,

我通过这个“extra_data”表了解了您的来源。不过我不同意。一旦违背了数据库规范化的原则,这个逻辑从设计的角度来说是不清晰的。我宁愿序列化您想要添加到 extra_data 内容列的任何数据并将其保存到各自的表中。

回到问题上,到目前为止我看到的唯一解决方案是在与“extra_data”相关的每个表上添加触发器,以便添加/删除/更新记录。这不是很有成效。

干杯,

http://en.wikipedia.org/wiki/Database_normalization

关于mysql - 'extra data' 表的多个外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23075214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com