Appendix A – Database Normalization
This document displays the database design and discusses the notion of normalization. The aim is to point out in which – if any – normal form the database has been designed to ensure an optimal design reducing redundancy and maximizing performance. In the following, an Entity-Relationship diagram of the database can be found along with a formal definition of the relations. For each relation schema, a list of normal form constraints (given a desired normal form) that are satisfied is shown.
Entity-Relationship Diagram

Relation Schemes
In the following, please find a listing of the relation schemes of this database.
| abet_guideline | = (ID, Description, objective-map) |
| grading_rubric | = (ID, rubric) |
| guideline_objective_mapping | = (ID, abet_guideline.ID, se_objective.ID) |
| objective_student_mapping | = (ID, Objective-ID, Student-ID, grade/passed/artifact-link) |
| student | = (ID, Description/Name) |
| sw_eng_objective | = (ID, Description, objective-student-mapping, grading_rubric.ID) |
Normalization to Boyce-Codd Normal Form
From the relation schemes it follows that given an antecedent a set of precedents can be inferred. This section lists all possible conclusions that can be drawn from the antecedents and which constraint of Boyce-Codd Normal Form are satisfied. BCNF is the desired normal form for this database.
| Antecedent | Precedent | BCNF Constraints satisfied |
|---|---|---|
| abet_guideline.ID | Description, objective, Student, rubric | Antecedent is primary key, Conclusion is not trivial |
| abet_guideline.ID, sw_eng_objective.ID | Student.ID | Antecedent is primary key, Conclusion is not trivial |
| student.ID | grade/passed/artifact, objective, abet_guideline | Antecedent is primary key, Conclusion is not trivial |
All antecedents are primary keys and no precedent is trivial. It follows, that this database is in Boyce-Codd Normal Form.