使用子命名空间时SQL表的最佳实践

时间:2016-11-17 12:48:37

标签: sql namespaces naming-conventions sql-server-2014

我希望我的问题出在正确的地方。

如果你有类似子命名空间的东西,你如何命名你的表? (类似于代码命名空间Base.Sub.SubSub2

我们当然有一个架构,但如果我需要更深层次的东西呢?

Microsoft表格通常与美元符号Microsoft$AwesomeNamespace$MoreNamespace$Tablename

分开

如果我看到这一点,我总觉得有点不舒服,尤其是当我必须从数据库中创建一个XSL Schema时,其中doller符号变为_x0024_。 Underscore看起来很疯狂(在我看来)。也许只是使用更多点?

  

Schema.Application.Base.Sub.TableName

     

Schema.Application $ $基地子$表名

     

Schema.Application_Base_Sub_TableName

任何建议,偏好或想法?

亲切的问候

编辑:

二手RDBMS是MSSQL(2014)。

1 个答案:

答案 0 :(得分:0)

使用点表示您始终需要将表名括在方括号或引号("My.Table".)中。这可能很烦人。由于Server.Database.Schema.Object语法与$密切相关,因此数据库用户可能会感到困惑。

使用__的缺点是键入很难,但通常我会选择下划线Schema_Application.Table,因为它会直观地分隔名称的各个部分。

您可以将更多名称空间放入架构中吗? switch (ConfigurationManager.AppSettings["WebDriverMode"].ToLower()) { case "local": switch (ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower()) { case "firefox": driver = new AdvancedFirefoxDriver(); break; case "ie": driver = new AdvancedInternetExplorerDriver(); break; case "chrome": driver = new AdvancedChromeDriver(); break; default: throw new NotImplementedException(string.Format("WebDriverBrowserCapabilities of \"{0}\" is not implemented for {1} mode", ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower(), ConfigurationManager.AppSettings["WebDriverMode"].ToLower())); } break; case "remote": var huburl = new Uri(ConfigurationManager.AppSettings["SeleniumHubAddress"]); DesiredCapabilities capabilities; switch (ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower()) { case "firefox": capabilities = DesiredCapabilities.Firefox(); break; case "ie": capabilities = DesiredCapabilities.InternetExplorer(); break; case "chrome": capabilities = DesiredCapabilities.Chrome(); break; default: throw new NotImplementedException(string.Format("WebDriverBrowserCapabilities of \"{0}\" is not implemented for {1} mode", ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower(), ConfigurationManager.AppSettings["WebDriverMode"].ToLower())); } capabilities.IsJavaScriptEnabled = true; driver = new AdvancedRemoteWebDriver(huburl, capabilities); break; default: throw new NotImplementedException(); }