Skip to content

ouyangjunfei/HIT_Database_Lab4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

数据库实验-ExtMem库

哈尔滨工业大学 数据库第四次实验 查询处理算法的实现 ExtMem程序库是一个专门为本课程编写的模拟外存磁盘块存储和存取的程序库,由C语言开发


琐碎

初衷是把自己的辣鸡代码放上来给大家一个思路,尤其是在不知道具体算法如何实现时

本人写的程序和算法不一定对,大家一定要结合自己的实验要求和思路做修改


代码相关

实验基于ExtMem库,但是我把对块的读取与写入做了细微修改。源代码是完全按照字节存储,我修改为int类型,这样外存的块可以直接读取为数字,便于查看元组的数据分布。

实验环境在Windows下,虽然使用了CMake,但是我发现要编写平台无关的程序要做的还有很多,此次实验重点不在于此,故放弃。

头文件位于include文件夹,所有的函数有功能注释、参数注释;源文件位于src文件夹;实际运行会在同目录下产生大量的模拟磁盘块,磁盘块的不同前缀有特定含义,具体参考include/initDataBlocks.h


个人看法

此次实验不同于之前对JDBC的简单应用,涉及了数据库较为底层的算法,而且有限的缓冲区限制是非常有意思的一个条件。

在当前性能冗余的机器条件下,我觉得将尽量减少IO消耗、内存消耗作为一种编程习惯是不错的做法,具体涉及到代码层次可能就是变量的作用域、变量的数目等,也非常考验一个人的基本功。

当然,记得实验三也是写了很多辣鸡代码,数据库JDBC基本操作啥的还是得会。

这次实验因为急于完成,很多算法实现不具有通用性,复用性也很差,仅仅保证了能生成相应结果。

欢迎各位朋友的意见和建议!

About

哈工大数据库实验 查询处理算法 ExtMem库

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published