There are a number of changes I would make to this design if I had it to do over. In this comment and then in follow up comments, I'll explain.
First, the short description should be renamed "BugName" and moved to the Bug table as it is immutable (now) for the life of the bug. While there, I'd get rid of "placeholder"
Second, using the First Reported Date in the Bugs table is an unacceptable denormalization; the first reported date should be obtained by getting the BugHistoryID=1 for that BugID
Third, using the user's name (rather than ID) is a dangerous denormalization, acceptable for very small groups, but really not necessary
Fourth, more important, the select statements used to retrieve the latest bug shoudl be moved to a stored procedure
I'll add more in time, and as soon as I can find time I'll post an updated and heavily commented version of the code on my site and place a note here.
I've revised the database (moving the BugName to the Bugs table) and fixed up the code.
You can find it posted on my web site: http://www.LibertyAssociates.com - click on Books and then (on the left) click on Articles. Scroll to this article and download the source.
I've included a .bak file for restoring the db with some data, or a .sql script to restore the structure.
I also included the user database which has three users: Jesse, Dan and Stacey. The passwords are Jesse!!, Dan!! and Stacey!! respectively.
You can find it posted on my web site: http://www.LibertyAssociates.com - click on Books and then (on the left) click on Articles. Scroll to this article and download the source.
I've included a .bak file for restoring the db with some data, or a .sql script to restore the structure.
I also included the user database which has three users: Jesse, Dan and Stacey. The passwords are Jesse!!, Dan!! and Stacey!! respectively.
Thanks.
-j