首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为数据库表命名以提供自然组织的最佳实践是什么?

为数据库表命名以提供自然组织的最佳实践是什么?
EN

Stack Overflow用户
提问于 2008-10-24 19:13:14
回答 8查看 18.5K关注 0票数 12

我们在相关表上添加了通用前缀,以确保它们在数据库管理软件(蟾蜍、企业管理器等)中相互显示。

例如,所有用户表都以单词user开头:

  • 用户
  • UserEvent
  • UserPurchase

理想情况下,为了纪念程序员的三大美德,这些表应该分别命名为用户、事件、购买,以保存一些类型,同意吗?

这个命名惯例是最好的吗?自动分组相关表的实践?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-10-24 19:35:53

我倾向于在命名约定上违背两点.

  1. 我不喜欢使用前缀,以便在给定的UI中将事情组合在一起。对我来说,这些表的命名应该是为了使它们在代码中容易读懂,而且是有意义的。有许多研究(大多数被程序员忽略)表明,使用下划线、逻辑名称、删除缩写和消除前缀之类的东西对理解和处理代码的速度都有很大的影响。此外,如果您使用前缀来分解表,那么当一个表被多个区域使用时,您会做什么--甚至更糟的是,它只在一个区域开始,但后来在另一个区域开始使用。您现在必须重命名这个表吗?
  2. 我几乎完全忽略了名字的长度。我更关心的是可读性和可理解性,而不是用1/10秒的时间来键入列或表名。当你一直记着,如果你把“数字”缩写为" no“、"num”或"nbr“,并记住像Intellisense这样的东西,那么使用更长、更有意义的名字对我来说是没有意义的。

考虑到这些,如果您的UserEvents表确实与与用户相关的事件有关,那么这个名称非常有意义。仅使用事件最终会给您提供一个名称不太好的表,因为在我看来,名称还不够清楚。

希望这能有所帮助!

票数 27
EN

Stack Overflow用户

发布于 2008-10-24 19:55:23

我不会使用命名约定来将表名按字母顺序排列。这样做是很好的,但这不应该是故意的。

阅读Joe的“SQL编程风格”一书。他在那本书的第一章是关于命名约定,在ISO 11179元数据命名标准的指导下。他的建议之一是避免在命名约定中出现不必要的前缀。

票数 6
EN

Stack Overflow用户

发布于 2008-10-24 19:16:42

如果这个表是“用户”和“事件”表之间多到多关系的表示,我会使用这个表示法,即"UserEvent“。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/234902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档