我们在相关表上放置了通用前缀,以确保它们在我们的数据库管理软件(Toad,Enterprise Manager等)中彼此相邻显示.
因此,例如,所有用户表都以单词User开头:
用户
UserEvent
UserPurchase
理想情况下,为了纪念程序员的三大优点,这些表应分别命名为User,Event,Purchase以节省一些打字,同意吗?
这个命名约定是自然地将相关表分组在一起的最佳(仅限?)实践吗?
我倾向于在命名约定上违背这两个方面的问题......
我不喜欢使用前缀,以便在给定的UI中将事物组合在一起.对我来说,这些表应该被命名为在代码中它们易于阅读并且有意义.有许多研究(大多数被程序员忽略)表明,使用下划线,逻辑名称,消除缩写和消除前缀之类的东西对理解和使用代码的速度都有很大的影响.此外,如果使用前缀来分解表,当多个区域使用表时,您会怎么做 - 或者更糟糕的是,它只在一个区域中开始,但后来开始在另一个区域中使用.你现在要重命名吗?
我几乎完全忽略了名字长度.我更关心可读性和可理解性比关于输入列或表名更长1/10秒.当你还记住所有浪费的时间试图记住你是否将"数字"缩写为"no","num"或"nbr"并记住使用Intellisense之类的东西,使用更长,更有意义的名字是对我来说没问题.
考虑到这些因素,如果您的UserEvents表确实与用户相关的事件有关,则该名称非常有意义.只使用事件最终会给你一个命名不佳的表,因为我认为这个名字不够清晰.
希望这可以帮助!
我不会将命名约定用于按字母顺序排列表名.当它以这种方式运行时很好,但这不应该是设计的.
阅读Joe Celko的书" SQL Programming Style".他在该书的第一章是关于命名约定,由ISO 11179元数据命名标准指导.他的一个建议是避免在命名约定中使用不必要的前缀.