Re: [SLUG] RFC: GradeBook Database, Part II

From: Russell Hires (rhires@earthlink.net)
Date: Sun Nov 24 2002 - 23:05:03 EST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> Drop the _tbl from all the table names. They're tables; you know it and
> everyone else does too. This may also help you to thing of the rows in
> these tables as _objects_.
Good advice. I've taken it.
> Drop the Class_Schedule table. It duplicates the Classes table. In fact,
> scour all these tables for duplicative fields. The only time you should
> have a duplicate field in two tables is if it's being used as a primary
> or foreign key; that is, it's used to tie the data in two tables
> together. Otherwise eliminate it. See "normalization".
Yeah...this is where I'm having the most trouble. This is hard! :-)
> Make all your table names lowercase.
Done.
>
> Create a teachers_classes table with teacher_id and class_id in it. As
> you have it, there's no real way to cross reference these two things,
> even though they obviously go together. Primary key would be the
> class_id, since potentially you could have more than one teacher per
> class.
Is this to be a separate table from the students_classes table, where I've
got the three fields as student_id, class_id, teacher_id ?
> It's not clear what the grades table is for. I assume it's for final
> grades per semester?
That's not the intention. It's supposed to be for a "running/current grade
average" of all assignments up to this point. But maybe I don't need this to
be kept in the database. That can be calculated on a dynamic basis, depending
on the assignments that are in the DB already...I can have Zope deal with
that for me...
> The work_item table seems like the same thing as
> the assignments table.
Okay, so I took it out.
>Grade_category table?
Grade category is for tests vs daily assignments vs quizzes...each has a
different value of points in the scale, and that information has to be kept
somewhere
>Performance table? Don't
> see what these are for.

> You also need a table to tie students, courses, assignments and grades
> together. In other words, you want a way to show each student's grade on
> each assignment. You may not need the course_id field in this, if the
> assignments_id is unique throughout the whole of the school.
Okay. Created this table. Called it "student location" as it tells where the
kid is (in what class, who the kid is, his teacher's name, what the
assignment is, what he got on the assignment)
> You might also consider creating a set of *SQL queries to find out the
> kind of information a school might want out of this database. This will
> give you a better clue about what fields and tables you need. It will
> also give you a feel for how queries need to be structured to get what
> you want. I'm not talking about some GUI stuff. Just raw queries entered
> at the *SQL command line. Be exhaustive about it. Think about what
> teachers want to know, what administrators want to know, and what kids
> might want to know.
>
> HTH,
>
> Paul
Yes...this is very helpful...
Thanks!
Russell

It's now at v3, the URL is the same, except the v2 is now v3...
- --
Linux -- the OS for the Renaissance Man
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE94aFwAqKGrvVshJQRAri1AKDMOqkIGC0pPX11W9irIxfB16jsPQCbBh1l
/MBXOB+ILEebJ2/rB7dtUTQ=
=eAAK
-----END PGP SIGNATURE-----



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 20:10:21 EDT