-
Notifications
You must be signed in to change notification settings - Fork 1
SkyPapaya/mini_database
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
源代码文件列表:(每行的第一个文件是主文件,其他是辅助文件) (1)总控模块:main.py-》整个程序的运行控制,分成7个分支 (2)公共模块:common_db.py -》包含所有模块都引用的常量、类、函数的定义 (3)模式管理模块:schema_db.py,-》表模式存储的代码示例,辅助模块head_db.py实现模式的缓存 (3)数据管理模块:storage_db.py-》表数据管理的代码示例 (4)索引管理模块:index_db.py-》索引的代码示例 (5)查询分析器模块:query_plan_db.py,parser_db.py,lex_db.py,node_db.py-》查询分析器的代码示例 (6)平时调试测试用的模块:test_db.py 大作业内容 (1)每个.py文件会有若干个函数代码空白,用 "#to the students:to be inserted here" 标注 (2)每个学生须填充每个模块的一个函数(除公共模块) (3)代码完成要求:实现规定函数、代码规范合理(要有完整的程序注释模块)、模块能运行 大作业评分基本依据 (差)代码缺失 (中)完成规定函数,程序逻辑没有问题,但模块的实际运行和代码规范(必须有注释)有问题 (良)完成了每个函数,代码基本规范(必须有注释),程序逻辑和模块的实际运行都没有问题 (优)不仅完成了规定的函数,单个模块可运行、代码规范(必须有注释),并且整个程序扩充完整,可以流畅运行。 大作业提交形式 (1)课程结束时,整个完整程序打包发给老师 (2)提前做好的,也可以在平时答疑时间当面讲解演示 (3)评分依据的代码要打印出来交给老师。 备注: 编程语言可以是C,C++,C#,JAVA,PYTHON等,大家也可以自主协商,参照提供的python代码,提供其他语言的源代码,考核时,主要依据规定函数的运行情况来判断。 2025年2月19日为了适应Python3.x编译器,进行了如下修改: (1)涉及到input函数,在Python3.x版本,input函数输入的返回值类型为str,本代码采用bytes编码,所以需要将str类型转化为bytes类型 具体转换方式如下: Str->bytes:(以字符串hello为例) 'hello'.encode('utf-8') Bytes->str:(非必要不推荐)(print函数两者都可,因为两个函数都不涉及对变量本身的修改) Decode函数,使用方法和上面类似 (2)选项5reload函数注释了,需实现 (3)因为涉及import lex_db(main_db.py的19行),要安装库,用命令pip3 install ply
About
数据库实验
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published