龙空技术网

SQL Server: 数据库模式SCHEMA

明眼窥浪 22

前言:

而今姐妹们对“schema名称”大约比较关心,大家都需要分析一些“schema名称”的相关知识。那么小编同时在网上收集了一些有关“schema名称””的相关内容,希望我们能喜欢,姐妹们一起来了解一下吧!

本文将介绍什么是数据库模式SCHEMA

在SQLServer等关系数据库管理系统(RDBMS)中,数据库包含各种对象。

这些可以是表(Table)、存储过程(StoredProcedure)、视图(View)和函数(Function)。在数据库中,模式(SCHEMA)是指数据库对象的逻辑集合。可以根据应用程序、访问权限和安全性使用模式(SCHEMA)来對对象分組。

SQL Server schemas

SQL Server提供以下内置逻辑模式:

dbo

sys

guest

INFORMATION_SCHEMA

每个SQLServer模式SCHEMA都必须有一个数据库用户作为架构所有者。模式所有者可以完全控制模式。还可以更改模式所有者或将对象从一个模式移动到另一个模式。

SQL Server 模式提供以下好处:

为管理逻辑组中的数据库对象提供更大的灵活性和控制力

允许您在不同模式之间快速移动对象

能够在模式级别管理对象安全性

允许用户管理数据库中的对象逻辑组

允许用户在各种架构之间转移所有权

假设对于公司的数据库,你希望根据部门对对象进行分组。例如,HR 部门的表和存储过程应该在[HR] 架构中进行逻辑分组。同样,财务部门表应该在 [Fin] 模式中。每个架构(逻辑组)都包含SQL Server 对象,例如表、存储过程、视图、函数、索引、类型和同义词。

员工数据库模式示例

注意:模式是数据库范围的实体。您可以在SQL Server 实例的不同数据库中拥有相同的模式。

默认情况下,SQL Server对数据库中的所有对象使用[dbo] 模式。我们可以查询SCHEMA_NAME() 来获取连接用户的默认模式。

SELECT SCHEMA_NAME() AS defaultschema;

实例查询

列出当前数据库中的所有数据库模式

您可以使用 SSMS 或 T-SQL 查询获取模式列表。要在 SSMS 中执行此操作,您将连接到 SQL实例,展开 SQL 数据库并查看安全文件夹下的架构。

更多模式

或者,您可以使用 sys.schemas获取数据库模式及其各自所有者的列表。

SELECT s.name AS schema_name,

u.name AS schema_owner

FROM sys.schemas s

INNER JOIN sys.sysusers u ON u.uid = s.principal_id

ORDER BY s.name;

使用 CREATE SCHEMA 创建 SQL Server 架构

要创建新的 SQL Server模式,我们使用 CREATE

SCHEMA 语句。它的语法如下所示。

CREATE SCHEMA

AUTHORIZATION

Schema_name:要创建的模式

AUTHORIZATION:模式所有者名称

使用 [dbo] 模式所有者创建模式 [HR]、[Admin] 和 [Fin] 的脚本如下所示。

CREATE SCHEMA HR AUTHORIZATION dbo;

GO

CREATE SCHEMA Admin AUTHORIZATION dbo;

Go

CREATE SCHEMA Fin AUTHORIZATION dbo;

GO

标签: #schema名称 #数据库schema名称在哪里查看 #数据库 schema