View Single Post
  #5 (permalink)  
Old May 9th, 2014, 01:07 PM
Rod Stephens's Avatar
Rod Stephens Rod Stephens is offline
Wrox Author
Points: 3,166, Level: 23
Points: 3,166, Level: 23 Points: 3,166, Level: 23 Points: 3,166, Level: 23
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
Join Date: Jan 2006
Location: , , .
Posts: 647
Thanks: 2
Thanked 96 Times in 95 Posts

Thanks! I'm glad you're finding the models useful.

One thing that made me wonder is why does some model name the CourseOfferings as Sections. It is a synonym?
Can you tell me which model you're looking at? I don't see which one this is.

My guess is one of two things. First, it could just be a typo and I changed the name from Section to CourseOffering but missed it somewhere. In that case, you should treat them as synonyms.

Alternatively where I went to school a single class often had multiple sections. You might go to 1 or 2 lectures per week in a big room with the whole class and then 2 or 3 more smaller sections with teaching assistants. A big class might have 2 lectures with 200 students, and then 10 sections each meeting twice a week with 10-20 students each.

If that's what the model is doing, then there should be a many-to-one relationship between sections and course offerings.

We would then determine its grade based on a certain criteria.
How do we store the grading. Do we store it in a table linked to other tables or store it separately.

Some courses would have different gradings. How would we link it to the present database.
Good question. The grade software that I've used when I taught VB let you define assignments and give each assignment a category. Then each category gets a weight. For example, quizzes might be worth 25% of your grade, the midterm might be worth 25%, and the final might be worth 50%.

With that approach, you would need:

  • A Categories table giving the category names and weights.
  • An Assignments table giving each assignment's name and category.
  • A StudentAssignments table giving each a student's assignment scores.

Based on that information, you could calculate a student's grade. If you don't create the Assignments entries until they're due (or you give them dates), you can get a grade at any point during the course by looking only at what has been recorded.

In practice, I think most schools don't save all of that information for very long. You might keep a student's full information for a year after the course. After that you might want to move the records into history tables. There you might only store the student's grade A, B, etc. and not all the data about the student's score on the third quiz.

This is data warehousing: You store only what you will need in the future to save space.

I hope that helps. If you tell me which design you're looking at with the CourseOffering and Section entries, I can probably give a more definite answer to that question.

Rod Stephens, Microsoft MVP

Essential Algorithms: A Practical Approach to Computer Algorithms

(Please post reviews at Amazon or wherever you shop!)