Sql 主键要求

Sql 主键要求,sql,database-design,primary-key,Sql,Database Design,Primary Key,将电话号码存储为RDBMS上的主键是一个好主意吗?它们几乎对我们所有人都是独一无二的。但我的朋友认为这不是一个好主意,原因如下 如果一个家庭中有两个人共用一个电话号码怎么办? 如果一个人没有电话号码怎么办? 你有什么见解,请告诉我 将电话号码作为主键的目的是什么,是为了识别个人吗?如果是这样的话,一个人可以有多个电话号码移动/家庭电话,因此不建议使用电话号码作为主键。 你的问题也是对的,如果一个人没有电话号码怎么办。将电话号码作为主键的目的是什么,是为了识别一个人吗?如果是这样的话,一个人可以有

将电话号码存储为RDBMS上的主键是一个好主意吗?它们几乎对我们所有人都是独一无二的。但我的朋友认为这不是一个好主意,原因如下

如果一个家庭中有两个人共用一个电话号码怎么办? 如果一个人没有电话号码怎么办?
你有什么见解,请告诉我

将电话号码作为主键的目的是什么,是为了识别个人吗?如果是这样的话,一个人可以有多个电话号码移动/家庭电话,因此不建议使用电话号码作为主键。
你的问题也是对的,如果一个人没有电话号码怎么办。

将电话号码作为主键的目的是什么,是为了识别一个人吗?如果是这样的话,一个人可以有多个电话号码移动/家庭电话,因此不建议使用电话号码作为主键。
你的问题也是对的,如果一个人没有电话号码怎么办。

我会反对这个想法,一般原因如下:

这是个人可识别的信息,如果您必须使用GDPR,我建议您谨慎使用。有些用户可能会要求您不要使用他们的电话号码。以后可能需要对电话号码的一部分进行散列或屏蔽,甚至完全删除

值取决于用户输入,即使已验证。如果您不在验证器的目标国家/地区,有几种服务可以借给您一个电话号码进行验证

如果电话号码包含国家代码、括号或空格,则需要定义该号码的模式

应该进行验证以防止重复和空值


总之,使用依赖于外部事实的字段不是一个好主意。正如其他人所提到的,使用自动生成的标识符作为ID,使用非唯一索引作为电话号码似乎是一种更好的方法。

我反对这种想法,一般原因如下:

这是个人可识别的信息,如果您必须使用GDPR,我建议您谨慎使用。有些用户可能会要求您不要使用他们的电话号码。以后可能需要对电话号码的一部分进行散列或屏蔽,甚至完全删除

值取决于用户输入,即使已验证。如果您不在验证器的目标国家/地区,有几种服务可以借给您一个电话号码进行验证

如果电话号码包含国家代码、括号或空格,则需要定义该号码的模式

应该进行验证以防止重复和空值


总之,使用依赖于外部事实的字段不是一个好主意。正如其他人提到的,使用自动生成的ID标识符和电话号码的非唯一索引似乎是一种更好的方法。

电话号码作为密钥当然有意义,但这一切都取决于您需要识别什么以及您打算如何使用它。没有一般正确或错误的答案


选择和设计键有三个很好的标准,但不是绝对的规则:简单、稳定、熟悉。电话号码很简单,也很熟悉,可用于多种用途。它们是否足够稳定可能在很大程度上取决于环境。例如,您可能会要求所有员工提供一个唯一的电话号码以进行第三方身份验证,但偶尔更改该号码可能是可以接受的。

电话号码作为密钥当然有意义,但这一切都取决于您需要识别什么以及您打算如何使用它。没有一般正确或错误的答案


选择和设计键有三个很好的标准,但不是绝对的规则:简单、稳定、熟悉。电话号码很简单,也很熟悉,可用于多种用途。它们是否足够稳定可能在很大程度上取决于环境。例如,您可能会要求所有员工提供一个唯一的电话号码以进行第三方身份验证,但偶尔更改该号码可能是可以接受的。

此外:当您从一个地方移动到另一个地方,或者如果您有一部新电话,更改您的电话号码并不少见。主键必须是唯一且不为null的,并且应该是稳定的,如果可能的话永远不会更改可能不会…但最好在电话号码上有一个非唯一索引。您可以将电话号码作为一个非唯一索引字段,并添加一个自动生成的整数ID作为PK。您的见解是什么不是一个有效的SO问题。请参阅,其他链接&文本上方的投票箭头鼠标。假设你有PK的定义,或者你不会使用这个术语。应用它,表中的PK值与行数必须为1:1。如果不给出一个表&表中的行的标准,那么询问值是否适合PKs是没有意义的。显然,如果表中的某些人的行数是1:1,那么当电话号码映射为o时,电话号码可能是他们在表中的主键
氖。你在问什么具体问题?请通过编辑而不是评论来澄清。此外:当你从一个地方移动到另一个地方,或者如果你有一部新手机,更改你的电话号码并不罕见。主键必须是唯一且不为null的,并且应该是稳定的,如果可能的话永远不会更改可能不会…但最好在电话号码上有一个非唯一索引。您可以将电话号码作为一个非唯一索引字段,并添加一个自动生成的整数ID作为PK。您的见解是什么不是一个有效的SO问题。请参阅,其他链接&文本上方的投票箭头鼠标。假设你有PK的定义,或者你不会使用这个术语。应用它,表中的PK值与行数必须为1:1。如果不给出一个表&表中的行的标准,那么询问值是否适合PKs是没有意义的。显然,如果表中的某些人的行数是1:1,那么当一个电话号码映射为一个时,电话号码可能是他们在表中的主键。你问的具体问题是什么?请通过编辑而不是评论来澄清。其他重要原因是它会随着时间的推移而变化,不同的人可能会共享同一个电话号码,它可能会歧视某些不经常使用手机的人群。其他重要原因是它会随着时间的推移而变化,不同的人可能共享同一个电话号码,它可能会歧视某些不经常使用手机的人群。一个人可以有多个护照,但你只需要一个护照号码就可以识别一个人。在适当的情况下,电话号码也是如此。一个人可以有多个护照,但你只需要一个护照号码就可以识别一个人。在适当的情况下,电话号码也是如此。