您的位置主页 > MYSQL

用双向链表实现数据库的逻辑连续(图)

摘要: 针对当前网络数据库存在的记录操作连续性的问题,本文利用双向链表的原理,避开了常规的思考方法,成功的实现了数据记录的逻辑连续,很好解决了记录操作连续性的问题。同时给出了用服务器端脚本PHP利用此原理操作MySql数据库的实例。

一 问题的提出

信息就是数据,以提供信息和信息交互为主的网站必然离不开数据库的支持。比如常见的论坛、新闻发布系统都是完全基于数据库的,所有的程序提供给用户和管理者的只是一个操作界面,用户和管理者只要通过这个界面就可以实现对数据库中的数据进行添加,编辑和删除等操作。

对于数据库中的每条数据记录,我们都会给它加上一个唯一的标识(ID)以区别于其它的数据记录。为了方便用户对数据记录信息的查看和浏览,程序上往往提供给使用者可以直接从本条记录跳到下一条或上一条记录的功能。而这种功能正是基于ID的增加和减少来实现的。对于ID连续的数据记录这种功能的实现没有问题;然而,对于数据库中的一些数据被删除或丢弃后,相应的ID就不存在了,如果还使用这种方法就会出现大量空记录的问题。因此如何在ID不连续的情况在实现每条记录上下自由跳转,正是本文要解决的问题。目前,已经有一些解决这种问题的方法,常用的是每次出现数据记录ID不连续的时候,对数据进行再次排序,这种方法在数据量很大的时候系统的工作量是非常惊人的,这也是方法的最大缺陷。利用双向链表就避开了上面常规方法隐含的问题,并且不强求数据记录ID的连续,只是使它们在逻辑上的连续以达到我们的目的,下面就让我们先来看看双向列表的原理。

二 双向链表的原理

在数据结构中,双向链表的存储结构如下图一所示:



图一