Database designing for a bug tracking system in SQL

asp.net-mvc-4, bug-tracking, database-design, sql-server-2008

Solution

This looks quite good, IMO your main issue is on naming consistency & simplicity.

- If each table identifier is `Id`, you should use it for all tables.

- Stay consistent with singular / plural in table names. I tend to prefer singular.

You can simplify a table name :

- `UserProfile` => `User`

As well as field names :

- `Issue_Title` => `Title`

- `Issue_Description` => `Description`

- `Issue_Priority_Type` => `Type` (or even less confusing: `Name`)

etc.

However I would use a more precise naming for foreign keys

- `CreatedBy` => `CreatedByUserId`

- `ClosedBy` => `ClosedByUserId`

HTH.

Problem

I am an ASP.NET developer and I really dont do such of database stuff. But for my open source project on Codeplex I am required to setup a database schema for the project. So reading from here and there I have managed to do the following. As being new to database schema designing, I wanted some one else who has a better idea on this topic to help me identify any issues with this design. Most of the relationships are self explanatory I think, but still I will jot each one down. The two keys between UserProfile and Issues are for relationships between UserId and IssueCreatedBy and IssueClosedBy Thanks

Original source