Introduction
Introduction
Goals
Implement a multi-user relational DBMS with concurrency control
for use as a teaching tool for future DB courses. The DBMS should
support a variety of AMs and joins. It would follow the ARIES
concurrency control protocol of 2 phase locking and WAL.
The DBMS should operate as either a single user product or a
multi-user product for use with students of varied experience with
databases. Integration of Minirel with graphical tools was planned as
well.
Minirel II is the third attempt at creating an educational database. The two
predecesors were the original Minirel, upon which Minirel II is based, and
Minibase. Minibase proved too large and cumbersome as a teaching tool.
The Minirel II project is an attempt to follow through on the original goal
of establishing a robust educational database.
Starting Point
The Minirel II project was based on code that had been written earlier. Originally written in C, by Spring of 1994 the code was all converted to C++ with its OO structure. We used some elements of the old minirel project for the current version, including the design of the Buffer manager, heap file structure and catalogs. Optimizer and parser. Old minirel had no optimizer, supported only one type of index, and used a basic catalog structure. Original Minirel was single user.
Resources
23 graduate students worked on the project. The TA for Raghu Ramakrishnan
worked on the optimizer indpendently. Minirel II project used HPs (snakes)
and the GNU compilers, version 2.6.2 and 2.6.0.