📜  在MS SQL Server中创建,更改和删除架构

📅  最后修改于: 2021-07-05 07:20:03             🧑  作者: Mango

在本文中,我们将讨论模式以及如何创建,更改和删除模式。

1.创建架构:
模式通常是对象的集合。对象可以是表,触发器,视图,过程等。数据库可以具有一个或多个模式。 SQL Server提供了预定义架构的功能。预定义模式的名称与内置模式的名称非常相似。

用户可以使用下面提到的语法创建架构。

句法 –

create schema schema_name
[AUTHORIZATION owner_name] 

授权是提供对架构的授权的关键字。他/她控制着可以访问的资源,也可以提供安全性。必须在owner_name下提供所有者的名称。也可以使用alter schema对其进行更改,将在后面进行讨论。

为了更好地理解,下面提到一个示例–

例子 –

create schema student
GO 

输出 –
GO命令执行该语句,并创建一个新的架构。

2.更改架构:
Alter通常用于在SQL中更改与表相关的内容。如果是SQL Server,则使用alter_schema将安全性/内容从一种模式转移到同一数据库中的另一种模式。

句法 –

alter schema target_schemaname
TRANSFER [entity_type::] securable name 
  • target_schemaname是应在其中传输对象/内容的架构的名称。
  • TRANSFER是将内容从一种模式转移到另一种模式的关键字。
  • 实体_type是要传输的对象的内容或种类。
  • securable_name是对象所在的架构的名称。

当用户将架构的内容移动到另一个架构时,SQL Server将不会更改架构的名称。如果用户想要更改名称,则必须使用drop_schema,并且需要为新架构重新创建对象。移动对象时,SQL Server将不会自动更新,必须由用户手动对其进行修改。

例子 –
名为university的表具有两种模式:

student and lecturer  

如果假设必须将学生的成绩转移到讲师模式中,则查询如下:

alter schema student
TRANSFER [marks::] lecturer 

这样,标记就转移到了讲师模式中。

3.删除架构:
当必须从数据库(包括其定义)中完全删除模式及其相关对象时,将使用Ddrop_schema。

句法 –

drop schema [IF EXISTS] schema_name 

如果用户想检查数据库中是否确实存在模式,则IF EXISTS是可选的。 Schema_name是数据库中架构的名称。

例子 –

drop schema [IF EXISTS] student 
  • 学生是大学数据库中实际存在的模式。
  • 该模式连同其定义一起从数据库中删除。