B.1 Table Relationships
With these tables, you are able to create a working bug database.
Any two tables will typically have one of the following relationships:
- One to Many
-
Each developer may "own" multiple
bugs
- Many to One
-
The reciprocal relationship of one to many. The developer is in a
one-to-many relationship with bugs, and bugs are in a many-to-one
relationship with developers
- Many to Many
-
You can imagine a system that allows more than one person to own a
bug. Perhaps the bug is owned by a developer and also a marketing
person. Each of these people may also own more than one bug. Thus,
bugs and people would be in a many-to-many relationship. In the
current design, we do not allow this relationship between bugs and
people.
The relationships among the tables is shown in Table B-6.
Table B-6. The relationship among the tables|
BugHistory
|
BugID
|
Bugs
|
BugID
|
One bug to many history records.
|
BugHistory
|
Status
|
lkStatus
|
StatusID
|
Each BugHistory has one status.
|
BugHistory
|
Severity
|
lkSeverity
|
SeverityID
|
Each BugHistory has one severity.
|
BugHisotry
|
Owner
|
People
|
PersonID
|
Each BugHistory has one owner.
|
Bug
|
Reporter
|
People
|
PersonID
|
Each Bug has one Reporter.
|
Bug
|
Product
|
lkProduct
|
ProductID
|
Each Bug has one Product.
|
People
|
Role
|
lkRoles
|
RoleID
|
Each person has one Role.
|
 |