Summary: | When information is stored in a computer it can usually be organised in many different ways. If the information is used for a number of different purposes the ideal organisation is not always obvious. It will depend on how often various parts of the data are used, how often they are changed, and the amount of data taking part in each transaction. It may be difficult to predict these parameters in advance, especially in data-base applications where the pattern of use may change as time goes by. Ultimately, one can visualise systems which can automatically choose the optimum can substantially assist in the representation, or choice. A step in which this direction, which could itself find immediate application, is to find a practical way to tailor programs to a particular data organisation. The thesis describes an experimental system which does this for a limited range of programs, and the work which lead up to it. Both data retrieval and simple updates are considered. One prerequisite is a method of writing the program so that it does not depend on the way that the data is stored. A number of data-base systems achieve this independence by describing the data as a collection of relations. These systems and the background to them are reviewed. The experimental system is loosely based on the use of relations, but some modifications have been made to make the processing simpler and so that the characteristics of the data organisation can be described. The system incorporates the representation into the program and produces a tailored version which is expressed in abstract, Algol-like code. The result is intended to be similar to code which a human programmer might write in similar circumstances, but as far as possible ignoring the details of any particular implementation.
|