Linux 版 (精华区)
发信人: howdoit (教练让我上场!!!), 信区: Linux
标 题: 两种Linux小型个人数据库
发信站: 哈工大紫丁香 (Tue May 18 08:46:21 1999), 转信
《Linux公报》……让Linux更富魅力!
Gaby and Notes-Mode
Revisited
两种Linux小型个人数据库
ByLarry 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站点上下载。多种格式的完
整的文档也随软件包同时提供。
Last modified: Sun 29 Nov 1998
版权所有 (C) 1998 NJLUG
出版于第35期《Linux公报》1998年12月 中文版第二期
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.337毫秒