gpt4 book ai didi

mysql - 如何在关系数据库中存储对象?

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

之前有人问过类似的问题,但没有得到解答。 How to store value objects in a relational database?

这是我的问题发挥作用的示例情况。假设有一个“用户”表,每个用户都需要存储他们的位置。它们的位置本质上只有 3 个坐标:x、y、z。

但是,我不确定应该如何处理这个问题。我可以将 3 个整数字段添加到名为“x, y, z”的“用户”行。

或者,我可以向用户行添加一个“位置”字符串字段,然后在获取/保存用户位置时简单地序列化和反序列化。

或者,我可以创建一个“位置”表,该表具有自动增量主键 id,它将用作“用户”位置数据库的外键,该数据库将有 4 个字段:“id”、“x'、'y'、'z'。

那么,哪一个最好呢?也许有一个我没有看到更好的答案?谢谢。

最佳答案

鉴于所有场景都不同,有时甚至以微妙的方式不同,因此通常没有“最佳”。

但是,如果您在设计一般内容时正在寻找整体“最佳实践”,我会倾向于此:

Do the simplest thing possible, and only add complexity when needed.

为此,我认为 Users 表中的三个整数列是有意义的并且非常简单。您需要将数据序列化为字符串吗?毕竟,数据本身不是字符串。它是一组数值。这可能会让其他事情变得不必要的困难,不是吗?数据是否需要位于具有自己标识符的单独表中?毕竟,它本身并不是真正的实体,而只是描述用户的数据点。

除非有令人信服的理由去做更复杂的事情,否则保持简单。

关于mysql - 如何在关系数据库中存储对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19661430/

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