TEAM: Brandon Clarke, Ryan Taylor, Matthew Getachew
This project implements a grade book database to manage student grades across various courses taught by a professor. The database supports multiple grading categories, dynamic assignment allocations, and comprehensive grade computations.
- Course Management: Track courses along with their department, number, name, semester, and year.
- Grading System: Flexible grading system based on participation, homework, tests, and projects.
- Dynamic Assignment Handling: Add or modify assignments and their grading weights dynamically.
- Grade Calculations: Compute average, highest, and lowest scores for assignments, and individual student grades with options to drop the lowest scores.
- MySQL Server (Version 5.7 or newer)
- MySQL Client or any compatible database management tool
- Clone the repository:
git clone https://github.com/DevKingB/DatabaseProject.git- Navigate to the project directory:
cd gradebook- Create the database and tables:
mysql -u username -p < sql/create_tables.sql- Insert initial data
mysql -u username -p < sql/insert_data.sqlTo interact with the database, use the provided SQL scripts for various operations:
Viewing Tables: 'mysql -u username -p < sql/view_tables.sql' Adding Assignments: Edit 'sql/add_assignment.sql' as needed and run:
mysql -u username -p < sql/add_assignment.sqlModifying Category Percentages: Edit 'sql/change_percentages.sql' and execute:
mysql -u username -p < sql/change_percentages.sqlUpdating Scores: For adding points across different scenarios, use:
mysql -u username -p < sql/update_scores.sqlTo execute the test cases:
- Run the test script to validate all functionalities:
mysql -u username -p < sql/run_tests.sql- Check the test results:
mysql -u username -p < sql/view_test_results.sql