SQL Server数据库架构与对象相关知识笔记

举报
IT技术分享社区 发表于 2023/01/31 21:38:32 2023/01/31
【摘要】 ​ 1、数据库架构简介数据库架构是从SQL Server2005版本之后引入的概念。数据库架构独立于创建它的数据厍用户而存在,每个对象都属于一个数据库架构(对象包括表、视图、存储过程、函数、触发器等)2、 数据库、架构和数据库对象数据库架构是一个独立于数据库用户的非重复命名空间,用户与架构相互独立,删除用户不会删除架构中的对象。将数据库架构与数据库用户分离有以下几个优点:1、大大简化了删除数...

 

1、数据库架构简介

数据库架构是从SQL Server2005版本之后引入的概念。数据库架构独立于创建它的数据厍用户而存在,每个对象都属于一个数据库架构(对象包括表、视图、存储过程、函数、触发器等)

2、 数据库、架构和数据库对象

数据库架构是一个独立于数据库用户的非重复命名空间,用户与架构相互独立,删除用户不会删除架构中的对象。将数据库架构与数据库用户分离有以下几个优点:

1、大大简化了删除数据库用户的操作。删除数据库用户不需要重命名该用户架构所包含的对象。所以在删除创建架构所含对象的用户后,不需要修改和测试显式引用这些对象的应用程序。

2、多个用户可以共享一个默认架构然后进行统一名称解析。

3、可以通过共享默认架构将共享对象存储在为特定应用程序专门创建的架构中,而不一定是dbo架构中。

4、可以用更大的粒度管理对象的权限。

如果数据库用户具有创建架构的权限,就可以在数据库中创建、更改数据库架构,该用户就是架构的所有者,并且可以将架构的所有权转让给其他用户,或者授予其他用户访问该数据库架构的权限,只有架构的所有者才能在架构中创建对象。

确定如何安排架构中的对象,安全是一个很重要的考虑因素。

架构作为一个命名空间——它被用作对象名称的前缀。例如,假设在一个名为System的数据库架构中有一个名为UserInfo的表。架构限定式对象名称(也称为“两部分式对象名称”)是System.UserInfo。

说明:数据库默认的架构为dbo,如果不写架构名称的话默认为dbo。当然如果一个数据库存在多个数据库架构,建议都采用两部分式对象名称的方式。这样可以便于后续的运维和代码的可读性。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。