Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在模式中有一些表而另一些表不在模式中,这是一种不好的做法吗?_Sql_Sql Server 2008 - Fatal编程技术网

Sql 在模式中有一些表而另一些表不在模式中,这是一种不好的做法吗?

Sql 在模式中有一些表而另一些表不在模式中,这是一种不好的做法吗?,sql,sql-server-2008,Sql,Sql Server 2008,我最近在一家新公司开始开发一个web应用程序,并开始进行一些更改,例如,我所有的新代码都使用存储过程,而不是在代码中使用查询字符串 我最近和我的主管讨论了使用数据库模式来整理我们的数据库并使事情易于管理。我正在使用的应用程序是一个内部网ASP.Net站点,每个部门有多个部分,我想为每个部门实现一个模式,以便清楚地知道哪些过程/表属于应用程序的哪些部分 我的问题是,将新表/过程等添加到数据库模式中,而将其他所有内容保持不变,然后缓慢地将现有表添加到模式中,这是一种不好的做法吗?或者我们应该一次完成

我最近在一家新公司开始开发一个web应用程序,并开始进行一些更改,例如,我所有的新代码都使用存储过程,而不是在代码中使用查询字符串

我最近和我的主管讨论了使用数据库模式来整理我们的数据库并使事情易于管理。我正在使用的应用程序是一个内部网ASP.Net站点,每个部门有多个部分,我想为每个部门实现一个模式,以便清楚地知道哪些过程/表属于应用程序的哪些部分

我的问题是,将新表/过程等添加到数据库模式中,而将其他所有内容保持不变,然后缓慢地将现有表添加到模式中,这是一种不好的做法吗?或者我们应该一次完成并将所有内容添加到模式中吗

在模式中有一些表,而在数据库中就有一些表,这是否存在任何风险(性能或其他方面)

很抱歉,这可能是一个相当简单的问题,但我不是DBA,到目前为止,我一直在努力寻找关于这个问题的答案


谢谢

我认为随用随迁的模式的增量/重构方法是一种很好的方法。我从中看不到性能问题。最大的问题是要记住开始对对象进行模式限定(即使在今天,您也应该这样做,因为这是性能的最佳实践)

而不是

SELECT columns
FROM Table

如果您与您的模式一致,那么您应该很好。如果你懒得使用它,你最终会有更多的疑难解答要做。

模式并没有被广泛使用。您会发现一些数据库源代码管理和代码生成器不能很好地使用模式。甚至数据库本身也对模式不满意,例如,如果存在安全不匹配的可能性(模式可以有自己的安全设置),它将拒绝缓存执行计划


与触发器一样,最好完全避免使用模式。

我不同意模式的注释没有被广泛使用。我看到他们使用的工具越来越多,我使用过的大多数工具都能很好地处理他们。模式是一种很好的安全机制,是为不同的对象分配不同存储的另一种方法,等等。即使触发器仍然有它们的位置,我认为两者都不需要“完全避免”,但模式肯定不需要:-)
SELECT columns
FROM Table