




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.黑龙江大学“数据库系统原理课程设计”总结报告学院软件学院年级2014级专业软件工程学号20143983姓名陆芝浩报告日期2016.11.9成绩黑龙江大学软件学院;.1、开发环境 操作系统: Windows7 编程语言环境 :VC+6.02、DBMS系统架构3、DBMS主要功能模块1、实现SQL语句中的Create Table建表语句,建立相应的数据库表,并生成相应的数据字典文件和数据文件。2、实现alter table表模式的修改功能:能够为已建立的表添加属性。能够从已建立的表中删除属性。3、实现drop table删除表功能。4、实现create index创建索引的功能。5、实现drop index删除索引的功能。6、实现insert可以向已经创建的表插入元组。7、实现delete从已经创建的表中删除元组。8、实现update修改表中的数据。9、实现SELECT语句,包括:实现单表全属性查询。实现单表单属性查询。实现多表的连接全属性查询。实现多表的连接和选择条件的全属性查询。实现多表的连接的单属性查询。实现多表的连接和选择的单属性查询。实现单表的选择的单属性查询。实现单表的选择的全属性查询。 10、利用启发式关系代数优化算法进行查询优化。 11、建立访问权限,根据数据字典(DD)实现对数据库的安全性检查和完整性约束的机制。3.1 SQL语言的词法和语法分析(1)功能介绍通过编译原理的知识对输入的SQL语句进行词法分析,将SQL语句拆分为若干个单词,对其进行语法分析,确定输入的SQL语句的含义.(2)相关理论利用编译原理的相关知识,对输入的SQL语句进行模仿SQL语言的词法及语法结构的分析。(3)算法描述 在调用的每个相关模块的的起始部分,对该条SQL语句进行拆分,对每一个关键字位置进行比对处理,如有词法或语法错误,立即停止此次调用模块操作,并报错,重新输入SQL语句。(4)程序流程图(5) 测试用例与实验结果 词法语法分析在各功能中体现。3.2创建数据库及数据操作功能功能介绍1、实现建立数据库表的结构的功能。(1)支持整型、字符型数据。(2)以文件形式保存基本表。(3)建立相应的数据字典。2、实现输入数据库表记录的功能。3、实现删除数据库表记录的功能。4、实现修改数据库表记录的功能。5、实现显示数据库表结构和内容.6、实现在已有的表中添加属性的功能;7、实现从已有的表中删除属性的功能;8、实现删除表的功能。(2)相关理论主要是对文件操作,读文件、写文件及文件指针的运用。(3)算法描述创建表:读取由词法分析产生的文件,根据相应的关键字判断应该进行何种操作,建表前应先判断该表是否存在,若不存在,将该表的信息及各个属性的信息写入文件。生成相应的数据字典和数据文件。程序流程图:删除表:1. 根据要删除的表名,查找该表是否存在。2. 该表若存在,则将调用remove函数删除该表,并将与该表有关的信息及文件删除。程序流程图:增加属性:1. 对要进行操作的表判断是否存在;2. 判断要加入的属性在表中是否已存在,若不存在则将要加入的属性加入到该表中,相应文件同时进行更新。程序流程图:删除属性:1. 判断该表是否存在;2. 断该表中是否存在该属性,若存在,则将该属性删除,并更新相应文件的信息;程序流程图:插入数据:1. 判断表是否存在2. 判断表中是否存在主键,若存在主键,则判断插入数据的主键是否与已有数据的主键重复。若该表不存在主键,则直接插入数据,并且更新程序流程图:删除记录:1. 表是否存在2. 判断欲删除数据是否存在3. 根据判断条件进行删除4. 更新相关文件程序流程图(5)测试用例与实验结果 建表和修改表的结构添加主键和插入数据删除记录修改记录删除表3.3索引的创建及删除(1)功能介绍1.在主键上建立主索引。2.在主键上建立辅助索引。3.在非主键上建立辅助索引。4.删除索引。(2)相关理论对主键建立索引,利用二分查找法和顺序查找法,二分查找法可缩短查询时间,构造一个索引文件,查询时只要对索引文件进行查询即可,缩短了处理时间。(3)算法描述1.若是创建主索引,首先从表中找到主键;2.然后利用冒泡排序对数据进行从小到大排序;3.建立主索引中,1条索引记录每个磁盘块中存放5个元组。4辅助索引每条索引记录都对应一个元组,辅助索引可以是无序文件,最后将其写入索引文件中。程序流程图测试用例与实验结果 立主索引:create index main student_index on student (num);建立主键上的辅助索引:create index fuzhu student_index on student (num);建立非主键上的辅助索引:create index fuzhu student_index on student (name);3.4查询功能(1)功能介绍 实现全关系选择。 实现单关系选择。 实现两个关系的连接。 实现两个关系的连接和选择。 实现单关系投影。 实现单关系选择和投影。 实现两个关系的连接和投影。 实现两个关系的连接,投影和选择。相关理论查找分为单表查询以及单表索引查询,多表查询是调用了单表查询,然后进行选择,连接以及投影。全关系查询是将字典文件中该表的所有属性取出,条件过滤是将SQL语句中的条件抽取出来依照字典文件中的表结构进行字段的一次排查将符合条件的留在结果集合中。不符合条件的从结果集合中删除。完成之后按照字段进行投影工作,投影同样是依照sql语句以及数据字典进行的。多表查询,是将sql语句中涉及的表首先行进单表查询,将结果集合分别进行条件过滤,表连接操作最后进行投影工作。(3)算法描述a.全关系的选择操作扫描数据字典,判断是否有该表,如果有,则扫描数据文件,将文件中内容全部输出。b.实现单关系的投影操作扫描数据字典,判断是否有该表,若有该表,记录要投影的属性是第几个,扫描数据文件,将每个元组中要查询的属性输出。c.实现单关系的选择操作(允许多条件)扫描数据字典,判断是否有该表,若有该表,扫描数据文件,利用循环将满足“where”后条件的元组选出。d.实现单关系的选择投影操作(允许多条件)扫描数据字典,判断是否有该表,若有该表,则记录需要投影的属性是第几个,查找数据文件,利用循环将满足“where”条件的元组找出并属性相应的属性值。e.实现两个关系的连接操作扫描数据字典,判断是否有这两个表,若有,则查找相关属性,将两个表中的相关属性依据条件进行匹配,若匹配成功,则表示连接成功,输出连接结果。f.实现两个关系的选择和连接操作在以上的连接结果中挑选符合条件的元组输出。g.实现两个关系的选择、投影和连接操作在以上的结果中选择要投影的属性,输出。程序流程图 测试用例与实验结果 全关系选择:select * from student;单关系选择:select * from student where num=1000;实现两个关系的连接:select * from student,xuanxiu where num=x_num;实现两个关系的连接和选择:select * from student,xuanxiu where num=x_num and num 1001;单关系投影:select name,sex from student;单关系选择和投影:select name,sex from student where num=1007;两个关系的连接和投影:select num,grade from student,xuanxiu where num=x_num;两个关系的连接,投影和选择:select num,grade from student,xuanxiu where num=x_num and num1001;3.6数据库保护功能(1)功能介绍 要求根据数据字典(DD)实现对数据库的安全性检查。包括设置口令、密码和权限等。相关理论掌握数据库系统的安全性保护机制。(3)算法描述编写一个登陆界面,限制用户名和密码,实现安全性保护机制,添加的用户名和密码都写到了mima.txt文件当中。(4)程序流程图(5)测试用例与实验结果 原来mima.txt文件中的数据: 添加用户名: root 密码:8833create user ttt identif
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 与护理相关的法律法规
- 乳牙开髓图谱解读
- 2026届安徽省含山县英语九年级第一学期期末质量跟踪监视试题含解析
- 农村旧船改造方案范本
- 三检合一政策解读
- 心肺复苏模拟人培训
- 四川省绵阳市游仙区2026届九年级英语第一学期期末经典试题含解析
- 2026届哈尔滨市平房区化学九上期末质量检测模拟试题含解析
- 2026届雅安市重点中学化学九上期末统考模拟试题含解析
- 濉溪县2026届英语九上期末联考试题含解析
- 留疆战士考试题库
- FZ/T 13002-2014棉本色帆布
- 视频监控解码器dec6108用户手册
- CA-2100E(新机)可燃气体报警控制器使用说明书
- 2022环保检测作业指导书(HJ1237-2021机动车排放定期检验规范)
- 水泵技术规格书说明资料
- 苏科版三年级上册劳动第四课《橡皮泥塑》课件(定稿)
- 法理学-(第五版)完整版ppt全套教学教程课件(最新)
- 《峨日朵雪峰之侧》教案
- 火灾自动报警系统PPT课件
- 高压氧质控标准
评论
0/150
提交评论