Appendix B. Bug Database Architecture

The Bug database consists of three primary tables (Bugs, BugHistory, and People) and four secondary (lookup) tables (lkProduct, lkRoles, lkSeverity, and lkStatus). To keep the examples as simple as possible, these tables have been stripped down to the absolute essentials.

Table B-1 shows the structure of the Bugs table and Table B-2 shows the structure of the BugHistory table. Table B-3 shows the structure of the People table.

Table B-1. Structure of the Bugs table

Column

Type

Notes

BugID

int (identity)

Uniquely identifies each bug in the database.

Product

int

Foreign key into lkProducts (identifies the unique product).

Version

varChar

Text description of the version number (e.g., 0.1.2).

Description

varChar

Text description of the bug as entered by the person recording the bug.

Reporter

int

Foreign key into People (ID of the person reporting the bug).

Table B-2. Structure of the BugHistory table

Column

Type

Notes

BugHistoryID

int (identity)

Uniquely identifies each bug history record.

BugID

int

Foreign key into Bugs table. This column combined with BugHistoryID is sufficient to track all the updates for a given bug.

Status

int

Foreign key into lkStatus -- identifies the current status of the bug (e.g., open, closed, etc.).

Severity

int

Foreign key into lkSeverity -- identifies the current severity of the bug (e.g., high, medium, low, etc.).

Response

varChar

Text description of the action taken at this ...

Get Programming ASP .NET now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.