This project requires creating user-defined database.
A Simplified Relational Database (draft)
1. Database definition: users are able to define the format of DB(s)--number
of fields, name and type, more importantly, links with other database(s).
For instance, stud.id=[url removed, login to view] means the fact that the field "id" in
the DB stud is the same as the "stdid" field in the DB course.
2. Database population/update: users are able to input new records, update/
delete exising records. A chain of actions could be triggered when a record
is deleted. E.g., if a student should be deleted from the stud DB, then
all records in other DB(s) related to this student should be deleted
as well, say, in the course DB. (you may embed this functionality into
the SQL manipulation language, but it is not required.)
3. Database manipulation: users are able to pose queries to the DBs by use
of a simple SQL like language--design a parser which can recognize and
carry out functionalities defined by, e.g., the following example:
SELECT [url removed, login to view] [url removed, login to view] [url removed, login to view]
FROM stud AND course
WHERE stud.id=123456789 AND [url removed, login to view] < 3
SORTED BY [url removed, login to view]
The words with upper case are keywords for this simple language.