CSCI 370: Spring 2024, Project

In this course, each student is required to complete a database application project. For this project, you are required to pick a real-world scenario and build a substantial database application for it.

You need to analyze the problem, identify the domain data that can be managed by a database management system, design a relational schema for the database, and develop a user-friendly interface for manipulating the data.

When you pick an application, you should pick one that is both enjoyable and manageable to you. And your application should not be trivial. That is, when you construct an ER diagram for your domain, there should be about four or so entity sets, and a similar number of relationship sets. And you should include different kinds of relationships (e.g., many-to-one, many-to-many, etc). You can use advanced features, such as inheritance, aggregation, weak entity sets, etc, if they are needed. But they are not required.

You will only receive one mark for your project. And it is worth 10 percent in your final mark. Your project will be marked based on the novelty of your selected application domain, the logical coherence of the operations within your selected application domain, the presentation quality in your project report and the implementation quality of your project application.

In the end, you need to submit the source code, relevant database queries and a report for your project. Your report MUST include at least the following sections:

  1. Introduction: introduce the background information of your application, including but not limited to, the domain knowledge used/assumed in your project and the target user(s) of your application.
  2. Data Description: describe any relationship among the data used in your application. This description should match with your database design of the next section
  3. Application Requirements: list and explain at least three to five substantial functionalities that will be implemented in your project. List and explain as many reasonable functionalities in your selected application domain as you like. It would be the best if all your listed functionalities logically belong to the same audience group.
  4. Database Design: identify what kind of data should be collected and maintained in your selected application domain. The data should at least be sufficient to support the functionalities you intend to implement.
    Draw the ER diagram and translate it into the database schema. The database schema can be presented as sql statements (create table statements).
  5. Implementation: document which part of the application has been completed. the sample data used to test run the functionality that has been achieved and the test run result.
  6. Testing: describe the sample data used to populate your databased used in the application, and test run your application with different scenarios and present the results (and database changes) generated by your application.
  7. Conclusion and Future Work.

To make sure that you can finish your project on time, you should meet the following (tentative) milestones:


Last Modified: 8 January 2024