Coral Database Project
The objective of the CORAL project is to develop a robust and efficient
deductive database system, and to investigate its use in various
application domains. Several of the algorithms underlying the Coral
system have been developed by members of the group during the duration
of the project (since 1988).
Coral is a deductive system which supports a rich declarative language,
and an interface to C++ which allows for a combination of declaritive
and imperative programming. The declarative query language supports
general Horn clauses augmented with complex terms, set-grouping,
aggregation, negation, and relations with tuples that contain
(universally quantified) variables. A CORAL declarative program can
be organized as a collection of interacting modules. The CORAL
implementation supports a wide range of evaluation strategies, and
automatically chooses an efficient evaluation strategy for each module
in the program. In addition, users are permitted to guide query optimization,
if desired, by selecting from among a wide range of control choices at
the level of each module.
The CORAL system provides imperative constructs such as update, insert
and delete rules. CORAL also has an interface with C++, and users can
program in a combination of declarative CORAL and C++ extended with
CORAL primitives. A high degree of extensibility is provided by allowing
C++ programmers to use the class structure of C++ to enhance the CORAL
implemenation. CORAL provides support for both main-memory and
disk-resident data. Disk-resident data is supported using the
storage mananger, which also provides transaction management in a
The current release of Coral is Version 1.5.2, released November 26, 1997.
To install Coral on your system, then grab the tar file you want.
The nobin version contains only the source code, requiring
you to compile Coral. The other versions include pre-made binaries for
the indicated machine type.
Click on a file to grab it:
Kent Wenger / email@example.com