我的MySQL表中有两列,具有唯一值:
id
(类型:整数,自动增量) key
(类型:Varchar,使网址更漂亮,例如“example.com/entry/my-string-id /”) 我不想将列命名为key
,因为它是一个保留字并且过于模糊。
您如何命名此专栏?
我知道,这不是一个特定的编程问题,但我希望有一个正确的结构,它是架构的一部分。 :)
提前致谢!
修改: 我在寻找“SLUG”这个词。谢谢你的帮助!
答案 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”需要单独的值,但这是你的应用程序。对名称的一些建议:
我会提醒您使用UID
。这通常用于GUIDs(http://en.wikipedia.org/wiki/Globally_unique_identifier)或UUIDs。