数据库和架构之间的区别

sql*_*ild 151 database sql-server sql-server-2005 database-schema

SQL Server中的数据库和架构之间有什么区别?两者都是表和数据的容器.

如果删除了Schema,那么该架构中包含的所有表是否也会自动删除,或者在删除数据库时是否删除它们?

Ric*_*iwi 162

数据库是主容器,它包含数据和日志文件以及其中的所有模式.您总是备份数据库,它本身就是一个独立的单元.

模式类似于数据库中的文件夹,主要用于将逻辑对象组合在一起,这样可以方便地通过模式设置权限.

编辑其他问题

drop schema test1
Run Code Online (Sandbox Code Playgroud)

消息3729,级别16,状态1,行1
无法删除模式'test1',因为它正被对象'copyme'引用.

在使用模式时,您无法删除模式.您必须先从架构中删除所有对象.

相关阅读:

  1. SQL Server架构有什么用?
  2. MSDN:用户架构分离

  • 在sql server 2005及更高版本中,如果我们在创建数据库对象时没有提到任何模式名称,默认情况下一切都在DBO模式中? (5认同)

dem*_*mas 18

Schema是一种对数据库中的对象进行分类的方法.如果您有多个应用程序共享一个数据库,并且存在一些所有应用程序访问的通用数据集,那么它将非常有用.


Sag*_*tri 12

数据库就像是带有模式的数据容器,而模式是表格的数据类型,关系和东西的布局

  • 这对于 SQL Server 来说是不正确的;表在一般数据库中具有架构是的,但是 SQL Server 中的架构(谁知道为什么)也是包含表的有效命名空间(并且这些表也具有传统意义上的架构)。微软为他们选择的不幸名称 - `namespace` 更合适。 (2认同)

Rob*_*ert 7

Schema说明数据库中有哪些表,它们有哪些列以及它们是如何相关的.每个数据库都有自己的架构.


Har*_*hra 5

SQL Server 中的架构是一个对象,它在概念上包含其他数据库对象(例如表、视图、存储过程等)的定义。