F
Fred Boer
Hello:
I'm an easygoing librarian, and I haven't implemented fines for overdues in
my small library application. But I've had a request from a more ..uh,
severe... librarian, so I'm trying to work out the best way to track overdue
fines and payments. I'm thinking of the following structure and would be
interested in comments or corrections. Currently I have:
tblLibrary
BookID
Title
ISBN
MediaFormat (Lookup to tblMediaFormat)
etc...
tblPatron
PatronID
LastName
FirstName
etc.
tblTransaction
TransactionID
BookID
PatronID
**AmountPaid - New field needed?
So, could I just add a new field to tblTransaction? For example a field
called "AmountPaid"?
I could derive the amount of overdue fines per transaction from
tblTransaction, using a calculation that multiplies the per diem fine
against the number of days overdue. But I *think* I need to store the amount
paid, to track payment. This would also allow me to track partial payments.
Does this seem reasonable?
I know that if AmountPaid=CalculatedFineDue then that would indicate the
account is settled. But what if I want to just write off the account. Would
a logical field something like "AccountResolved" be appropriate?
Also:
I want to generate different levels of fines for different types of media,
for example, DVD movies get higher fines than books. So, I think I need to
add a table which stores the fine rate per media type, correct?
tblFineRates
FineRateID
MediaFormatID
Fine
Thanks for any suggestions and comments.
I'm an easygoing librarian, and I haven't implemented fines for overdues in
my small library application. But I've had a request from a more ..uh,
severe... librarian, so I'm trying to work out the best way to track overdue
fines and payments. I'm thinking of the following structure and would be
interested in comments or corrections. Currently I have:
tblLibrary
BookID
Title
ISBN
MediaFormat (Lookup to tblMediaFormat)
etc...
tblPatron
PatronID
LastName
FirstName
etc.
tblTransaction
TransactionID
BookID
PatronID
**AmountPaid - New field needed?
So, could I just add a new field to tblTransaction? For example a field
called "AmountPaid"?
I could derive the amount of overdue fines per transaction from
tblTransaction, using a calculation that multiplies the per diem fine
against the number of days overdue. But I *think* I need to store the amount
paid, to track payment. This would also allow me to track partial payments.
Does this seem reasonable?
I know that if AmountPaid=CalculatedFineDue then that would indicate the
account is settled. But what if I want to just write off the account. Would
a logical field something like "AccountResolved" be appropriate?
Also:
I want to generate different levels of fines for different types of media,
for example, DVD movies get higher fines than books. So, I think I need to
add a table which stores the fine rate per media type, correct?
tblFineRates
FineRateID
MediaFormatID
Fine
Thanks for any suggestions and comments.