在本文中,我们将讨论模式以及如何创建,更改和删除模式。
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
- 学生是大学数据库中实际存在的模式。
- 该模式连同其定义一起从数据库中删除。