📜  DBMS中的代理密钥

📅  最后修改于: 2020-12-13 05:38:30             🧑  作者: Mango

DBMS中的代理密钥

DBMS中的代理密钥是密钥,或者可以说是唯一的标识符,可以唯一地标识其各自字段中的对象或实体。它是数据库中的唯一标识符。

在本节中,我们将在这里学习代理键,并通过一些示例来了解其实现。

什么是代理密钥

代理键是具有虚拟或没有实际原因的键,用于表示数据分析的存在。因此,代理键用于表示数据分析的存在。它是数据库中的唯一标识符。它将外部实体表示为数据库对象,但对用户和应用程序不可见。代理密钥还通过其他各种名称已知,这些伪密钥是伪密钥,技术密钥,合成密钥,任意唯一标识符,实体标识符和数据库序号

代理键和主键之间的区别

两个键之间的差异取决于数据库的类型,即它是当前数据库还是临时数据库。之所以如此,是因为当前数据库仅存储当前有效数据,并且数据库中的主键与建模或外界中的代理键之间存在一对一的关系。因此,在当前数据库的情况下,相对于代理密钥,代理密钥可以用作主密钥。在时态数据库的情况下,代理键和主键之间存在多对多关系。因此,对于数据库中存在的几个对象可以对应一个代理键。这就是为什么我们不能将代理键用作时态数据库的主键,并且需要另一个具有代理键的属性来唯一标识数据库中的每个对象的原因。

实施代理密钥

让我们实现一个示例,以了解代理键在DBMS中的作用和作用:

考虑一个Tracking_System的示例,其中具有以下属性:

键:一个属性,其中包含每个跟踪ID的键。

Track_id:保存项目跟踪ID的属性。

Track_item:一个属性,其中包含要跟踪的项目的名称。

Track_loc:保存跟踪项位置的属性。

下图表示上述Tracking_system表:

需要注意的地方:

从上表中,我们可以看到Tracking_System表的Key属性是代理键,因为对于项目的不同位置和ID,Key列的值是不同的。

代理键可能还有其他可能的示例,包括:

  • 系统日期和时间戳
  • 随机字母数字字符串等等。