繁体   English   中英

为什么数据库具有奇怪的字母数字键

[英]Why does a database have a weird alphanumeric key

我正在尝试连接两个数据库的数据,这两个数据库都是由不同的UI应用程序自动创建的。 一种是,所有密钥的格式均为“ D8FC23D7-97D6-42F5-A52F-1CE93087B3A4”。

有什么理由要这样做吗? 我还看到了在GIS数据库中看起来相似的键。 我无法确定这些键是否应该是某个计算键,也许无法检测到我要执行的操作,还是只是出于某种随机目的。

PS我正在使用SQL Server。 据我所知,这不是SQL Server自动生成的。

这是GUID,也称为UUID,是通用的唯一标识符(例如,授予Wikipediarfc4122 )。 guid背后的想法是,应用程序可以生成全局唯一的标识符,而无需中央单元进行任何编排(请参见下面来自rfc4122的动机)。

各种系统,数据库和编程语言都提供了用于生成UUID的功能(例如sql server中的SELECT NEWID() )。 好处是使用UUID生成器,应用程序可以以自给自足的方式生成全局标识的单元。

UUID可以用作数据库密钥,尽管在大多数情况下,您会发现更加轻巧和更合适的密钥。

使用UUID的主要原因之一是没有集中式
需要对其进行管理(尽管使用一种格式
IEEE 802节点标识符,其他则没有)。 结果,一代
按需可以完全自动化,并用于各种
目的。 如果此处描述的UUID生成算法支持很高的分配速率,则每台机器每秒最多可达到1000万
是必要的,这样它们甚至可以用作交易ID。

UUID具有固定大小(128位),相当小
与其他替代品相比。 这很适合进行排序,
各种排序和散列,存储在数据库中,简单
分配,并且总体上易于编程。

由于UUID是唯一且持久的,因此它们是出色的统一资源名称。 生成新UUID的独特能力
注册过程允许UUID成为具有以下特征的URN之一
最低的造币成本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM