数据库系统原理.docx
- 文档编号:28402439
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:11
- 大小:234.90KB
数据库系统原理.docx
《数据库系统原理.docx》由会员分享,可在线阅读,更多相关《数据库系统原理.docx(11页珍藏版)》请在冰豆网上搜索。
数据库系统原理
数据库系统原理
课程设计文档
学号:
姓名:
一、DBMS的实现方式
在WindowsXP下,使用Dev-C++环境,用C++语言编写。
二、DBMS的功能介绍
1.词法分析
2.语法分析
3.检查表是否已经存在
4.检查属性是否已经存在
5.建表
6.删表
7.为已经建立的添加属性
8.为已经建立的表删除属性
9.为已经建立的表添加数据
10.为已经建立的表删除数据
11.更新数据
12.显示数据库的结构和功能
13.实现全关系选择操作(select*from关系名)。
14.实现单关系的投影操作。
15.实现单关系的选择操作(允许多条件)。
16.实现单关系的选择和投影操作(允许多条件)。
17.实现两个关系和多个关系的连接操作。
18.实现两个关系和多个关系的选择和连接操作。
19.实现多个关系的选择、投影和连接操作。
20.实现带视图的查询。
21.为某关系的主属性建立索引。
22.利用索引属性完成选择操作。
23.把查询转换成语法树。
24.用高级语言实现启发式关系代数优化算法。
25.要求根据数据字典(DD)实现对数据库的安全性检查。
包括设置口令、密码和权限等。
三、DBMS算法实现
算法描述
实验二:
对用户输入的字符流做词法分析,形成单词流,然后使用SLR1算法对其进行语法分析,SLR1分析程序使用MyYacc生成,然后对生成的程序进行适当的改造。
实验三:
每一个表使用两个文件进行存储,一个是.dbf文件,用来存储实际的数据,一个是.dic文件用来存储表的结构,对用户输入的命令进行判断,通过对对应的.dbf和.dic文件进行适当的增、删、改,实现相应的功能。
实验四、实验六:
对用户输入的select语句进行检查,验证其合法性,然后将根据用户输入的select语句构建查询树,构建完成后进行选择条件的下移,继而确定投影,然后开始实际的执行,最后从最终的结果文件中读出结果,并显示在屏幕上。
实验五:
本实验使用的是B树索引,当创建索引的时候,将数据从数据文件中一条一条地读出来,将索引项和该数据距离文件首部的偏移量插入到B树中,当进行查询的时候,先判断对应的列有无索引,若有,则在查询中利用该索引,以提高查询效率
实验七:
建立一张用户表,每次登陆的时候,进行用户名和密码的验证,在进入系统后,对于用户每输入的一条命令,都去判断用户是否有权限执行该命令,若有权限,则执行,否则不执行。
程序流程图
四、实验测试用例与结果
一、实验二
二、实验三
三、实验四、实验六
四、实验五
五、实验七
五、关键技术
本实验的语法分析程序使用了自己开发的自动生成工具MyYacc,大大方便了语法分析程序的编写。
并且还大量使用了自己开发的模板库,使得程序的编写大大简化,并且使用类将相关的内容封装在一起,提高了程序的模块化程度。
六、总结
这个实验是我做过的规模最大的一个实验了,通过这个实验真的学到了很多,同时也是对以前学过的知识的一种综合。
这次的实验虽然还是有很多功能做的不是很完整,但是通过自己动手真的是受益匪浅。
首先,使得我对于数据库课上的内容有了更为深刻的认识;其次,使得我对于程序设计中如何管理大量的代码的能力有了很大的提高;再次,使得我重温了以前学过的编译原理、数据结构等课程。
虽然在做这个实验中也遇到了很多难题,也有过困惑,但最终还是走了下来,完成了相关的实验内容。
七、参考文献
数据库系统原理(第二版)李建中王珊编著
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 原理