MSSQL 2005中架构都是涉及到用户、角色、表,因此,要理解架构,需要理清和这些概念的联系。
1.在sql server 2000中,架构是默认存在的,即我们所看到的dbo。同样在Sql server 2005中,如果未显式指定架构,则系统会有默认架构。在 SQL Server 2000 中,数据库用户和架构是隐式连接在一起的。SQL Server 2005 切断数据库用户和架构之间的隐式连接。
2.架构可以用于对表进行分类管理,类似于Oracle中的表空间,C#中的命名空间。
3.在 SQL Server 2005 中,架构独立于创建它们的数据库用户而存在。可以在不更改架构名称的情况下转让架构的所有权。
列举一些好处:
·多个用户可以通过角色成员身份或 Windows 组成员身份拥有一个架构。这扩展了允许角色和组拥有对象的用户熟悉的功能。
·极大地简化了删除数据库用户的操作。
·删除数据库用户不需要重命名该用户架构所包含的对象。因而,在删除创建架构所含对象的用户后,不再需要修改和测试显式引用这些对象的应用程序。
·多个用户可以共享一个默认架构以进行统一名称解析。
·开发人员通过共享默认架构可以将共享对象存储在为特定应用程序专门创建的架构中,而不是 DBO 架构中。
·可以用比早期版本中的粒度更大的粒度管理架构和架构包含的对象的权限。
·完全限定的对象名称现在包含四部分:server.database.schema.object。
在数据库中仅仅有10来张表的时候,可能感觉架构作用不是很大,但是当数据库中表超过300,存储过
分类就显得尤为重要了,因此,这个时候,架构就显得比较重要了。附一张关于架构,分类比较清晰的图。