有没有想过维基百科的数据库模式是什么样的?我最近从reddit读了这篇帖子。
我喜欢他们的表格如何用前缀标记,以便您可以直接告诉其功能,目的以及与其他表格的关系。
我没注意到的一件事是他们如何命名他们的存储过程。他们甚至使用SP?
我使用的是MS SQL Server。使用USP_或SP_前缀所有存储过程似乎是多余的和反有益的,因为对象资源管理器已经为我排序了所有这些。你如何命名你的SP?
答案 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
我们开发了很多网站,当客户想要一个功能我们认为我们可以卖给其他人时,我们会将其创建为 小部件 。然后我们会将这些小部件销售给其他客户。
这很有用,直到我们开始添加从其他网站开发的小部件。对于我们的一些代码,我们用 重复的名称 结束了。因此,我们必须实现 小部件类型 命名约定。这使我们可以很容易地集成我们创建的所有小部件。