相关疑难解决方法(0)

您对存储过程的命名约定是什么?

我已经看到了命名存储过程的各种规则.

有些人使用usp_作为sproc名称的前缀,其他人使用应用程序名称的缩写作为前缀,还有其他人使用所有者名称.您不应该在SQL Server中使用sp_,除非您真正的意思.

有些人用动词(Get,Add,Save,Remove)启动proc名称.其他人则强调实体名称.

在具有数百个sprocs的数据库中,当您认为已存在时,可能很难滚动并找到合适的sproc.命名约定可以使定位sproc更容易.

你使用命名约定吗?请描述一下,并解释为什么你喜欢它而不是其他选择.

答复摘要:

  • 每个人似乎都提倡命名的一致性,对于每个人来说,使用与使用特定命名约定相同的命名约定可能更为重要.
  • 前缀:虽然很多人使用usp_或类似的东西(但很少sp_),但许多其他人使用数据库或应用程序名称.一个聪明的DBA使用gen,rpt和tsk来区分一般的CRUD sprocs和用于报告或任务的那些.
  • 动词+名词似乎比Noun + Verb稍微受欢迎.有些人对动词使用SQL关键字(选择,插入,更新,删除),而其他人则使用非SQL动词(或缩写),如Get和Add.有些人区分单数和复数名词,以表明是否正在检索一个或多个记录.
  • 在适当的情况下,最后建议使用另一个短语.GetCustomerById,GetCustomerBySaleDate.
  • 有些人在名称段之间使用下划线,有些人则避免使用下划线.app_ Get_Customer与appGetCustomer - 我想这是一个可读性的问题.
  • 可以将大量的sprocs分隔为Oracle包或Management Studio(SQL Server)解决方案和项目,或SQL Server模式.
  • 应该避免使用不可思议的缩写.

为什么我选择我做的答案:有很多好的回答.谢谢你们!如你所见,选择一个是非常困难的.我选择的那个与我产生共鸣.我遵循他描述的相同路径 - 尝试使用Verb + Noun然后无法找到适用于Customer的所有sprocs.

能够定位现有的sproc,或确定是否存在,甚至是非常重要的.如果有人无意中创建了具有其他名称的重复sproc,则可能会出现严重问题.

由于我通常使用包含数百个sprocs的非常大的应用程序,因此我倾向于使用最容易找到的命名方法.对于较小的应用程序,我可能会提倡Verb + Noun,因为它遵循方法名称的一般编码约定.

他还提倡使用app name作为前缀,而不是使用不太有用的usp_.有几个人指出,有时数据库包含多个应用程序的sprocs.因此,使用app name前缀有助于隔离sprocs并帮助DBA和其他人确定sproc用于哪个应用程序.

sql stored-procedures naming-conventions

120
推荐指数
7
解决办法
7万
查看次数

无法在PostgreSQL中创建名为"user"的数据库表

似乎PostgreSQL不允许创建名为"user"的数据库表.但MySQL将允许创建这样的表.

那是因为它是关键词吗?但是Hibernate无法识别任何问题(即使我们设置了PostgreSQLDialect).

postgresql hibernate reserved-words identifier

70
推荐指数
5
解决办法
4万
查看次数

数据库中表和列的命名约定

可能重复:
数据库,表和列命名约定?

每次新项目启动时,我都在考虑在数据库中命名表和列的约定.您的推荐是哪种情况?为什么?

案例1. column_name
案例2. ColumnName
案例3. Column_Name
案例4. columnName

database naming-conventions

17
推荐指数
3
解决办法
8192
查看次数