SQL2005-学习架构(schema)的概念

本文详细介绍了SQL Server 2005架构的概念、默认架构的引入及其使用方法,包括创建、查看、修改架构,以及如何利用架构进行对象的组织与管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

架构的概念:架构是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的(联机帮助是这样说的)

SQL2005完全限定的对象名称现在包含四部分:server.database.schema.object (服务器名.数据库名.架构名.对象名)

默认架构

SQL Server 2005 引入了“默认架构”的概念,用于解析未使用其完全限定名称引用的对象的名称。在 SQL Server 2000 中,首先检查的是调用数据库用户所拥有的架构,然后是 DBO 拥有的架构。在 SQL Server 2005 中,每个用户都有一个默认架构,用于指定服务器在解析对象的名称时将要搜索的第一个架构。可以使用 CREATE USER 和 ALTER USER 的 DEFAULT_SCHEMA 选项设置和更改默认架构。如果未定义 DEFAULT_SCHEMA,则数据库用户将把 DBO 作为其默认架构。

建立架构: create schema 架构名

查看架构: select * from sys.schemas

建立用户时可以在用户的属性->用户映射中修改选择默认架构

例如建立2个用户(分别是x和y,把用户x的默认架构设为sx,用户y的默认架构高为sy,他们的默认数据库都为TEST)

当x登陆并建立表1,实际上是sx.表1

当y登陆并建立表1,实际上是sy.表1

这样就可以建立两个表1了

 

如果建立用户时不特意指定,那它的默认架构就是dbo。多个用户可以共享一个默认架构以进行统一名称解析。

比如财务部有3个用户,那么可以建立一个架构,名称叫财务。

create schema 财务

select * from sys.schemas --查看一下

接着建立3个用户指定默认架构为财务,用户属性->用户映射中修改默认架构为财务

 

修改默认架构

如果要将数据库中一个表对象dbo.table1的架构改成财务

alter schema 财务 transfer dbo.table1  -- 当前用户必须有alter schema的执行权限


SQL2005跟.NET挂上关系后确实方便了

 

删除架构

在SQL2000里如果一个用户在数据库里拥有多个对象,那删除该用户前必须把它拥有的对象重命名或逐个删除之后,才能将用户删除。

在SQL2005里就不用了,因为对象都属于架构了。用户删了不会有什么影响

drop schema 架构名 --删除架构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值