Abhinav Prathivadi
Prof. Ray Larson
Sep 25th, 2008
Personal Database Project Design
Throughout the history of the Internet, the communications platform has produced many
revolutions and has impacted other industries surrounding it by largely creating a level
playing field. The academia has changed in profound ways in the last decade and the
Internet has been pivotal in revolutionizing the way students have exchanged
information, ideas and the interaction between teachers and students. A challenging task
many people from the academia face is the approach towards Internet many schools and
universities have taken over the last few years, automating most of their processes
including student data and billing for students. The most important aspect of student data
is the transcript (the grades associated with it) and an online integration of student grades
and courses within an e-grade book is the purpose of this project and in the process
streamline the accessibility and build an application to scale over many universities.
This grade book is designed to streamline the process of entering and managing grades
from a student as well as a teacher perspective. With a form based reporting system and
tabulation of data online, updates to students and parents is very effective and convenient
method of reporting grades. The purpose of this paper is to design a robust back-end
capable of sustaining large amounts of data load as the grading processes of many
universities and schools are time and data intensive work. By focusing on flexible and
easy data entry into the gradebook, a lot of time is saved that can be productively put in
other aspects of classroom interaction. Although the various entities have been
documented (see next few pages) changes are inevitable as bottlenecks will be noticed
Prathivadi, Abhinav – Database Project Design [Inf 257] 2
and optimized to a high level of efficiency in the coming months. The idea of starting off
with a rough sketch of the system helps shape the direction of the database system, and
by gradually exploring different aspects of grading, various perspectives will emerge and
subsequently the gradebook will evolve eventually to a scalable solution for universities
to use.
Students in many Universities and colleges are eager to know their grades almost
immediately after submitting their assignment and the graders are overwhelmed with
paperwork amounting to hundreds of papers per assignment per class. Although the
teachers used to take a decade back, the prospect of a web based grade book is exciting
because of the potential communication platform it can setup between students and
teachers.
Although numerous grade books exist online, most of them are “downloadable”
desktop grade book software that has become a pain for the users to use, as web based
products are kicking into the industry. With the advent of Google Docs, Windows Office
Live, etc. the academia has largely migrated to a web based software world where
collaboration and search for information is moving predominantly online. The student –
teacher collaboration outside the class room involves the management of numerous
assignments and exams and to organize the grades has been a challenge for many years.
The academia has developed over a period of time various in-house database systems like
bSpace, etc, but an integrated free solution for teachers, students and schools of all sizes
and domains is non existent and this project hopes to fill that gap and build a scalable and
Data Dictionary
The entities involved in the database are
Table: Students
*Student_id Type: int (auto-increment) Example: {1,2,3…123,124,125….
∞}
Description: student id associated with each student. It is unique per
student and is a primary key
Table: Student_Logins
*Student_id Type: int (auto-increment) Example: {1,2,3…123,124,125….
∞}
Description: student id associated with each student. It is unique per
student and is a primary key
Table: Teacher_Logins
*Teacher_id Type: int (auto-increment) Example: {1,2,3…123,124,125….
∞}
Description: teacher id associated with each teacher. It is unique per
teacher and is a primary key
Table: Teachers
*Teacher_id Type: int (auto-increment) Example: {1,2,3…123,124,125….
∞}
Description: teacher id associated with each teacher. It is unique per
teacher and is a primary key
Table: Assignments
*Assgn_id Type: int (auto-incremen) Example: {1,2,3…123,124,125….
∞}
Description: id of the assignment (unique – primary key)
Table: Classes
*Class_id Type: int (auto-increment) Example: {1,2,3…123,124,125….
∞}
Description: class id associated with each class. It is unique per
class and is a primary key
Table: Student_Grades
G_id Type: int (auto-increment) Example: {1,2,3…123,124,125….
∞}
Description: grade entry id; unique for each entry of an assignment
Table: Student_Attendance
*Class_id Type: int (auto-increment) Example: {1,2,3…123,124,125….
∞}
Description: id of the course (unique for each class)
hh:mm:ss
Description: date this entry was updated/added
Table: Class_Enrollment
Student_id Type: int (auto-increment) Example: {1,2,3…123,124,125….
∞}
Description: student id associated with each student. It is unique per
student and is a primary key
* - primary key
Prathivadi, Abhinav – Database Project Design [Inf 257] 8
ER Diagram of Gradebook