- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
016_数据库函数库,c函数库,c语言函数库,python函数库,函数库,c语言标准函数库chm,支援函数库若非遗失,c语言标准函数库,stm32函数库,numpy函数库
下载
下载
第1 6章 数据库函数库
16.1 引言
8 0年代早期,U N I X环境被认为不适合运行多用户数据库系统(见 S t o n e b r a k e r 〔1 9 8 1〕和
We i n b e rg e r 〔1 9 8 2〕)。早期的系统,如V 7 ,因为没有提供任何形式的I P C机制(除了半双工管
道),也没有提供任何形式的记录锁机制,所以确实不适合运行多用户数据库。新一些的系统,
象S V R 4和4 . 3 + B S D ,则为运行可靠的、多用户的数据库系统提供了一个适合的环境。很多商
业公司在许多年前就已提供这种系统。
本章将设计一个简单的、多用户数据库的函数库。通过此函数库提供的 C语言函数,其他
程序可以访问数据库中的记录。这个 C 函数库只是一个完整的数据库的很小的一部分,并不包
括其他很多部分,如查询语言等,关于其他部分可以参阅专门介绍数据库的书。我们感兴趣的
是一个数据库函数库与U N I X 的接口,以及这些接口与前面各章节的关系(如1 2 . 3节的记录锁)。
16.2 历史
d b m (3 )是一个在U N I X系统中很流行的数据库函数库,它由Ken Thompson开发,使用了
动态散列结构。最初,它与 V 7一起提供,并出现在所有伯克利的版本中,也包含在伯克利的
S V R 4兼容函数库中。 S e l t z e r和Yi g i t 〔1 9 9 1〕中有关于d b m 函数库使用的动态散列算法历史的
详细介绍,以及这个库的其他实现方法。但是,这些实现的一个致命缺点是它们都不支持多个
进程对数据库的并发修改。它们都没有提供并发控制(如记录锁)。
4 . 3 + B S D提供了一个新的库d b ( 3 ) ,这个库支持三种不同的访问方式:面向记录、散列和 B
树。同样, d b也没有提供并发控制(这一点在 d b手册的 B U G S栏中说得很清楚)。S e l t z e r和
O l s o n 〔1 9 9 2〕中说以后的版本将提供像大部分商业数据库系统一样的并发控制功能。
绝大部分商业的数据库函数库提供多进程并发修改一个数据库所需要的并发控制。这些系
统一般都使用 1 2 . 3节中介绍的建议记录锁,并且用B +树来实现他们的数据库。
16.3 函数库
本节将定义数据库函数库的C语言接口,下一节再讨论其实现。
当打开一个数据库时,通过返回值得到一个 D B结构的指针。这一点很像通过 f o p e n得到一
个F I L E结构的指针(见5 . 2节),以及通过o p e n d i r得到一个D I R结构的指针(见4 . 2 1节)。我们将
用此指针作为参数来调用以后的数据库函数。
#include db.h
p a t h n a m e , int o f l a g , int m o d e ) ;
DB *db_open(const char *
返回:若成功则为 D B结构的指针,若失败则为N U L L
void db_close(DB *d b ) ;
第 1 6章 数据库函数库 3 8 7
下载
如果d b _ o p e n成功返回,则将建立两个文件:p a t h n a m e . i d x 和p a t h n a m e . d a t ,p a t h n a m e . i d x
是索引文件,p a t h n a m e . d a t 是数据文件。o f l a g被用作第二个参数传递给 o p e n (见3 . 3节),表明
这些文件的打开模式(只读、读写或如果文件不存在则建立等)。如果需要建立新的数据库,
m o d e将作为第三个参数传递给o p e n (文件访问权限)。
当不再使用数据库时,调用d b _ c l o s e来关闭数据库。d b _ c l o s e将关闭索引文件和数据文件,
并释放数据库使用过程中分配的所有用于内部缓冲的存储空间。
您可能关注的文档
- 电算化总复习.xls
- 畜牧学总复习 最新版.doc
- 百分数应用题例3(公开课).ppt
- 百联丰系列服务器常见问题技术参考2014年11月13日.pdf
- 目标管理-李长太-2013年4月1日.pdf
- 直角三角形的总复习.ppt
- 相遇求路程的应用题.ppt
- 看图编加法应用题.ppt
- 破伤风抗毒素过敏试验2013年4月19日.ppt
- 硬笔书法专用纸,硬笔书法纸,硬笔书法笺扇形.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 《第一单元 生活中的音乐学习项目二 音乐开启心灵之窗》教案(表格式)七年级音乐人教版(2024新版).pdf VIP
- 成功标书大餐——15份浙江省自然科学基金申请书.pdf VIP
- (辽宁富士电梯)系统故障代码及说明.doc VIP
- 2025版高考政治全程一轮复习必修2第一单元生产资料所有制与经济体制第一课我国的生产资料所有制课件.pptx VIP
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案.docx VIP
- 伤口换药护理操作.pptx VIP
- 贵州01-贵州省居住建筑节能设计标准DBJ52-49-20082.pptx VIP
- 《2023年度中国展览数据统计报告》.docx
- 城市名居商住楼房地产估价报告.doc VIP
- [说明]富士变频器维修与故障处理.doc VIP
文档评论(0)