On 18/08/15 10:02, Ben Finney wrote:
Alan Gauld <alan.ga...@btinternet.com> writes:

A flag column that can be used to include/exclude students from
reports.

So better than a boolean in the database, would be a timestamp (or just
a date) indicating *when* the status changes. Either an ‘enrolled’
timestamp, or a ‘departed’ timestamp, or both.

Then you can interrogate the database about past, present, or future, by
comparing that value with whatever point in time is of interest.

A date might be useful but its much harder to incorporate
into other reports. And given that  virtually every query
potentially has to include this test (unless we go with
two views) that's a lot of overhead.

I'd go with a status flag (isEnrolled or somesuch) and if dates are needed for specific reports add that as additional columns against
the flag. (enrollmentDate, leavingDate, etc)

But I'd also consider the YAGNI(*) principle. It's easy to add lots
of fields to databases that add to the admin load but are rarely,
if ever, used.

(*)You Aren't Going to Need It

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to