This is a brief introduction to the system. Please read it
in its entirety to get a better understanding of the
system. Its changed somewhat since the last release, so
everybody will find something important...

Introduction
============
This is a beta-release (Version 0.9) of LEAP, an
extendable relational algebraic processor. 

LEAP has been written for environments capable of
supporting MS-DOS, and provides basic relational database
management system functionality. The system offers a
relational algebra based command interpreter, support for
relational structures, indexing using b-trees, hashing
tables and extensive documentation. A source code level
framework for enhancement is incorporated for interested
programmers.

LEAP has been successfully used as a teaching aid in a
course in Databases at Oxford Brookes University, England.
Students have been encouraged to use the system to
experiment with the relational algebra, and this has
proved very successful and enjoyable.

The source code is not presently available. However, if
you are interested in the source code, please contact me
directly to discuss your requirements.

Its assumed that the user knows about relational algebra,
but if not then there are some good books on the subject.
All (good) books on databases (well, database systems),
should explain relational algebra, but I'd recommend the
following for the interested:

"Theory and Practice of Relational Databases", by Stefan
Stanczyk, published by Pitman in the U.K. - ISBN 0-273-
03049-3

The (small) database I have included with this
distribution uses examples taken from this book. There are
also samples from C.J.Date's Database Systems book
(Edition 5), and one or two others.

Purpose
=======
What is the purpose of LEAP? It was written essentially to
satisfy my own curiosity with regards to Database systems.
The system sort of moved on from there - It became
apparent in the early stages that the relational algebra
would have to be the query language and as such has
ensured that LEAP has academic ties, i.e. it'll not be of
significant interest to anybody outside of the relational
algebra area, i.e. Students (at whatever level) of
databases.

Surprises
=========
I was somewhat taken aback (perhaps its because of my
inherent English modesty) when my lecturer, Stefan
Stanczyk, decided that he'd like to make use of LEAP in
the forthcoming run of his Databases course at Oxford
Brookes University.

LEAP, he felt, would enable students to get a better feel
for the relational algebra. Until this run of the course,
students had to make do with pencil and paper, and SQL for
the practical element. With LEAP the students would be
able to use a computer to aid their understanding of a
vital component of the theory which accompanied databases.

Dr Stanczyk invited me to present the students with LEAP.
As a result, LEAP was placed on the campus wide PC network
for their use. Last week (17th May, 1995), I stood up and
gave my first proper 'lecture' if you like.

Essentially, I presented to the students a brief revision
of the relational algebra, which had been covered the
previous week. Following this, a 15-20 minute
demonstration of the operation of LEAP on a portable
computer (connected to an OHP tablet). A brief summary of
the architecture underlying LEAP was also requested, and a
quick discussion on the evaluation of expressions.

The entire presentation lasted the best part of an hour. I
felt it went well. Indeed a number of students came up to
me after the lecture and thanked me, and the general
reception (relayed to me through friends) was that it was
well received and enjoyable.

Of course, its yet to be seen how useful it will actually
prove to have been, but I'm confident that the students
have gained something.

In addition to the lecture, I produced a document which
serves as a brief user guide to LEAP. This document is
included in this distribution to fill the largest gap in
the previous distributions. (If anybody is interested, I
can also provide a powerpoint slide file, containing my
slides and notes).

I'm also in the process of writing an academic paper on 
LEAP, which I hope will be published in due course. This is 
another of Stefan's little suprises. 

Thoughts
========
Following the lecture, I'm hopeful that perhaps other
sites may be interested in using LEAP for educational
purposes, yet I'm stuck as to how to distribute it more
widely. The internet is the only medium that will really
work. Ideas are welcomed.

Conditions of use
=================
This version (0.9) is a beta-release of the software, it
still contains some bugs, but is fairly sturdy. I think
the majority of bugs have now been ironed out. I've decided
for my own safety to include a substantial clause on the
condition of use. Please see the accompanying
documentation for this. In using LEAP you're assumed to
agree to this. Essentially (but see the entire statement)
I will not accept responsibility for its use.

Documentation
=============
This version of the system has substantially more user
documentation than previously. Hopefully it will serve to
explain how to use the system in more detail, and enable
more constructive criticism. My dissertation report, which
documents at great length, the design and implementation
of LEAP, is not currently available. I'm wary about making
it available, but interested parties, please contact me
directly.

I've included the documentation as a Word 6 document, raw
text format, RTF, and as a postscript file. If you're
interested, Microsoft have just released into the public
domain a Word 6 file viewer, which can be downloaded from
any number of ftp sites. Microsoft's home page contains
links: http://www.microsoft.com/ Of course, you'll need
Windows to run it...

Source code
===========
The source code is not currently available. I'm still
unsure as to what to do with it. If you're interested in
receiving the source, please get in touch with me so we
can discuss it in more detail.

Using LEAP
==========
Full instructions on starting LEAP are included in the
documentation included in the distribution. The file
leap.txt also contains brief instructions on starting the
system.

Contact details
===============
Please read the file contact.txt for my contact
information.
