什么是“字符串ID”的技术术语?

时间:2014-02-03 03:02:28

标签: mysql sql database

我的MySQL表中有两列,具有唯一值:

  • id (类型:整数,自动增量)
  • key (类型:Varchar,使网址更漂亮,例如“example.com/entry/my-string-id /”)

我不想将列命名为key,因为它是一个保留字并且过于模糊。

您如何命名此专栏?

我知道,这不是一个特定的编程问题,但我希望有一个正确的结构,它是架构的一部分。 :)

提前致谢!

修改: 我在寻找“SLUG”这个词。谢谢你的帮助!

2 个答案:

答案 0 :(得分:2)

我将列名“uri”用于此类标识符Uniform Resource Identifer。另一种选择是“urn”,如果你想更具体的话。

http://en.wikipedia.org/wiki/URI

我们避免使用名称URL,因为它更具体,包括协议等。我们从其他来源获取协议和主机名,而不是一遍又一遍地存储它。


我们命名表id的auto_increment主键,以区别于外键,我们通常将其命名为table_id,其中table标识引用的表。这意味着连接谓词通常具有模式parent.id = child.parent_id

答案 1 :(得分:1)

具有讽刺意味的是,我发现编写代码的难点之一有时会为事物寻找合适的名称。 SQL优于其他编程范例的一个优点是,在使用SQL查询时,您不必为一堆中间结果找到名称。

但是,您需要为列命名。

我通常将表格中的id列命名为表名,后跟“id”,TableId,而不仅仅是id。这样,外键引用通常使用相同的列名。

关于key的问题,这取决于它的使用方式。我不确定为什么“id”需要单独的值,但这是你的应用程序。对名称的一些建议:

  • FilenamePrefix
  • EntryName
  • 目录
  • 或其他

我会提醒您使用UID。这通常用于GUIDshttp://en.wikipedia.org/wiki/Globally_unique_identifier)或UUIDs