为什么MySQL和SQL Server中的"模式"不同?

4 mysql sql-server schema sql-server-2008

我是数据库新手.我想知道为什么,当我创建一个模式时,在MySQL中它是一个数据库,而在SQL Server中它是一个数据库内的模式.有谁可以向我解释一下?

Aur*_*urA 10

在SQL服务器中

数据库模式是一种逻辑分组对象(如表,视图,存储过程等)的方法.将模式视为对象的容器.您可以为单个架构分配用户登录权限,以便用户只能访问他们有权访问的对象.可以在数据库中创建和更改模式,并且可以授予用户对模式的访问权限.架构可以由任何用户拥有,架构所有权可以转让.

有关更多详细信息,请访问着名的sql权威博客 http://blog.sqlauthority.com/2009/09/07/sql-server-importance-of-database-schemas-in-sql-server/

在MySQL中

创建架构与创建数据库类似. http://dev.mysql.com/doc/refman/5.0/en/create-database.html


Aar*_*and 8

因为不同的供应商有不同的方式来描述、分离和描述事物,甚至可以以不同的方式使用相同的词。无论出于何种原因,MySQL(我认为它更符合 Oracle)将架构和数据库称为同一事物,而 SQL Server 有一个可以包含多个架构的数据库。我不知道您是否可以声明它们中的任何一个“更正确”,这只是了解差异的问题,即使它们不直观。人们可以检查我想看看哪个更符合标准机构的意图的 ANSI 标准。

我不知道你是否真的有机会得到这个问题的合理答案,这将使它成为话题,除非你能说服 MySQL 和 SQL Server 团队进来并说明他们为什么选择他们这样做的方式(请记住,那些在很早之前做出这些选择的人不太可能仍然在各自的团队中)。