数据库设计 – 什么是负面密钥?

使用标准SQL数据库(目前主要使用MySQL)有点新鲜我还没有遇到过这方面的许多用法.

何时以及为什么使用索引表的负(或者更符合签名)键是有用的?

最佳答案
所有主键都是我们确定的值是记录中最重要的值.无论该密钥是带符号的int,无符号的int,字符串,blob(实际上是有限制)还是UUID(或者今天所用的任何名称),事实仍然表明它是一个密钥,它是最重要的事情.

由于我们不限制只使用正向数字作为键,因此有必要考虑一个有符号的int只会达到~20亿,而unsigned int将达到~40亿.但是使用signed int,将初始值设置为〜-2亿并将增量设置为1并没有错.在大约20亿条记录之后,你将达到“零”,然后你将继续大约20亿.

至于为什么在表中使用“否定键”会有所帮助,这就是“为什么在表中使用键有帮助”的问题.密钥的“价值”对其作为密钥的状态没有影响.钥匙是钥匙是钥匙.

重要的是密钥是否有效.

至于为什么允许使用否定键是有用的,我可以提出一些原因:

如果您希望将销售系统中的退货指示为负销售订单编号,与正销售订单编号匹配,从而使关联变得容易(这很简单,设计不合理,但它可以在“电子表格”意义上工作).

如果您想拥有一个用户表,并指出负数的那些是系统控制的(对于聊天提要用户来说,这就是这样做的话).

我可以继续,但真正唯一的原因是,如果你或我重视这个数字,那么这个数字是负面的.除此之外,没有很好的理由让钥匙的价值与钥匙本身有任何关系.

转载注明原文:数据库设计 – 什么是负面密钥? - 代码日志