【数据库】数据库语言

简介: 【数据库】数据库语言

1.4 数据库语言

数据库系统提供数据定义语言(DDL)来定义数据库模式,并提供数据操纵语言(DML)来表达数据库的查询和更新。

通过一系列特定的DDL语句来说明数据库系统所采用的存储结构和访问方式,这种特定的DDL称作数据存储和定义语言。

域约束。每个属性都必须对应一个所有可能的取值构成的域。声明一个属性属于某个具体的域就相当于约束它可以取的值。

引用完整性。希望能确保一个关系中给定属性集上的取值也在另一关系的某一属性的取值中出现。

DDL的输出放在数据字典中,数据字典包含元数据,元数据是关于数据的数据。

1.4.3 数据操纵语言

基本上有两种类型的数据操纵语言:

过程化的DML:要求用户指定需要什么数据以及如何获得这些数据。

声明化的DML:只要求用户指定需要什么数据,而不必指明如何获得这些数据。

1.4.5 从应用程序访问数据库

SQL的计算和动作必须用一种宿主语言来写,比如Java或Python,在其中使用嵌入式SQL查询来访问数据库中的数据。

应用程序就是用来以这种方式与数据库进行交互的程序。

为了访问数据库,需要将DML语句从宿主发送到执行这些语句的数据库。

1.6 数据库引擎

数据库系统被划分为多个模块,每个模块完成整个系统的一个功能。数据库系统的功能部件大致可分为存储管理器、查询管理器部件和事务管理部件。

1.6.1 存储管理器

存储管理器是数据库系统中负责在数据库中存储的低层数据与应用程序以及向系统提交的查询之间提供接口的部件。

存储管理器将各种DML语句翻译成底层文件系统命令。因此,存储管理器负责数据库中数据的存储、检索和更新。

存储管理器部件包括:

权限及完整性管理器,检测是否满足完整性约束,并检查试图访问数据的用户的权限。

事务管理器,它保证即使系统发生了故障,数据库也保持在一致的状态,并保证并发事务的执行不发生冲突。

文件管理器,它管理磁盘存储空间的分配,管理用于表示磁盘上所存储信息的数据结构。

缓冲区管理器,负责将数据从磁盘上取到内存中,并决定哪些数据应被缓冲存储在内存中。

数据文件,它存储数据库自身。

数据字典,存储关于数据库结构的元数据,特别是数据库模式

索引,它提供对数据项的快速访问。

1.6.2 查询处理器

DDL解释器:解释DDL语句并将这些定义记录在数据字典中。

DML编译器:将查询语言中的DML语句翻译为包括一系列查询执行引擎能理解的低级指令的执行方案。

1.6.3 事务管理

原子性和持久性的保证是数据库系统自身的职责,是恢复管理器的职责。

当几个事务并发地对数据库进行更新时,即使每个单独的事务都是正确的,数据的一致性也可能被破坏。

并发控制管理器控制并发事务间的相互影响,保证数据库的一致性。事务管理器包括并发控制管理器和恢复管理器。

集中式结构可以应用在共享内存的服务器体系结构中,该结构有多个CPU进行并行处理,但是所有的CPU都访问一个公共的共享内存。

为扩展到更大的数据规模和更高的处理速度,研究人员设计了运行在多台机器的集群上的并行数据库。更进一步,分布式数据库允许跨地域地对多台分离的机器进行数据存储和查询处理。

相关文章
|
4月前
|
关系型数据库 Go 数据库
【Go语言专栏】Go语言中的数据库迁移与版本控制
【4月更文挑战第30天】本文介绍了Go语言中的数据库迁移和版本控制。针对数据库迁移,文章提到了使用Flyway和Liquibase两个工具。通过示例展示了如何在Go中集成这两个工具进行数据库结构的修改,以适应业务变化。而对于版本控制,文章以Git为例,说明了如何利用Git进行源代码和配置文件的管理,确保代码一致性与可追溯性。
147 0
|
1月前
|
SQL 关系型数据库 数据库
|
1月前
|
SQL 关系型数据库 数据库
|
1月前
|
SQL 存储 关系型数据库
|
3月前
|
SQL 存储 数据库
数据库语言:DDL与DML详解
数据库语言:DDL与DML详解
1272 1
|
3月前
|
关系型数据库 MySQL Go
Go语言介绍以及如何在Go语言中操作MySQL数据库
Go语言介绍以及如何在Go语言中操作MySQL数据库
48 3
|
3月前
|
存储 NoSQL Go
轻松上手,使用Go语言操作Redis数据库
轻松上手,使用Go语言操作Redis数据库
|
4月前
|
SQL Java 数据库连接
Java语言中的数据库连接技术详解
Java语言中的数据库连接技术详解
|
4月前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
|
3月前
|
SQL 存储 数据库
数据库sql语言
SQL(Structured Query Language,结构化查询语言)是用于管理关系数据库的标准编程语言。它包括数据查询、数据操作、数据定义和数据控制等功能。以下是SQL语言的一些主要组成部分和