由于元组是不可变的,这是否意味着在数据库中,当修改行中的值时,包含该值的元组将完全重新分配?

As tuples are immutable, does it mean that in a database when a value in a row is modified the tuple containing this value is entirely reassigned?

提问人:Devernay Stéphane 提问时间:10/19/2023 更新时间:10/19/2023 访问量:36

问:

数据库中的记录是一个元组。元组是不可变的。当记录的值被更改时,元组是否完全重新受到影响?如果是这样,它仍然有效吗(我想是的)?为什么在数据库中使用这种数据结构?

元组 不可变性

评论

0赞 gobes 10/19/2023
用哪种语言?哪个 ORM ?哪个数据库?
0赞 Devernay Stéphane 10/19/2023
我阅读了关系数据库的一般介绍,记录通常被命名为元组。我想知道是不是因为它们的不变性。

答:

0赞 Jiří Baum 10/19/2023 #1

这似乎是一个类别错误。

元组在 Python 中是不可变的。

Python 的不可变性概念并不真正适用于数据库,也不适用于它们都引用的元组的基础数学概念。

数据库可能会也可能不会就地更改元组,但该决定背后的原因实际上与 Python 的不可变性概念没有任何关系。

评论

0赞 Devernay Stéphane 10/19/2023
谢谢。只是在关系数据库的一般表示中,记录被称为元组,我想知道更多。
0赞 Jiří Baum 10/19/2023
@DevernayStéphane - 是的,他们都指的是数学中的相同概念,它本身并不涉及不变性