更新时间:2021-09-26 08:10:36
大家好,我是本栏目的编辑郝帅。现在我没有上下文来解释上面的问题。当他们谈论候选键时,很难猜测人们在谈论什么。对于没有经验的人来说,探索这些数据库对象的使用从一个简单的想法开始,即数据库结构中不同的表和数据字段通常被称为“键”,以某种方式组织它们可以提供更好的数据处理解决方案。在这里,我们将了解候选键以及如何使用它们。
主键和候选键。
解释候选键的一个相对简单的方法是关于一个叫做主键的东西。通常,数据库表只能有一个主键,它代表表中的一个给定列。但是,可能有几个候选键,它们被定义为可以用作主键的键。
识别潜在的主键非常重要,因为表中的主键是保留所有相关记录的直接方式,并为表中的每一行提供唯一的标识符。例如,在客户列表中,数据处理器需要为每个客户提供一个带有唯一标识符的特定列。使用客户的名字,甚至姓氏,都不会起作用,因为可能会有重复。这就是为什么主键通常由创建的数字组成,以确保唯一性,就像长数字字符串为我们的信用卡和借记卡上的金融交易提供唯一的标识符一样。
候选关键字的标准。
既然知道了候选人关键是什么,就可以看看“资格”的具体标准了。要成为候选键,数据库列对于每一行都必须是唯一的(如上所述)。也必须为“非空”;也就是说,该列不能包含空值,这需要特别注意输入设计。某些记录中可能为空的字段可能会被取消作为候选关键字的资格。第三个标准是候选密钥要“抗变”——这并不是说候选密钥或主密钥永远不会变,而是很多开发人员认为在这些“锚”角色中最好使用更多的静态标识符,这样会对数据查询产生很大的影响。
使用候选键。
请记住,许多不同的数据库列都可以用作候选键,这一点很重要,要知道通常有许多方法来指定主键,在许多方面,每个专业的数据管理人员都有自己独特的方法和前景,这是使数据结构有效的秘诀。因此,较新的数据库专业人员可能会向更有经验的老年人询问如何成功设置和使用候选键的各种建议。
一个常见的想法是使用多个列来创建一个复合键。这是一种创建持久主键的方法,但是不同的专业人士有自己的看法。有些人认为这是一种懒惰的编码方法,并指出在将一个主键与另一个数据库中的外部外键相关联时携带多个字段的负担。
其他参数包括对主键使用时间戳,以及使用简单的、自动生成的标识列,这些列由为每个记录唯一生成的数字组成。问专业人士用一个简单的临时生成的身份证号是否太简单了,你会根据这个人的想法得到回应,确定一个好的数据结构。答案包括这样的问题,例如生成的数字是否可以用于特定类型的查询,以及这些自动创建的整数之一是否可以节省数据库管理员的成本,例如,如果突然需要集成一组全新的记录。一些有经验的数据处理器称奥卡姆剃刀,并警告不要过于仔细地设计候选项和主键或任何其他设计元素。
数据库参考点
一般来说,考虑候选密钥的一个好方法是在数据库中作为参考点,这与护照应用于旅行者的方式大致相同。您的护照是海关官员或其他人快速获取大量信息的一种方式,例如您的姓名、性别等。也应该是独一无二的。但是,在具有多个候选密钥的数据库中,您的护照不是海关可以使用的唯一文件。驾照也可以用于同样的目的,并提供大量相同的信息。这就是为什么海关规划人员或其他人需要选择一个身份证明文件,就像程序员必须选择一个候选密钥作为主键一样。
这个类比也有助于解释为什么没有这个责任的人可能想知道这些键在数据结构中是如何工作的。随着今天数据和分析行业的发展,许多经理和中间商与技术供应商密切合作,更好地理解数据库原理会派上用场,即使是非技术人员也是如此。绝对不会受伤。