DBMS 中的数据库语言

2025年5月5日 | 阅读5分钟
  • 一个DBMS 是一种软件,它执行许多不同的功能,包括提供设施,使用户能够访问和修改数据库中的信息。
  • 数据库管理系统的主要目的是允许其用户对数据库执行各种操作,例如插入、删除、更新和检索,而无需了解数据的物理表示。
  • 为了向不同类型的用户提供不同的服务,DBMS 通常提供一种称为 DBMS 语言的专用语言。
  • DBMS 具有适当的语言和接口来表达数据库查询和更新。
  • 数据库语言可用于读取、存储和更新数据库中的数据。
DBMS Language

1. 数据定义语言 (DDL)

  • DDL 代表 言。它用于定义数据库结构或模式。
  • 它用于在数据库中创建模式、表、索引、约束等。
  • 使用 DDL 语句,可以创建数据库的骨架。
  • 数据定义语言用于存储元数据信息,例如表和模式的数量、它们的名称、索引、每个表中的列、约束等。

以下是一些属于 DDL 的任务

  • Create: 用于在数据库中创建对象。
  • Alter: 用于修改数据库的结构。
  • Drop: 用于从数据库中删除对象。
  • Truncate: 用于删除表中的所有记录。
  • Rename: 用于重命名对象。
  • Comment: 用于对数据字典进行注释。

这些命令用于更新数据库模式,这就是它们属于数据定义语言的原因。

让我们考虑以下用 SQL 编写的数据定义语言语句。

执行后将创建如下表结构

S_IDS_Name条款Class出生日期学号

2. 数据操纵语言 (DML)

DML 代表 言。它用于访问和操纵数据库中的数据。它处理用户请求。一旦使用 DDL 语句创建了表结构,就有必要用数据填充它。除了将数据插入现有表外,它还有助于修改、删除和从语言中检索数据。

S_NameS_ID条款Class出生日期学号
安贾利·库马里101ABCA6 月 6 日9852145632
阿娜亚·夏尔马102ABCA6 月 16 日9882147632
阿尔蒂·拉尼103ABCA6 月 26 日8852145632
芭比塔·马卡尔104ABCA2 月 6 日9952145632
普里亚·拉尼105ABCA6 月 28 日9752145632
苏克曼·考尔106ABCA7 月 6 日9652145632

以下是一些属于 DML 的任务

  • Select: 用于从数据库中检索数据。
  • Insert: 用于将数据插入表中。
  • Update: 用于更新表中现有数据。
  • Delete: 用于删除表中的所有记录。
  • Merge: 它执行 UPSERT 操作,即插入或更新操作。
  • Call: 用于调用结构化查询语言或 Java 子程序。
  • Explain Plan: 它具有解释数据的参数。
  • Lock Table: 它控制并发性。

根据数据检索技术,数据操纵可分为两种类型

  • 过程性数据操纵语言 (DML): 过程性数据操纵语言允许用户描述需要“什么”数据以及“如何”检索数据。用户公开了获取所需信息所需的所有数据访问操作。过程性数据操纵语言嵌入在具有促进集成和处理导航逻辑功能的更高级语言中。过程性数据操纵语言的一些示例是层次 DML、关系代数等。
  • 非过程性数据操纵语言: 这是一种描述需要什么数据而不指定如何检索数据的语言。DBMS 将 DML 语句转换为操纵所需记录的过程性语句。因此,用户无需担心需要什么算法,并且数据结构在内部实现以检索数据。因此,它提供了数据独立性。非过程性数据操纵语言的一些示例是结构化查询语言、按示例查询、关系演算等。

3. 数据控制语言 (DCL)

  • DCL 代表 言。它用于检索存储或保存的数据。
  • DCL 执行是事务性的。它还具有回滚参数。

(但在 Oracle 数据库中,数据控制语言的执行不具有回滚功能。)

  • 它保护您的数据库免受各种威胁,包括硬件故障、软件错误、操作员错误和恶意黑客。

以下是一些属于 DCL 的任务

  • Grant: 用于授予用户对数据库的访问权限。
  • Revoke: 用于收回用户的权限。

以下操作具有撤销授权

CONNECT、INSERT、USAGE、EXECUTE、DELETE、UPDATE 和 SELECT。

4. 事务控制语言 (TCL)

数据库在更改过程中更容易损坏。发生的软件或硬件故障可能会使数据库处于不一致的状态。SQL 通过将可以更改数据库的操作限制为仅事务内的操作来保护您的数据库。

TCL 用于运行 DML 语句所做的更改。TCL 可以分组为逻辑事务。在事务期间,SQL 对数据的临时副本进行操作。只有在事务结束时,当您发出提交语句时,原始数据库才会修改。如果在提交之前事务中断,您可以通过发出 ROLLBACK 语句将系统恢复到其原始一致状态。

以下是一些属于 TCL 的任务

  • Commit: 用于将事务保存到数据库中。
  • Rollback: 用于将数据库恢复到上次提交后的原始状态。
  • Savepoint: 允许您在事务中创建一个标记,将事务分成小部分。
  • Set Transaction Statement: 允许您设置事务的各种属性,例如它是只读还是读/写。

DBMS 中数据库语言的常见问题。

1. TCL 的目的是什么?

此语言控制数据库对象的安全性和权限。它允许事务分组为逻辑事务。

2. DDL 的目的是什么?

数据定义语言是一种数据库语言,它定义数据结构,描述构成用户数据模型的记录、属性和集合。这些语句创建、修改和删除数据库对象,例如表、索引和用户。DDL 语句还用于指定一致性规则以维护数据完整性。

3. Alter table 命令的目的是什么?

Alter table 语句用于更改 SQL 表的定义。可以使用 ALTER 命令更改字段类型和属性或添加新字段。

4. DML 和 DDL 的区别?

DMLDDL
这些语句用于通过各种操作操纵数据。这些语句用于定义数据库对象的结构或模式。

5. 列出 DBMS 的各种功能?

  • 数据存储
  • 数据字典管理
  • 授权
  • 事务支持
  • 备份和恢复管理
  • 并发控制服务