我已经看到了命名存储过程的各种规则.
有些人使用usp_作为sproc名称的前缀,其他人使用应用程序名称的缩写作为前缀,还有其他人使用所有者名称.您不应该在SQL Server中使用sp_,除非您真正的意思.
有些人用动词(Get,Add,Save,Remove)启动proc名称.其他人则强调实体名称.
在具有数百个sprocs的数据库中,当您认为已存在时,可能很难滚动并找到合适的sproc.命名约定可以使定位sproc更容易.
你使用命名约定吗?请描述一下,并解释为什么你喜欢它而不是其他选择.
答复摘要:
为什么我选择我做的答案:有很多好的回答.谢谢你们!如你所见,选择一个是非常困难的.我选择的那个与我产生共鸣.我遵循他描述的相同路径 - 尝试使用Verb + Noun然后无法找到适用于Customer的所有sprocs.
能够定位现有的sproc,或确定是否存在,甚至是非常重要的.如果有人无意中创建了具有其他名称的重复sproc,则可能会出现严重问题.
由于我通常使用包含数百个sprocs的非常大的应用程序,因此我倾向于使用最容易找到的命名方法.对于较小的应用程序,我可能会提倡Verb + Noun,因为它遵循方法名称的一般编码约定.
他还提倡使用app name作为前缀,而不是使用不太有用的usp_.有几个人指出,有时数据库包含多个应用程序的sprocs.因此,使用app name前缀有助于隔离sprocs并帮助DBA和其他人确定sproc用于哪个应用程序.
似乎PostgreSQL不允许创建名为"user"的数据库表.但MySQL将允许创建这样的表.
那是因为它是关键词吗?但是Hibernate无法识别任何问题(即使我们设置了PostgreSQLDialect).
可能重复:
数据库,表和列命名约定?
每次新项目启动时,我都在考虑在数据库中命名表和列的约定.您的推荐是哪种情况?为什么?
案例1. column_name
案例2. ColumnName
案例3. Column_Name
案例4. columnName