Button 0Button 1Button 2Button 3Button 4Button 5Button 6

What is LEAP?

LEAP is a relational database management system (RDBMS). LEAP supports relations, has a query language by which information can be extracted from the relations, and has a support environment for users querying the data. At such a basic level, LEAP is just like the large, complex, mission critical RDBMS offerings from Sybase, Oracle and IBM. Clearly, however, it isn't as powerful as these heavyweight offerings. LEAP is different in the sense that it was originally written as an educational tool by a student.

The query language makes LEAP what it is. It is a full implementation of the relational algebra, which is the theoretical basis for far more advanced query languages such as SQL. When studying database theory, students will generally encounter the relational algebra along with the relational calculus as means by which the behavioural component of the relational model can be implemented.

The implementation of the algebra used in LEAP is very similair to that used by many of the popular educational texts on Databases, notably: C.J.Date's "An introduction to database systems"; and S.Stanczyk's "Theory and Practice of Relational Databases". A sample session from LEAP, which uses examples from these texts, is available.

LEAP has been incorporated into courses at a number of Universities around the world. In providing students with a tool by which they can experiment with the relational algebra, a course that can otherwise be rather lacking in practical exercies, can be made far more interesting. Further information can be found in the on-line version of the user manual. Of course the user manual is included in the standard distribution which can be downloaded.

You can also see a demonstration of LEAP on the LEAP demo page.

What does LEAP contain?

When you download LEAP, you'll get:

* Full 'C' source code - well documented, well commented, and freely available under the GNU General Public License.
* Three example databases from well known educational text, including C.J Date and Stefan Stanczyk
* Full html user documentation
* Support for all popular Unix variants, including Solaris, SunOS, HP-UX, AIX, Linux and more.
* Pre-compiled 32 bit Windows 95/NT console binaries in the Windows distribution.

What is LEAP not?

The LEAP mailing list once received an e-mail from somebody involved with the PostreSQL publicity project, suggesting that LEAP was a duplication of an effort already well advanced. LEAP is most certainly not a fully fledged RDBMS, and has quite a different goal in mind to that of PostreSQL.

LEAP will always be an RDBMS geared to educational purposes. If it ever reaches a point where it offers advanced features such as locking, multi-users, transactions etc., then it will tackle it from the perspective of a teaching tool.

A reader who is after a heavy duty, free RDBMS, would be well advised to look elsewhere, such as the PostreSQL project, or the GNU RDBMS system currently under development.

Potential uses for the LEAP RDBMS

LEAP has been used, very successfully in the various courses on Databases run at Oxford Brookes University, and in an increasing number of establishments around the world. Students have used LEAP to improve their understanding of relational theory, and relational query languages. Universities as far apart as France, New Zealand, Australia, Brazil, Sweden and America have all informed me that they are using LEAP.

I am aware that some Postgraduate work with LEAP is going on at a number of universities, but I have no further information at this stage. As soon as I know, I'll update this page.

LEAP includes the full C source code, it's entirely free, which makes it an ideal tool for more detailed study of database system theory.

The history of the LEAP RDBMS

I originally wrote LEAP as an undergraduate project at
Oxford Brookes University. Whilst my supervisor jokingly described my attempt at implementing an RDBMS as due to annoyance with Oracle, it was more of an interest in the internals of database systems that spurred the particular project.

The original ideas I had were far in excess of what was practical in the time available. Therefore, I whittled it down to a suitably small subset. LEAP had to be implemented on the resources most appropriate, and a PC was convenient and available. Pascal licenses were also available, and it just seemed to make sense to use them. Once LEAP was "finished", I released a preliminary DOS only version onto the Internet. I was then asked to present it to the 1995 Database course students, as a tool they might want to use. It was well received. Some adventurous students used it (buggy as it then was) to prove that their course-work on relational algebra was correct. (Incidentally, they received an extra mark for the effort.)

Following submission and graduation, I continued to work on LEAP. Several incarnations later LEAP is used by quite a few people worldwide (safely into the 100's of sites), and several establishments are actively investigating how to expand it further. It has been completely rewritten in 'C', and supports many more operating systems (principally Unix implementations). It is also now freely available under the terms of the GNU General Public License.

A book has recently been published to accompany the course at Brookes,
Theory and Practice of Relational Databases. There's a chapter on LEAP, as well as a solid grounding in relational theory and practice. Users are encouraged to consider buying a copy to help assist in developing LEAP further. Find out more at: http://www.theorypractice.org

If you're interested, I maintain a personal website at
www.leyton.org, including various technical writings at www.leyton.org/weblog. I've recently formed my own consulting company, so am always interested in hearing about project work.

© 1995-2005 Richard Leyton Contact