Rekall does not itelf incorporate a database, as, for example does Microsoft Access with the Jet database engine. Although Rekall comes with an XBase library (which comprises the actual XBase library and a wrapper library which provides an SQL interface), this is not part of Rekall, any more than a MySQL or PostgreSQL server is. Hence, Rekall must be told how to connect to a server database before it can do anything useful.
From Rekall's point of view, everything starts at a single file which by has the extension .rlk ( For historical reasons, the extension .kdb is also available, but preferably should not be used. ) . This file is a simple text file, which, as of Rekall 1.0.5 is in XML format (prior versions used a bar-delimited file, but this is automatically converted). The file only contains information about connections to server databases; in this respect it is nothing like the .mdb files created by Access. You can copy the file or examine it with a text editor; you can even edit it by hand.
Rekall takes the view that this file is what the end-user thinks of as the database. Just as a user can open a word processing document in a word processor, or a speadsheet document in a spreadsheet program, this file can be thought of as a database document that is opened by a database program. Of course, the real server database may be being accessed from lots of places (over a network, through a web server, whatever). Actually, the Rekall database file could be opened by several instances of Rekall (for instance, if it is stored on a file server), but all issues relating to multiple concurrent access to data is handled by the server database.
The database file contains information about one or more server databases. Usually, it will contain information about a single server database, but there is no limit. In fact, if you have more than one server database, it is even possible to design forms that access data from more than one server database (but more on this later).
The Server Dialog