sql server数据库原理和应用(SQLServer:数据库模式SCHEMA)
本文将介绍什么是数据库模式Schema。
在SQLServer等关系数据库管理系统(RDBMS)中,数据库包含各种对象。
这些可以是表(Table)、存储过程(StoredProcedure)、视图(View)和函数(Function)。在数据库中,模式(SCHEMA)是指数据库对象的逻辑集合。可以根据应用程序、访问权限和安全性使用模式(SCHEMA)来對对象分組。
SQL Server schemasSQL 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
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。