
数据库管理系统原型.doc
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文档《数据库管理系统原型》探讨了设计和实现一个基础数据库管理系统的概念框架与关键技术,包括数据模型、存储结构及查询处理机制。
第二部分:数据库管理原型系统
实践项目一:SQL语言的词法与语法分析
**实验目的**
熟练掌握基本SQL语句的编写,并为其定义文法规则。
**实验内容**
1. 为每个基础SQL语句制定文法。
2. 开发一个词法和语法解析器。
3. 执行相应的语义检查。
4. 构建查询的内部表示形式。
实践项目二:创建数据库及数据操作功能
**实验目的**
掌握在数据库管理系统中,实现创建数据库、关系模式维护以及数据管理的技术方法。
**实验内容**
1. 使用高级语言来建立数据库用户并完成权限管理:
- 创建新用户
- 授权给特定的用户
- 撤销用户的权限
2. 用高级语言构建数据库表结构:
- 设计文件存储方式和访问机制;
- 属性数量不限,类型包括整数、实数及字符串;
- 定义完整性约束条件;
- 将相关信息存入数据字典。
3. 使用高级语言实现删除表格的功能:
- 删除指定的表并维护数据字典信息
- 如果存在索引,则一并清除相关文件
4. 用编程手段添加或移除属性,并更新元数据记录。
5. 利用程序创建和消除视图,同时保持数据字典同步。
6. 使用高级语言进行数据库中表行的插入、删除及修改操作,在必要时维护索引结构
7. 构建一个展示数据库表格内容的功能模块以测试上述功能。
**说明**
实验任务2至7为必做项;其余可任选。
实践项目三:索引创建与撤销
**实验目的**
掌握数据库管理系统中的索引技术应用方法。
**实验内容**
1. 使用高级语言为主键属性建立索引,包括两种情况:
- 主键有序
- 主键无序
2. 为非主属性生成B树型或散列式索引。
3. 创建任意属性的B-Tree索引结构;
4. 根据需要删除已创建的所有类型的索引文件,并更新数据字典条目。
**说明**
实验内容1、7是必做项,2和4中任选一项执行其余可自由选择完成。
实践项目四:查询优化
**实验目的**
掌握启发式关系代数的优化技巧。
**实验内容**
1. 将SQL语句转换成语法树的形式,并支持以下操作:
- 选择(含AND/OR条件)
- 投影
- 连接(等值连接和自然连接)
- 集合运算(并、交、差)
2. 应用启发式关系代数优化策略,对初始查询树进行变换以生成更高效的执行计划;
3. 确定多表联合时的最佳连接顺序。
**说明**
实验内容1至2为必做项;第3条可选不做。
实践项目五:查询处理
**实验目的**
掌握关系代数操作的具体实现算法。
**实验内容**
1. 实现选择运算的两种不同方法:
- 表扫描
- 索引搜索
2. 构建基于排序的分组和聚合过程;
3. 设计基于排序的投影处理程序。
4. 开发集合并、交、差操作算法,使用了先对数据进行排序的方法。
5. 实现连接操作(自然连接与等值链接):
- 循环嵌套
- 排序-归并
- 利用索引的查找方法
- 散列技术
**说明**
实验内容1至6为必做项;每个任务中包括多个算法时,可任选一个实现。
实践项目六:数据库恢复机制
**实验目的**
掌握使用日志进行数据保护的方法。
**实验内容**
1. 根据用户操作记录生成两种类型的日志:
- 再现(REDO)日志
- 撤销/再现(UNDO/REDO)日志
2. 设置系统故障,采用即时写入技术恢复数据库。
3. 遇到错误时利用延迟更新策略来修复数据。
**说明**
实验内容2和3中选择一项执行即可;另一项可不做。
实践项目七:并发控制机制
**实验目的**
掌握两阶段锁协议以及基于时间戳的并发处理方式。
**实验内容**
1. 使用多进程技术同时访问数据库;
2. 实现两段式锁定策略以达成一致性。
3. 采用时间戳的方法来实施并行事务协调。
**说明**
选择执行任务2或任务3;另一项可不做。
全部评论 (0)


