数据库schema

来源:百度知道 编辑:UC知道 时间:2024/06/16 23:39:47
数据库schema的定义:A schema is a collection of database objects. A schema is owned by a database user and has the same name as that user.
请问schema has the same name as that user.表示什么?我理解schema就代表了某个user下的某个database,但和user同名代表什么呢?谢谢!

在 SQL Server 2000 和早期版本中,数据库可以包含一个名为“架构(schema)”的实体,但此实体实际上是数据库用户。
在 SQL Server 2005 和 SQL Server 2008 中,架构是指包含表、视图、过程等的容器。它位于数据库内部,而数据库位于服务器内部。这些实体就像嵌套框放置在一起。服务器是最外面的框,而架构是最里面的框。
在 SQL Server 2005 和 SQL Server 2008 中,提倡"用户和架构分离",即一个用户可以对应多个架构,一个架构也可以对应多个用户,所以架构和user就不再需要同名了.系统可以赋予某个user访问某个架构的权限,也可以取消该权限.

在sql2000版本时,在新建一个user的同时,数据库会以相同名称分配一个对应的schema,这就是为什么会说两者同名。而在2008和2005版本以后,由于“用户架构分离思想”,所以两者得以分离。