Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7642637
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T09:14:24+00:00 2026-05-31T09:14:24+00:00

I am working for a K-12 school and I am developing a gradebook system.

  • 0

I am working for a K-12 school and I am developing a gradebook system. The existing gradebook system that we use which I also developed is based on Excel with VBA. It’s always a nightmare for me to consolidate 400+ Excel workbooks every end of term. During the summer break, I’m planning to put all data in a database for easy management and stuff.

My problem is this:

For a computation-intensive application like a gradebook, is it good to store the computations in a table field or is it better to ONLY store the raw data and do the computations only on the frontend?

The way the Excel gradebook system works is like this…

  • Teacher records each score for each assessment of each student in the form of score / highest possible score. (e.g. Quiz 1 = 5/10, Homework 1 = 20/25, etc.)
  • The scores will be calculated as percentages and summarized per component. “Component” means Quiz, Homework, etc. So there will be something like “Quizzes Average = 90%, Homework Average = 80%, etc.“
  • Different subjects will have different final grade breakdown like “Science = 50% Quizzes + 50% Homeworks, Math = 60% Quizzes + 40% Homeworks“.
  • Then, the general average grade of each student is computed by getting the average of all subjects.

Everything above is very easy to make in a spreadsheet but I don’t know how to implement it in a database.

As of the moment, I’m thinking something like having a table where all assessments are recorded like this:

tbl_scores
    id
    student_id
    term_id
    subject_id
    component_id
    assessment_id
    raw_score
    highest_possible_score    #not sure about this cause this can be implied from assessment_id

Would it be useful to store the computations (percentage for each score entry, component average, subject average, general average, etc. in the database) and use stored procedures and triggers to update them when a new score comes in?

Or, is it better to just store the raw scores and calculate everything ONLY on the frontend? Will this option be faster than the first one knowing that the SELECT queries here will really be more complex due to subqueries?

By the way, I’m planning to use PostgreSQL for this.

Thanks in advance for any advice.

DashMug

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T09:14:26+00:00Added an answer on May 31, 2026 at 9:14 am

    400 students, that is peanuts for an RDBMS that is designed to handle millions of records. You need not worry about performance.

    I have seen nothing in your description that PostgreSQL could not do in simple queries. Store only the necessary information and calculate the rest. Also, do not add a redundant column highest_possible_score to your table tbl_scores if that information is in the linked table assessment already. That would do more harm than good.

    If (and only if) you should later find that a query is too slow, you can always use materialized views (write the output of a query to a table, recalculate that table after changes to the base data.)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've been working on a school assignment that makes pretty heavy use of vectors,
I am working on a school assignment that requires me to be able to
I'm working on a project for school, and I'm implementing a tool which can
I am working for a project at school regarding face detection, based on a
So I'm working on developing a game for a school project and so far
I am working on a school project that uses ASP.NET. I found this TextEditor
While working on a question/answer program for school, it occurred to me that I
I'm currently working on some school project; we are developing a simple RPG, but
I'm working on a school project where I am required to use the GNU
I am currently working on a project for school that is a java memo

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.