The objective of this assignment is to write several application
programs to access the database you built for homework 6.
You may use Java (with JDBC) or Python. I've put some
references and code samples on the course home page.
Try to write programs that demonstrate how you envision your
database being used. You should include queries, insertions,
and modifications among your options. You can use my sample
programs as a guide to get started.
A minimum of 5 programs is required. You don't need to
provide access to everything in your database, but there should be
at least three types of query, one insertion, and one
modification. A few specific requirements:
1. Some of the programs should be interactive; that is, accepting
user input.
2. At least one of the programs should perform multiple
operations, performed as a single transaction.
3. At least one of the queries should display data in a form
different from the simple 2-d table that is used by the mysql
client program. (For example, the hierarchical structure
displayed by my ClassLists program.)
4. At least two of the queries should access data from more than
one table.
5. At least one query should use aggregation or grouping.
You may also satisfy the requirements of the assignment by writing a menu-based or GUI-based program which gives the user the option of five different database operations, as described above.
For the insertions and modifications, provide some sort of
acknowledgement so the user can see that the operation has been
completed. For example, if a tuple is modified, you could
display the new version of the tuple.
Handle errors that occur as a result of data entry. Include
some options that could lead to a violation of your primary or
foreign key constraints. The application should display an
appropriate message if an error occurs.
Don't ask your user to enter SQL code.
Submit your program(s) using handin. This is assignment 7.