数据库语言:
DDL:Data Definition Language (数据定义语言)
DML:Data Manipulation Language (数据操纵语言)
DCL:Data Control Language (数据控制语言)
1、数据定义语言(DDL)
指定一个数据库模式作为一组关系模式的定义
指定存储结构,访问方法和一致性约束
DDL语句经过编译,得到一组存储在一个特殊文件中的表,特殊文件即数据字典,其中包含元数据。
数据字典包含元数据,包括:
- 数据库模式
- 数据存储结构
- 访问方法和约束
- 统计信息
- 授权
2、数据操纵语言(DML)
- 从数据库中检索数据
- 插入/删除/更新数据
DML也称为查询语言
两类基本的数据操作语言
- 过程化DML:要求用户指定需要什么数据,以及如何获得这些数据(如:C、Java)
- 声明式DML:只要求用户指定需要什么数据,而不指明如何获得这些数据
3、SQL(广泛使用)(结构化查询语言)
SQL=DDL+DML+DCL
三种用法:
- 直接在交互环境中使用
- 在语言中,通过ODBC(开放式数据库连接),JDBC使用
- 在语言中使用嵌入式SQL
数据库用户
根据所期望的与系统交互方式的不同,数据库系统的用户可以分为四类:
- 无经验的用户:他们通过激活实现已经写好的应用程序通系统进行交互(普通用户)
- 应用程序员:通过SQL调用与系统进行交互
- 富有经验的用户:用数据库查询语言或数据分析软件等工具来表达他们的要求
- 特殊用户:编写专门的,不适用与传统数据处理框架的数据库应用
数据库管理员(DBA)
对数据库系统进行集中控制的特殊用户
- DBA拥有管理数据库的最高权限
- DBA协调数据库系统的所有活动
- DBA控制所有用户的访问数据库的权限
- DBA对企业的信息资源和需求有很好的理解
工作包括:
- 模式定义
- 存储结构与存取方法定义
- 模式及物理组织的修改
- 数据访问授权
- 日常维护:监视数据库的运行,确保数据库的性能,数据库安全
事务管理
事物:是在数据库应用中完成单一逻辑功能的操作集合
事物的要求:原子性,一致性,隔离性,持久性
事物管理组件:确保系统出现故障或事物失败的情况下,数据库能保持一致性(准确性)
并发控制管理器:控制并发事物之间的交互(并发使用,确保多用户进行访问,但也会带来一些问题)
数据库体系结构
存储管理器
- 在底层数据存储与应用程序及查询之间,提供接口
- 对数据库中的数据进行高效存储,检索与更新
包括:
- 事物管理
- 授权与完整性管理
- 文件管理(管理文件系统与数据文件,数据字典,索引文件之间的交互)
- 缓存管理
查询处理器
接收数据库语言输入,经过解析,优化,执行,输出响应的结果给用户
包括:
- 解析和翻译
- 优化
- 执行
查询处理优化
执行给定查询操作的方法:(不同的执行方法之间代价不同)
等价表达式
每个操作有不同的算法
需要预估操作的开销
- 关键取决于数据库中维护关系的统计信息
- 需要预估中间结果的统计信息,这些统计信息将用于计算复杂表达式的开销
两层体系结构:
像ODBC和JDBC这样的应用程序接口标准被用于进行客户端和服务器的交互
三层体系结构:
如基于web的应用程序及采用“中间件”构建的应用程序