https://web.stanford.edu/class/cs346/2015/redbase.html
Redbase 是一种单用户的关系型数据库管理系统,它包含了一定数量的代码,并且必须由单人完成。
Redbase 项目是高度结构化的,同时拥有足够的规格说明。整个项目能够被分为以下几个部分:
- The record management(rm) component:记录管理组件,在这个部分中需要实现一部分代码,用于管理数据库记录中没有排序的文件。这个组件将会基于 the Paged File(PF) component ,which performs low-level file I/O at the granularity of pages. 在文件颗粒中执行低级的文件读写操作。
- The index (ix) component:在这个部分,需要实现在未排序文件中构建检索。你的检索方式将会基于 B+ 树。检索组件将会基于 页文件组件(Paged File component)
- The System Management (SM) Component:在这个部分需要实现大量的数据库和系统程序,包括 数据定义指令 和 目录管理。系统管理组件将会依赖于记录管理和检索组件(在第一、二部分)。它同时将会使用一个我们提供的命令行解析工具。
- The Query Language (QL)Component:在这个部分需要实现 RQL -- Redbase 查询语言。RQL 由用户级数据操作命令组成,包括查询和更新操作. 查询语言组件将会基于前面的三个部分,同时将会用到我们提供的命令行解析工具。
除了基础的功能,每个学生都需要实现一个 Redbase 数据库的扩展组件,这些组件可以是 记录管理,长域(long fields BLOBs),对象管理,文本管理,分类,检索,连接算法,聚类,统计和查询优化,查询语言拓展,OLAP,XML, 并发控制,回复,安全和授权,压缩,网络,版本,拓展功能,存储程序,视图,完整约束,触发器,用户和应用界面,网络结合等等。
更多关于项目的信息,例如设置和测试代码,提交进程,最新政策和成绩点击 https://web.stanford.edu/class/cs346/2015/redbase-logistics.html 页面,同时查看 https://web.stanford.edu/class/cs346/2015/redbase-faq.html 可以查看是否有你问题的解决方案。