两种Linux小型个人数据库
Gaby and Notes-Mode Revisited
By Larry Ayers 翻译: 三皮
引言
尽管在Linux平台下有很多商业版本或者免费的SQL数据库,但是这些功能完备的大型的客户/服务器模式的数据库,对于管理一个单独的用户的数据来说,未免大材小用了。个人信息管理程序象Lotus Organizer的等早已经被主流操作系统的用户所熟悉,就象Linux下的用户所熟悉Preston Brown\s Korganizer (a QT-based Organizer clone) 和Ical (a Tcl/Tk calendar application)一样。这些数据库管理系统提供的诸如日程表、工作规划等功能,是个人信息管理主要的内容。但也因人而易:对我来说,我就很少使用日程表。但我确实有一些信息希望能更有条理的组织起来。作为Unix世界的传统信条:为特定的任务设计精而专的程序(而不是大而全)。所以我们就在本文中向您推荐两个能够帮助Linux用户合理组织和更有效的访问私人数据的数据库管理系统。
Gaby
Gaby的作者是Frederic Peters,最初它只是用GTK工具集写成的一个简单的地址簿应用程序。当时的名字叫acronym,也就是Gaby Address Book of Yesterday 的缩写。在程序经过进一步的改进以后,Frederic Peters确定了acronym为Generic Astute Base of Yesterday 的缩写。这次进一步的改进使得Frederic Peters意识到他实际上已经建立了一个简单的、可以容纳其他类型数据的数据库管理系统的框架。而名字中的of Yesterday 在我看来,实际是指:Gaby所使用的数据存储格式是以semicolon作为分隔符的ASCII码格式,而非今天的在大型数据库中通常所使用用的更加复杂、缺乏移植性的二进制格式。ASCII码格式是若干年以前流行的数据格式,但是即使如此,它仍然可以应用在大型的数据库系统中;你可以参照本报第34期有关NoSQL的文章,NoSQL就是一种使用TAB作分隔符的ASCII字符格式为其数据存储格式的。
安装完成后,可执行文件gaby实际上是一个到gbc的符号连接。执行gbc启动Gaby,其运行界面实际象个文件柜而非缺省的地址簿。Gaby可以以两种不同的视图显示用户的数据文件,这些文件通常都是保存在用户家目录的.gaby目录下的。
在最新的Gaby版本中(1998年11月下旬的0.2.3版),用户可以为人和数据库的适当的字段排序。这是一个新的、还有待完善的特性,目前与此相关的文档也很少,所以我将带你快速预览一下这是如何实现的。
一开始我们先创建一个空的目录/etc/gaby。在这个例子中,我创建了一个我们当地草场植物种类的数据库。在Gaby的源发行版中,有一个模板文件叫做desc.gtest。将这个文件复制到刚才创建的目录中,将其后缀修改成与你的数据库相关的、便于记忆的名字。在本例中为将通过键入mv desc.gtest desc.plants命令将文件名命名成了desc.plants。编辑该文件,将字段名修改成能反映你数据本质的名字。
下一个步骤就是在/usr/local/bin目录中(Gaby缺省安装到的目录)创建一个符号连接,用ln -s gaby plants将gaby 连接成plants(护着热和你需要的名字)。现在你可以通过键入相应的木好连接的名字来启动Gaby了,启动后,你就会看到一个包含有你自定义的字段名的窗口出现,你就可以在其中输入数据了。
缺省的视图格式是表单窗口,缺省的是将数据文件的第一条数据显示在窗口中。见下图:
任何数据都可以在这种视图中通过图标或菜单来进行查看、添加操作。在窗口的菜单条上有一个List菜单项,可以对任何字段实现按照字母顺序的排序。其他的一些菜单项还提供了将数据输出成LaTeX和HTML表格格式的功能。
另外一种视图格式是列表格式。这种视图可以一目了然的同时显示多条记录。
。
Gaby是以用户的共同参与和反馈为发展动力的自由软件的好范例,正是这一切自然而然的激励着开发人员对程序进行更多更好的完善。在我看来,Gaby决不会仅仅是一个功能单一的程序,用户会在的使用过程中,不断的扩展、完善出一些当初的开发者所未曾考虑到的功能,从而变得功能更加强大。
最新的Gaby发行版本可以从Gaby的Web站点上得到。
--------------------------------------------------------------------------------
Notes-mode Revisited
我记得在第22期的Linux公报中有介绍GUN的Emacs编辑器的文章,其中提到了Emacs的一个附加的模式叫做notes-mode。这个有用的编辑器扩展模块的作者是John Heidemann,它最初的动机是为了更有效的组织他的论文。这个模块的核心是一些Perl脚本集,其中一些是加在cron任务队列中的日常运行的程序(完成索引文件和实现内部连接等工作)。其他的则是完成一些time-stamp和初始化一个新的论文的功能。
在我第一次接触到notes-mode\s的功能、并得到软件时,我解开压缩包,却没能够成功的让它在XEmacs这个我最喜欢的编辑器中工作。最近,John Heidemann发布了1.16版本,这个版本终于可以在Xemacs中很好的工作了(感谢Ramesh Govindan的贡献性的工作)。从那时起我一直使用经常使用这种模式,并且从中发现了一些超越了该模块设计初衷的用途。
Notes-mode是被设计用来进行论文组织的,但是我也能利用实现对各种文章的组织管理工作。Notes-mode可以按照用户要求,每天创建一个包含所需类别的新文件。这个程序可以通过键盘实现对每天不同的类别中条目的浏览,还可以生成一个包含有与特定主题相关的所有条目的临时缓冲区。这种效果看起来就想HTML文件中使用链接一样,而不同的是没有连接标志和不需要浏览器来查看。另外一个与html文件相类似的特性就是外部文件链接。借助于从Bill Perry的W3 Emacs Web浏览器代码,一个类似于file:///home/layers/xxx.txt的文本文件可以通过鼠标或键盘被选择,目标所指的文件就会被调入Emacs的缓冲区中等待编辑。而且每个条目都支持PGP密码验证。(使用MailCrypt Emacs/PGP规范)
从某种意义上说,Notes-mode是另外一种适合于文章主题排序的个人数据库,而且在上述范围内的功能可以与Gaby相提并论。不足之处是仅对Emacs和Xemacs用户有用,而Gaby可以被任何一个有Xwin的用户所使用。它们都是基于ASCII文本的,从而保证了所维护的数据可以在任何编辑器和文本处理工具之间方便的移植。这两个工具对于任何想按顺序组织信息集的用户来说,都以相当有价值的工具。
1.16版本的Notes-mode可以从它的WWW站点上下载。多种格式的完整的文档也随软件包同时提供。
发布人:netbull 来自:Linux公报