1、 毕业设计开题报告 信息与计算科学 通用数据库的 C 语言实现 一、综述本课题国内外研究动态 , 说明选题的依据和意义 dbm 是在 UNIX 系统中很流行的数据库函数库 , 它是由 Ken Thompson 开发的 , 当时使用了动态散列结构 . BSD 的开发者扩充了 dbm 函数库 , 并将其改名为 ndbm. ndbm 函数库包括在 BSD 和 SVR4 中 . 而在 Linux 系统上 , 开发者们用 gdbm 库来支持 dbm 函数库和ndbm 函数库 7. dbm 函数库所管理的数据库是一个轻量级的数据库 , 纯粹以二进制储存的一种数据库 , 常用 于系统底层的数据库 . dbm
2、 函数库主要的两个特点是动态散列算法和键值查找方式 . 采用动态散列算法时在查找数据时非常快速 , 当然其付出的代价就是插入数据异常的缓慢 2 ,故其 适合于储存相对比较静态的索引话数据 . 另外对于键值查找方式 , dbm 数据库 是通过 包括两个基本元素数据块 , 一块是想要保存起来的数据 , 另一块是对其进行检索时用做关键字的数据 . 关键字的取值被用做检索储存数据的索引 , 就如同书签一般 . 至今 , dbm 有许多版本 , 但这些实现都有一个根本的缺点是 : 他们都不支持多个进程对数据库的并发更新 . 它们都没有提供并发控制(如记录锁 ).绝大部分商用数据库函数库提供多进程同时更新
3、数据库所需要的并发控制 5. 这些系统一般都使用建议记录锁 , 不过 , 它们也常常实现自己的锁原语 , 以避免为获得一把无竞争的锁而需的系统调用开销 6. 本文就针对 此 , 通过 锁机制 来改进它 . 二、 研究的基本内容 , 拟解决的主要问题: 研究的基本内容:在 Linux 环境下用 C 语言实现有并发控制的类 dbm 数据库函数库 . 解决的主要问题: 1 数据在内存处理时使用的结构数据在文件和内存的读取问题 . 2 数据在文件和内存的读取 问题 . 3 数据库文件的并发控制问题 . 三、 研究步骤、方法及措施: 研究步骤: 1查阅 文献 资料 , 做好笔记 ; 2仔细阅读研究文献资
4、料 ; 3 翻译英文资料 , 并在老师指导下修改英文翻译 ; 4. 修改英文翻译 , 撰写文献综述 ; 5. 在老师指导下 , 确定整个论文的思路 , 列出论文提纲 , 撰写开题报告 ; 6论文定稿 撰写毕业论文初稿 ; 6. 编写程序 , 并调试完善 ; 7 根据程序完成 论文初稿 , 并 反复修改 ; 8. 完成论文正稿 . 方法、措 施 : 通过到图书馆 , 上网等查阅收集资料 , 上万方数据库查找文章 , 参考相关内容在老师指导下 , 根据 dbm 的函数接口开发自己的等价接口类型,并做好程序调试 . 最后根据程序运行结果的数据来完成论文 . 四、参考文献 : 1 ( 美 )W.Ric
5、hard Stevens, Setphen A Rago. Advanced Programming in the UNIX Environment M. 人民邮电出版社 , 2006. 2. 2 (英 )Neil Matthew, Richard Stones 著 . 杨晓云等译 . Linux 程序设计 (第二版 ) M. 机械工业出版社 , 2002. 1. 3 萨 师煊 , 王珊 . 数据库系统概论 (第四版 ) M. 高等教育出版社 , 2006. 5. 4 王珊 , 孟小峰 . 数据库系统导论 (第七版 ) M. 机械工业出版社 , 2000. 10. 5 Abnhrmx Silb
6、ersehaa. 数据库系统概念 M. 机械工业出版 , 2006. 10. 6 (美 )沃尔特 , 本 -甘 , 萨卡 . Microsoft SQL Server 2005 技术内幕 -T-SQL 程序设计 M. 北京 :电子工业出版社 , 2007: 50-80. 7 微软公司著 . 熊盛新 , 许志庆 , 李钦译 . Visual C# .NET 语言参考手册 M. 北京 :清华大学出版社 , 2002 年 : 160-180. 8 (美 )Kaili Watson . C#2005 数据库编程经典教程 M. 人民邮电出版社 , 2007: 90-120. 9 刘乃丽 . 精通 ASP.NET2.0+SQLServer 2005 项目开发 M. 北京 :人民邮电出版社 , 2007: 100-150. 10 Craig Hunt. Linux Sendmail Administration (Craig Hunt Linux Library) M. Sybex, 2001-2 11 欧立奇 , 康祥顺 , 马煜编著 . Visual C# .NET 案例开发集锦 M.北京 :电子工业出版社 , 2006: 233-245.