计算机是怎样在数据库里寻找信息的?
生活中人们使用数据库时,大多数都是要查询信息的,这就涉及数据库的另外一个重要功能:索引。索引大家都不陌生,最常见的索引就是课本上的目录,我们可以通过课本的目录快速地找到对应的内容。比如,要从数学课本上找到关于函数的定义,需首先打开目录,找到函数那一章节,再根据目录上的页码去翻课本。这个过程和数据库中索引的使用很相似。
以班级数据库为例,来看看我们是如何统计全校陈姓同学数量的。为了快速找到所有姓陈的同学,我们可以根据数据库中的姓名建一个索引,索引的结构就类似于课本的目录,
表中的省略号表示还有很多其他同学,这里只是一个大概的结构。通过姓名建立的索引中有两列,一列是根据字典顺序排列后的姓名,另一列是对应同学的编号,用来找到他在数据库中的位置。在这个索引中,我们找到第一个姓陈的同学后,就能快速地找到所有姓陈的同学并计算数目了。再比如,我们想知道张同学的位置,同样可以通过查询这个索引表,得到张同学的地点编号(4)。之后,我们就可以通过这个地点编号快速从初三年级(2)班数据库表中找到张同学的记录,并读出其位置是(2,5),即:第2排左边第5个位置。怎么样?通过建立索引,查找速度是不是快了很多!
这里讲的数据库是存在于计算机上的,但是我们同样可以把它放到纸上,在自己的本子上为班级建立一个数据库。结构可以参考文中的例子。同时,也可以为这个班级数据库建立索引,查询一下坐在第3排右边第2个位置的同学是谁。
【发散思维】如果没有计算机数据库,有多少行业会受到重大影响?