database-design - “人”有哪些好的候选键?
问题描述
在将在全球范围内使用的应用程序中,有哪些好的候选者可以使用自然键来唯一标识用户/人员?
我们如何处理边缘情况?- 没有国家或官方文件的人(难民) - 更改姓名或性别/性别的人
密钥应该是健壮和独特的。
解决方案
没有上下文是不可能回答的。与任何信息系统一样,您需要了解生成和使用数据的需求和操作流程。如果人们将与您的系统进行交互或为其提供服务,那么哪些属性需要构成这些交互和服务的一部分?如果相关人员必须在线注册,或者如果他们必须同意合同,或者如果有一些其他信息收集过程,那么这些交互很可能会定义密钥,例如登录名、合同标识符或数字签名。
请注意,在许多情况下,也许几乎所有情况下,系统中识别的都是与人的交互或合同,而不一定是个人本身。
推荐阅读
- csv - spark csv writer - 转义字符串而不使用引号
- c# - 在 MVC5 中处理空值
- android - CM3 上的 Android Things 图像
- javascript - FullCalendar 重叠事件不同颜色
- asp.net - 使用 wsfedration 和 Owin 中间件通过 azure ad 获取声明
- applescript - Applescript 邮件归档操作
- python - 您将如何根据某些特殊性将一组有向图分类为不同的组或集群?我似乎找不到办法做到这一点
- java - 在 ViewScop 上写入 404 并在 JAVA JSF 中不重定向显示错误文件
- c# - 迁移到 .NET Core 2.1 后的 Sautinsoft PdfFocus 异常
- html - 在 Facebook 图标旁边放置文字