黎鹰牧场:谁能告诉我select ,insert等 是如何实现的

来源:百度文库 编辑:神马品牌网 时间:2024/04/20 19:02:00
或是有什么办法能看到相关的代码,最好是c的

oracle,db2等数据库是怎么实现这些操作我们可都没有机会接触,就算能看到源代码也不可能看明白,太浩大了。
还是从基础的来看吧。首先你需要有数据结构的基本知识,至少得了解各种排序算法,还有B树、哈希表等。
有了这些基础后,推荐你看 Berkeley DB,你可以下载到它的全部源码和文档(核心是用C写的)
http://www.sleepycat.com/
这是一个嵌入式数据库的library,你可以通过它来写自己的select,insert,update等sql操作的实现,只需要参照它的一些例程即可,非常简单。你还可以比较在B+tree, Extended Linear Hashing, Fixed and Variable-length records, 和 Queues这四种存储方式下实现这些操作的不同性能,很有意思的。
Berkeley DB还提供了事务管理、锁管理等api,把它们用起来,结合数据库的基本理论,自己写一个数据库系统都有可能呢。

那是系统内部自动实现的,具体怎么实现,目前没有人知道