小编Big*_*oke的帖子

我是否应该将我的 UUID 主键列称为 ID?

我正在研究一种广泛使用UUIDs for PRIMARY KEYs 的数据库设计。然而,这让我面临一个非常重要的选择。我如何命名这些列?我会称它们uuid为 ,但UUID作为标识符,我必须在各处引用字段名称:

CREATE TABLE thingie (
  "uuid" UUID PRIMARY KEY DEFAULT public.gen_random.uuid(),
  foo VARCHAR,
  bar VARCHAR,
);
Run Code Online (Sandbox Code Playgroud)

一个直接的替代方案似乎是调用这些列id

CREATE TABLE thingie (
  id UUID PRIMARY KEY DEFAULT public.gen_random.uuid(),
  foo VARCHAR,
  bar VARCHAR,
);

Run Code Online (Sandbox Code Playgroud)

这样,我就没有列名,并且从语义上讲,我可以说 UUID 确实是一种 ID;在维恩图中,UUID 圆将完全放置在 ID 圆中。

然而,我(并且我相信许多其他人)已经习惯于id与自动递增INTEGER列关联,以至于我担心通过调用这些 ID 来打破某种不成文的规则id

如果您能通过一些可靠的自行车脱落来消除我的困惑,我将非常感激。事实上,我的问题是:会如何称呼你的-typed 代理键,为什么?UUID

postgresql naming-convention uuid

19
推荐指数
2
解决办法
8810
查看次数

标签 统计

naming-convention ×1

postgresql ×1

uuid ×1