- SQL Databases — separate file
- xBase Databases — separate file
- Small, casual, and front-end databases — this file
Small, casual, and front-end databases:
Table of Contents:
- knoda (kde/qt — front-end)
- The Kompany's Rekall (front-end)
- Software AG's ADABAS D as packaged inside Sun's Star Office
- OpenOffice.org Base
- MDBtools (Parser for .mdb files)
- pxtools (export Paradox data to MySQL, PostgreSQL, CSV or XML)
- Kexi (front-end)
- HyperSQL (Web-based SQL front-end)
- Glom (front-end)
- GNOME-DB (database-access component for GNOME)
- GNU gdbm (engine, no UI)
- Berkeley DB (engine, no UI)
- Emacs/XEmacs notes-mode
The redoubtable Christopher Browne has comprehensive pages on Linux databases as well as on practically anything else you want to know about Linux software: http://cbbrowne.com/info/rdbms.html
Qddb is powerful database software. Using Qddb, you can quickly and easily create database applications. For example, using nxqddb(a program distributed with Qddb) you can create a complete database application in less than five minutes. Larger applications can also be developed using Fx, a powerful Tcl/Tk toolkit. If you're looking for a way to manage database information over the web through a CGI interface, consider using Hx -- another toolkit that comes with the Qddb distribution.
This is an MS Access-looking application with support for tables/queries/forms & reports - definitely has potential, and supports multiple databases, MySQL, ODBC, etc.
Rekall is a Qt3/KDE front-end query/forms tool for sundry
ADABAS D as packaged inside Star Office
ADABAS D as packaged inside Sun's Star Office (Software AG; proprietary)
Quoting the FAQ:
Q. Where is the StarBase database? There is no button to start it even though it is listed in the "Help" section of StarOffice. What database is included in StarOffice?
A. StarOffice 7 Office Suite includes Adabas D; it no longer includes StarBase. StarOffice includes ODBC and JDBC connectivity, allowing access to all important data sources. You may connect to another database via an ODBC/JDBC driver that will be included with the database itself.To create a new db with StarOffice 7 using AdabasD or another db server via ODBC or JDBC, use the Tools, Data Sources Menu. For example, using AdabasD, from the Tools, Data Sources, Administration Dialog,With this client you are able to add, edit and remove data to the database, create SQL queries and database forms. A report generator is also included.Depending on the size of your planned database you can also use a StarOffice spreadsheet as database source. StarOffice 7 allows the use of the spreadsheet table as database tables. Just add the spreadsheet to the data sources using the Data Source Manager under the Tools menu. Adabas D is a powerful database manufactured by Software AG. The bundled version is limited to three concurrent users. Customers deciding to upgrade their Adabas D database may contact Software AG directly.
Note: Circa 2001, house SAP AG bought ADABAS D (which was one of the databases underlying the SAP R/3 ERP system) from Software AG, changed its name to SAP DB, and transformed it to open source under the GNU GPL. Also, in mid-2003, SAP AG announced an agreement with MySQL AB to market and sell SAP DB on its behalf. At that time, MySQL AB announced the renaming of the product yet again, to MaxDB.
It's uncertain whether Sun Microsystem will continue to bundle ADABAS D / SAP DB / MaxDB in future Star Office versions — or in OpenOffice.org, for that matter (given the licensing change). However, the main and possibly sole bundled database in future versions of both office suites seems very likely to be HSQLDB, as detailed in the section of this page about OpenOffice.org Base.
OpenOffice.org Base (beta)
Many people seem unaware that the current (a/o early 2005) OpenOffice.org ("OO.o") v. 1.1.x suite includes a general-purpose database access facility (called the "data source" function; "Data Sources" on the Tools menu), able to use practically any external database, including xBase, MySQL, PostgreSQL, Oracle, DB/2, or any database capable of being reached via standard middleware such as ODBC, JDBC or (on the Windows version) an ADO driver.
People who find it are often surprised to discover that this facility is amazingly easy to use — for browsing database tables, creating them, doing simple GUI-based searches and queries, and creating/using data entry forms using OO.o's own forms designer.
However, the resulting modular setup leaves OO.o 1.1.x with only rudimentary reporting abilities, and any actual database records you create (as oposed to forms and data-using documents) exist within an entirely separate database program's central datastore — and thus is not OO.o "self-contained" data in OO.o datafiles, unlike all other such data.
So, starting with the upcoming 2.0 release (and its prerelease betas), OO.o will include an integral, embedded database, HSQLDB, an existing open-source SQL database written in Java.
The HSQLDB pages are sadly uniformative about this point, but fortunately for the open-source world, HSQLDB functions perfectly on the all-GPL "Kaffe" Java runtime engine ("JRE"). It does not, as the Web pages would lead you to believe, require Sun Microsystems's proprietary J2EE v. 1.4 (or later) JDK, or earlier versions of the same proprietary JDK if recompiled.
Note: Kaffe is used as the Java runtime in FSF's "gcj" architecture. Therefore, unlike the general run of Java codebases, HDSLDB will run without a hitch on just about any Linux distribution, without separately installed proprietary add-ons.
OO.o 2.x's HSQLDB component will embed all database information inside the regular OO.o datafiles, and thus will be "self-contained" in the way casual users would expect. This tight integration is expected to allow and encourage much better reporting and query functions in various types of OO.o data: You will be able to hand someone an OO.o file, and all database forms, reports, and queries will be conveyed along with it.
A variant of this software is obviously slated to appear in the simultaneously released Sun Microsystems Star Office version (v. 8?), as "StarOffice Base", but I don't have details of how it will differ and whether Star Office will cease including ADABAS D (aka SAP DB, aka MaxDB), at that time.
There remain serious performance concerns with HSQLDB, not to mention the fact that many platforms lack any JRE, including Kaffe. Marco Fioretti has an excellent article on this situation, urging (instead) that OO.o adopt an embedded variant of SQLite with an added "SDBC" intermediate layer, instead. OO.o leadership are reportedly considering this, but currently have it slated for consideration only in a post-2.0 release.
novinyl -- small flatfile database
About: Novinyl is a lightweight desktop database for KDE. It only supports flat data, no SQL or even simple linked data. Its original purpose was to store music collections, but as you can see in the screenshots it's useful for other kind of data as well.
Gaby is a small personal databases manager for Linux using GTK+ and Gnome (if available) for its GUI.
It was designed to provide straight-forward access to databases a 'normal' user would like (addresses, books, ...) (see the descfiles page) while keeping the ability to easily create databases for other needs. On a technical side it was designed with extensibility in mind and thus use relies a lot on plug-ins; and an extension language not unlike The Gimp's script-fu is available (an embedded Python).
The MDB Tools project is a effort to document the MDB file format used in Microsoft's Access database package, and to provide a set of tools and applications to make that data available on other platforms.
Specifically, MDB Tools includes programs to export schema and data to other databases such as MySQL, Oracle, Sybase, PostgreSQL, and others.
Also, included is a SQL engine for performing simple SQL queries. The 0.5 release includes an updated GUI interface (screenshot is available here). A sparse but functional ODBC driver is included as well.
MDB Tools currently has read-only support for Access 97 (Jet 3) and Access 2000/2002 (Jet 4) formats. Access 2000 support is a recent addition and may not be as complete as Jet 3 support.
Write support is currently being worked on and the first cut is expected to be included in the 0.6 release.
The pxtools are a set of tools to convert a Paradox-database into a SQL-database (MySQL, PostgreSQL), CSV or XML.
It is written from scratch and has no external dependencies.
Kexi is a integrated environment for managing data. It helps creating databaase schemas, inserting, querying and processing data.
As Kexi is a real member of the KDE and KOffice projects, it integrates fluently into both. The report generation for instance is done by reusing the well known and well-tried Kugar report generator component of the KOffice suite, instead of reinventing the wheel over and over again.
Another example for the integration into the whole KOffice suite is that Kexi can be used as a data provider for mailmerge in KWord.
HyperSQL is an interoperability layer that streamlines the construction of query interfaces to remote relational databases. It takes advantage of standard Web browser support, automatically generating forms- and hypertext- based interface screens. Since HyperSQL hides all details of SQL query generation, it is ideal for creating interfaces targeted at non-computing experts such as scientists or business users. HyperSQL is intended to run on any UNIX or MS Windows computer and is location independent -- it can reside on the database machine, the user's desktop, or any intermediary server.
Glom is a GUI that allows you to design table definitions and the relationships between them. It also allows you to edit and search the data in those tables, and to specify field values in terms of other fields.
The design is loosely based upon FileMaker Pro, with the added advantage of separation between interface and data. It attempts to provide a simple generic framework sufficient to implement most database applications. These systems normally consists of lots of repetitive, unmaintainable code.
Glom-specific data such as the relationship definitions is saved in the Glom document. Glom re-connects to the database server when it loads a previous Glom document. The document is in XML format.
Glom uses the PostgresSQL database backend but it can not edit databases that it did not create, because it uses only a simple subset of Postgres functionality.
Development is at an early stage, so it's not a complete database solution yet. The following future functionality should complete it:
- Virtual view fields (e.g. 'show the current price of this product in this field').
The GNOME-DB project aims to provide a free unified data access architecture to the GNOME project. GNOME-DB is useful for any application that accesses persistent data (not only databases, but data), since it now contains a pretty good data management API.
GNOME-DB consists of the following components:
- mergeant: Front-end for database administrators and database application developers.
- libgnomedb: Database Widget Library. These widgets are integrated with the latest versions of glade.
- libgda: data abstraction layer. It can manage data stored in databases or XML files and it can be used by non-GNOME applications.
GNU dbm (gdbm)
GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines.
The latest version of gdbm can be found in the /gnu/gdbm/ directory on one of the GNU ftp mirrors.
Berkeley DB, the most widely-used developer database in the world, is open source and runs on all major operating systems, including embedded Linux, Linux, MacOS X, QNX, UNIX, VxWorks and Windows.
Berkeley DB is available with the following feature sets to meet your application's needs.
- Berkeley DB Data Store: Single writer, multiple readers
- Berkeley DB Concurrent Data Store: Multiple writers and readers
- Berkeley DB Transactional Data Store: ACID transactions and recovery
- Berkeley DB High Availability: Replication for high availability
Berkeley DB delivers the core data management functionality, power, scalability and flexibility of enterprise relational databases but without the overhead of a query processing layer. Combined with the stability and lower support cost of open source code, Berkeley DB offers many advantages, including:
- Zero administration cost — eliminates the need for a DBA;
- Smaller footprint (less than 500Kb);
- Simplicity of integration into an application;
- More speed and higher performance;
- Less complexity and more reliability.
Berkeley DB is distributed under an open source license that permits its use in open source applications at no charge. Proprietary vendors can purchase a proprietary license for Berkeley DB from Sleepycat Software.
Notes-mode is an indexing system for on-line note-taking. Notes-mode is composed of two parts, the visible part, a major-mode for emacs to aid note-taking; and the invisible part, scripts which periodically index your notes for you.
Note that notes-mode provides tools to index your notes, not to search them. (Other existing tools such as `grep', `agrep', and `glimpse' already allow file search.)
A digression about indexing vs. searching: Indexing in this sense means organize them according to categories you give, while searching looks through all text for arbitrary strings. Drawing on the World Wide Web for examples, Yahoo (`http://www.yahoo.com/') is an index, while Alta Vista (`http://www.altavista.digital.com/') is a search-engine. In (potentially) more familiar terms, the yellow pages (1) are an index, while directory information (411 in the USA) is sort of a search-engine.