Menu:

CSCIX370: Database Management (Spring 2014)

Project Code Templates:

A courtesy of Prof. John Miller.

Project

Class

Description

1

Table.java

This class implements relational database tables including attribute names, domains and a list of tuples. Five basic relational algebra operators are provided: project, select, union, minus and join. The class also provides insert data manipulation operator.

1

String2Type.java

This class provides a static method for converting a String into any type that has a constructor which takes a single String as an argument (e.g., Integer (String s)).

1

KeyType.java

The KeyType class provides a key type for handling both non-composite and composite keys.

1

MovieDB.java

The MovieDB class makes a Movie Database. It serves as a template for making other databases.

2

FileList.java

This class allows data tuples/tuples (e.g., those making up a relational table) to be stored in a random access file. This implementation requires that each tuple be packed into a fixed length byte array.

2

Conversions.java

This class provides methods for converting Java's primitive data types into byte arrays.

3

BpTree.java

This class provides B+Tree maps which are used as multi-level index structures that provide efficient access for both point and range queries.

3

LinHash.java

This class provides hash maps that use the Linear Hashing algorithm. A hash table is created that is an array of buckets.

3

ExtHash.java

This class provides hash maps that use the Extendable Hashing algorithm. This implementation requires that each tuple be packed into a fixed length byte array.

4

TestTupleGenerator.java

This class tests the TupleGenerator on the Student Registration Database defined in the Kifer, Bernstein and Lewis 2006 database textbook (see figure 3.6). The primary keys (see figure 3.6) and foreign keys (see example 3.2.2) are as given in the textbook.

4

TupleGenerator.java

This interface can be used for generating tuples to populate a database.

4

TupleGeneratorImpl.java

This class is used to populate a database (collection of tables) with randomly generated values that satisfy the following integrity constraints: domain, primary keys and foreign key constraints.