首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tbl_Product和tbl_Order命名约定的用途是什么?

tbl_Product和tbl_Order命名约定的用途是什么?
EN

Stack Overflow用户
提问于 2009-08-22 16:01:36
回答 5查看 397关注 0票数 4

在我使用过的最后两个代码库中,我见过tbl_前缀装饰所有的表。我想不出它们对应用程序开发人员或数据库管理员有什么用处。

如果DBA需要查看表是什么对象,他们总是可以连接到DMV或master中的模式表,对吧?我也无法想象它们对程序员有什么用处,如果项目使用ORM工具,更是如此。

尽管如此,即使是在编写存储过程时,它们似乎也会成为障碍。

有人能以一种非主观的方式解释它们是如何有用的吗?Ex (让tbl_帮助我执行x任务)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-08-22 16:15:59

我一次又一次地听到同样的事情,原因是,这有助于他们了解对象的类型。

例如,在查询中,使用前缀可以帮助它们将表与视图分开。

我真的不同意这一点。在习惯了数据库模式之后,前缀变得冗余,就像所有冗余的东西一样,它可能会变得不同步或使更改变得更难。

假设您有一个表,无论出于什么原因,您都必须将其拆分为两个表。假设您决定创建一个模拟原始表的视图,从两个新表中选择数据。

您是打算在整个代码库中重命名,还是坚持使用前缀为tbl_的视图

所以我的观点是数据库对象名应该是,而不是有任何前缀来推断它们的类型。

票数 5
EN

Stack Overflow用户

发布于 2009-08-22 16:11:30

我想不出有多少好处。您肯定可以看到更干净的SQL,如下所示:

代码语言:javascript
复制
select post.id, post.subject, post.body from tbl_post post where post.author="eric"

让你的变量更简单。否则,这看起来就像是你一直在和通过MS Access学习数据库的人打交道。

票数 3
EN

Stack Overflow用户

发布于 2009-08-22 16:25:35

这是hungarian notation,或者更确切地说,是对它的滥用。最初的用途是将变量用作前缀的一些重要方面。表就是表这一事实几乎不是使用匈牙利表示法的有效方式。

在ASP中,匈牙利符号用于指定数据类型,因为VBSCript只有变体。我见过ASP程序员也将其应用于数据库中的表和字段,这是这种误用的一种方式。

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

https://stackoverflow.com/questions/1316289

复制
相关文章

相似问题

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