使用此人的身份证作为主键是否切实可行?

时间:2015-07-22 10:16:08

标签: sql database ms-access primary-key convention

我正在开展一个项目,我通常会使用此人的ID作为识别此人的主键。但是现在我正在开展一些比我更加正式和严肃的工作...(学校数据库)使用这个人/学生的身份证而不是另一个领域(ID)自动是一种好习惯生成/序列为PK。

2 个答案:

答案 0 :(得分:3)

这是一个坏主意,原因很简单:安全。

您最好将数据库设计为具有所有实体的内部ID。然后,该人的id将是记录的属性,而不是主键。例如,这允许您加密id(和其他敏感信息)。如果某人掌握了某些数据的打印件,您就不必担心他们会看到个人信息。

在美国,这种设计得益于这样一个事实,即社会安全号码 - 我们最接近国家身份的号码 - 是专门设计的,不是国家身份证号码。除了欺诈问题外,大约10亿个数字将在一天内耗尽。

答案 1 :(得分:2)

我照看一个类似的学生数据库,我们使用学生ID作为PK。

它帮助我们,因为学生知道他们的身份证,如果他们有任何问题,他们可以来找我们并为我们引用他们的身份证来解决问题。它肯定比通过约翰史密斯的负载更容易跋涉。

我发现的缺点是我们确实将数据导出到excel这样的程序,并且很多ID都有前导零,如果你不小心将被删除。

这完全取决于你,但在我看来我会用它们。