存储过程名称标记

时间:2009-01-26 19:48:23

标签: stored-procedures naming-conventions

有没有想过维基百科的数据库模式是什么样的?我最近从reddit读了这篇帖子。

我喜欢他们的表格如何用前缀标记,以便您可以直接告诉其功能,目的以及与其他表格的关系。

我没注意到的一件事是他们如何命名他们的存储过程。他们甚至使用SP?

我使用的是MS SQL Server。使用USP_或SP_前缀所有存储过程似乎是多余的和反有益的,因为对象资源管理器已经为我排序了所有这些。你如何命名你的SP?

4 个答案:

答案 0 :(得分:3)

  

我喜欢他们的表格如何用前缀标记,这样你就可以直接告诉它的功能,目的以及与其他表格的关系

这就是为什么你在SQL Server中有Schema,你创建一个模式来将几个对象组合在一起然后你可以让HR人员只访问HR模式

  

使用USP_或SP_前缀所有存储过程似乎是多余的和反有益的,因为对象资源管理器已经为我排序了所有这些。你如何命名你的SP?

SP_永远不会被使用,因为只要SQL服务器'看到'以sp_开头的proc它将首先检查master数据库,最糟糕的是如果MS决定发送一个具有你的名字的proc的proc,那么SP_永远不会被使用它以sp_开头,你永远不会被执行

不是每个人都在使用项目浏览器,有些人喜欢在T-SQL中执行此操作

答案 1 :(得分:0)

我个人会在我的存储过程前面加上一个唯一的名称来描述它的作用。例如。

SelectUserAccountById

InsertUserAccount

通常在名称中引用表名,在上面的示例中,表将是UserAccount。

我没有使用SP或类似的东西为我的存储过程添加前缀,除非我正在构建一个扩展到DotNetNuke这样的框架,然后我为我的公司名称使用前缀。

答案 2 :(得分:0)

我发现将strored proc命名为 TableName_Action

示例RefClient_Insert,RefClient_Search,RefEmployee_Delete

这样,由于表被分组(在这种情况下Ref = Reference),SP也被分组。

请注意,为了清楚起见,我使用_,如果您愿意,可以跳过它。

答案 3 :(得分:0)

我开始使用 小部件类型 前缀命名所有SQL对象。例如......

Photo Gallery Database Objects (abbreviated list)
Old Name          | New Name
-------------------------------------------------
tblCategories     | tblPGCategories
tblItems          | tblPGItems
spGetCategories   | spPGGetCategories
spUpdateCategory  | spPGUpdateCategory
spGetItems        | spPGGetItems
spUpdateItem      | spPGUpdateItems
Event Calendar Database Objects (abbreviated list)
Old Name          | New Name
-------------------------------------------------
tblCategories     | tblECCategories
tblItems          | tblECItems
spGetCategories   | spECGetCategories
spUpdateCategory  | spECUpdateCategory
spGetItems        | spECGetItems
spUpdateItem      | spECUpdateItems

我们开发了很多网站,当客户想要一个功能我们认为我们可以卖给其他人时,我们会将其创建为 小部件 。然后我们会将这些小部件销售给其他客户。

这很有用,直到我们开始添加从其他网站开发的小部件。对于我们的一些代码,我们用 重复的名称 结束了。因此,我们必须实现 小部件类型 命名约定。这使我们可以很容易地集成我们创建的所有小部件。