当前位置:网站首页>SQL Server database schema and objects related knowledge notes
SQL Server database schema and objects related knowledge notes
2022-08-01 09:26:00 【IT technology sharing community】
携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情
1、数据库架构简介
数据库架构是从SQL Server2005版本之后引入的概念.数据库架构独立于创建它的数据厍用户而存在,每个对象都属于一个数据库架构(对象包括表、视图、存储过程、函数、触发器等)
2、 数据库、架构和数据库对象
数据库架构是一个独立于数据库用户的非重复命名空间,用户与架构相互独立,删除用户不会删除架构中的对象.将数据库架构与数据库用户分离有以下几个优点:
1、大大简化了删除数据库用户的操作.删除数据库用户不需要重命名该用户架构所包含的对象.所以在删除创建架构所含对象的用户后,不需要修改和测试显式引用这些对象的应用程序.
2、多个用户可以共享一个默认架构然后进行统一名称解析.
3、可以通过共享默认架构将共享对象存储在为特定应用程序专门创建的架构中,而不一定是dbo架构中.
4、可以用更大的粒度管理对象的权限.
如果数据库用户具有创建架构的权限,就可以在数据库中创建、更改数据库架构,该用户就是架构的所有者,并且可以将架构的所有权转让给其他用户,或者授予其他用户访问该数据库架构的权限,只有架构的所有者才能在架构中创建对象.
确定如何安排架构中的对象,安全是一个很重要的考虑因素.
架构作为一个命名空间——它被用作对象名称的前缀.例如,假设在一个名为System的数据库架构中有一个名为UserInfo的表.架构限定式对象名称(也称为“两部分式对象名称”)是System.UserInfo.
说明:数据库默认的架构为dbo,如果不写架构名称的话默认为dbo.当然如果一个数据库存在多个数据库架构,建议都采用两部分式对象名称的方式.这样可以便于后续的运维和代码的可读性.
边栏推荐
- leetcode-6132:使数组中所有元素都等于零
- What do the values 1, 2, and 3 in nodetype mean?
- ASP.NET Core 6 Framework Revealing Instance Demonstration [30]: Develop REST API with Routing
- navicat mysql 内存占用过高,被强制关闭
- Explain / Desc 执行计划分析
- Leicester Weekly 304 6135. The longest ring in the picture Inward base ring tree
- leetcode-6134:找到离给定两个节点最近的节点
- 量化日常工作指标
- 372. 超级次方
- SkiaSharp 之 WPF 自绘 五环弹动球(案例版)
猜你喜欢
随机推荐
How to query database configuration parameters in GBase 8c, such as datestyle
C语言小游戏——扫雷
程序员如何学习开源项目,这篇文章告诉你
正则表达式符号
GBase 8c中怎么查询数据库配置参数,例如datestyle
Go-Excelize API源码阅读(八)——GroupSheets(sheets []string)、UngroupSheets()
Mysql数据库的部署以及初始化步骤
JVM内存模型之深究模型特征
js中如何实现深拷贝?
The soul asks: How does MySQL solve phantom reads?
net stop/start mysql80 拒绝访问
力扣周赛304 6135. 图中的最长环 内向基环树
Leicester Weekly 304 6135. The longest ring in the picture Inward base ring tree
HoloView -- Tabular Datasets
【STM32】入门(二):跑马灯-GPIO端口输出控制
USB Protocol (2) Terminology
ogg同步oracle到mysql,字段里面可能有需要转义的字符,怎么配置转义?
Explain / Desc 执行计划分析
Explain / Desc execution plan analysis
Redis 3.2.3 crashed by signal: 11 服务宕机问题排查









