版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-动手实现自己的数据库管理系统动手实现自己的数据库管理系统(DBMS)(DBMS)Course InformationLecture files:ftp:/:990/TA:xuqiongkai_Main Reference Books :H. Garcia-Molina, J. D. Ullman, J. Widom. 数据库系统实现/class/cs245//PurposeWhat can we learn?1、SQL Operation2、Software Engineering3、Skillfu
2、l Programming Language4、Cooperate with classmateBrief IntroductionWhat is DBMS(Data Base Management System)?What kinds of technology do we have?JavaCompilerOperating systemHow to construct this system?Brief IntroductionBrief IntroductionBasic Idea:用户端口用户端口词法词法/语法分析语法分析执行计划生成执行计划生成执行查询执行查询缓冲区缓冲区文件系统文
3、件系统记录管理记录管理索引管理索引管理优化优化海王篇海王篇模块介绍(1)查询处理模块:查询处理模块: 完成从SQL语句的字符串到查询计划的翻译 完成从String-Token-Parser-Execute TreeLexParserExecute Tree GeneratorString(SQL)TokensParser TreeExecute TreeLex/Parser: 使用编译原理中的技术即可Execute Tree Generator: 针对Parser Tree中所有的节点进行翻译,翻译为Execute TreeExampleSELECT cno FROM SC WHERE sno
4、 IN (SELECT sno FROM Student WHERE name LIKE wang%);Example模块介绍(2)查询计划执行模块(查询计划执行模块(Execute Manager):): 将物理查询计划树翻译成可执行代码 运用关系代数翻译如下操作:运用关系代数翻译如下操作:取特定列:条件筛选操作:连接表(翻译成对于Tuple or File的操作)模块介绍(3)存储管理模块:存储管理模块: 实现对数据库高效的读写操作 Execute ManagerRecord ManagerDisk ManagerHardwareExecute CodeRecord Manager:管理对
5、单条或多条记录的查询、修改和管理操作,为上层的执行引擎提供接口Disk Manager:管理对一个完整磁盘块的分页读写机制,为上层的记录管理模块提供读写磁盘的接口模块介绍(4)缓冲管理模块(缓冲管理模块(Buffer Manager):): 提高磁盘访问效率。 Execute ManagerRecord ManagerDisk ManagerHardwareExecute CodeBuffer(1M)问题:1、机制FIFO 、LRU2、缓冲信息选定模块介绍(5)用户交互模块(用户交互模块(Frame):):可以是命令行方式的用户界面,也可以是图形用户界面(GUI)ps:实用即可用户管理模块:用
6、户管理模块:需要查询数据字典认证权限后方可登陆执行引擎模块:执行引擎模块:依照流程,按步执行各个模块 高级模块查询优化模块:查询优化模块:(估价)(估价)优化优化高级模块查询优化模块:查询优化模块:高级模块索引模块:索引模块:Index高级模块索引模块:索引模块:(B tree)索引模块:索引模块:高级模块索引模块:索引模块:高级模块完整结构(仅供参考)用户端口用户端口词法词法/语法分析语法分析执行计划生成执行计划生成执行查询执行查询缓冲区缓冲区文件系统文件系统记录管理记录管理索引管理索引管理优化优化Class: ClientFrameMethods:1、main:用于创建窗体和初始化用于创建
7、窗体和初始化2、showTable:将数据显示到表中将数据显示到表中3、transMessage:转换返回数据转换返回数据eg:1#12#fdsa3#e2#fdsa2#fdsa2#fdsa2#fdsa2#fdsa2#fdsa!1#12#fdsa3#e2#fdsa2#fdsa2#fdsa2#fdsa2#fdsa2#fdsa!Class: ClientSocketMethods:1、send:发送消息发送消息2、receive:接受消息接受消息Class:ServerDriverMethods:1、main:启动启动serverSocket监听端口、设置服监听端口、设置服务器配置参数务器配置参数2
8、、SQLHandler:完成各个模块的操作流程控制完成各个模块的操作流程控制完整结构(仅供参考)用户端口用户端口词法词法/语法分析语法分析执行计划生成执行计划生成执行查询执行查询缓冲区缓冲区文件系统文件系统记录管理记录管理索引管理索引管理优化优化dbms.flex-YyLex.javadbms.cup-parser.javaClass:TranslateMethods:translate:(:(1)调用)调用flex生成的词法分析生成的词法分析代码代码 (2)调用)调用cup生成的语法分析生成的语法分析代码代码Package:Absyn根据自己设计的根据自己设计的cup改写改写完整结构(仅供参
9、考)用户端口用户端口词法词法/语法分析语法分析执行计划生成执行计划生成执行查询执行查询缓冲区缓冲区文件系统文件系统记录管理记录管理索引管理索引管理优化优化Class:ExeTreeGeneratorMethods:1、translate:Absyn-ExeTree2、analyse:评估节点运行所需时间评估节点运行所需时间3、optimize:根据评估优化根据评估优化Execute Tree结构结构Package:ExeTreeNode构建构建Execute Tree中各个节点类中各个节点类类别包括:类别包括:、等等每个类提供如下方法:每个类提供如下方法:1、analyse:递归向下调用:递归
10、向下调用analyse评估该节评估该节点运行时间点运行时间2、execute:执行该节点操作,调用各个文:执行该节点操作,调用各个文件系统操作件系统操作Class:ExecuteMethod:execute:递归调用各个节点的:递归调用各个节点的execute方法方法完整结构(仅供参考)用户端口用户端口词法词法/语法分析语法分析执行计划生成执行计划生成执行查询执行查询缓冲区缓冲区文件系统文件系统记录管理记录管理索引管理索引管理优化优化Class:RecordBuffer:Methods:InsertRecord:插入记录:插入记录DeleteRecord:删除记录:删除记录ChangeReco
11、rd:修改记录:修改记录Select:替换机制:替换机制Class:DiskBuffer:Methods:WritePage:修改页内容:修改页内容ClearPage:清除页:清除页Select:替换机制:替换机制完整结构(仅供参考)用户端口用户端口词法词法/语法分析语法分析执行计划生成执行计划生成执行查询执行查询缓冲区缓冲区文件系统文件系统记录管理记录管理索引管理索引管理优化优化Class:RecordManagerMethods:CreateTable :创建表:创建表DeleteTable :删除表:删除表InsertRecord :插入记录:插入记录DeleteRecord : 删除记
12、录删除记录FindRecord :寻找记录:寻找记录TrimTable :调整表结构,删除冗余数:调整表结构,删除冗余数据据Class:DiskManagerMethods:CreateFile:创建虚拟磁盘:创建虚拟磁盘DestroyFile :删除虚拟磁盘:删除虚拟磁盘OpenFile :打开一个文件,返回一个:打开一个文件,返回一个File类的操作柄类的操作柄CloseFile :关闭一个文件:关闭一个文件WritePage:修改页内容:修改页内容DeletePage:删除页:删除页其他一、要求一、要求1、由两到三人(建议三人)组成开发小组共同完成一个DBMS项目2、提交报告时需要提交源代码,可执行程序,使用说明,各模块实现方法及相关的测试报告。3、主要测试内容:DiskManager、RecordManager、BufferManager、Execute Tree(中期检查)、语句执行的正确性和效率等等4、测试环境:win7、eclipse+JDK1.6、50M硬盘、1M缓存其他二、时间安排二、时间安排第9周:团队形成 (名单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏教版四年级下册数学第三单元 三位数乘两位数 测试卷带答案
- 酒店改造合作协议书(3篇)
- 注塑模具委托加工制作协议(3篇)
- 防火涂料购销合同书(3篇)
- 语文六年级下册教学工作总结
- 大型超市内商户租赁合同(2024年)3篇
- 记账代理业务合同
- 诚信售后质量保证
- 语文课堂教学的实践与思考
- 财务税务筹划协议
- TSDLPA 0001-2024 研究型病房建设和配置标准
- 清洁灌肠护理
- 2024CPA合作合同模板
- 中医药香囊课件
- 第4课 用联系的观点看问题-【中职专用】2024年中职思想政治《哲学与人生》金牌课件(高教版2023·基础模块)
- 客户关系管理系统合同
- 人音版音乐三年级上册《演唱 妈妈的心》说课稿2
- 呼伦贝尔事业单位笔试真题及答案2024
- 线下签约合同范本
- 【长安的荔枝中李善德的人物形象分析7800字(论文)】
- 新项目方法验证能力确认报告(固定污染源废气-烟气参数的测定HJT-397-2007)
评论
0/150
提交评论