The following is an example of how to transform a business rule into database specifications.
The Business Rule, “an employee may have many degrees” can be represented in many ways. On a broad level the rule explains that an employee can have one degree or many(>1) degree. One way to represent this is by using a multivalued attribute. A multivalued attribute is an attribute that can have many values for a single entity. For example, using this business rule, EMP_DEGREE attribute can store the string “BBA,MBA,PHD” to indicate three different degree holds. Although acceptable it can cause problems with data retrieval. Having multiple degrees stored in a single string would require an in-string search to find summary details regarding every individual degree. This would be troublesome for writing queries.
A better way to represent this is by creating multiple tables. On a very basic level, one table can consist of EMP_ID, and EMP_NAME. Here the EMP_ID will serve as the primary key. The next table would consist of EMP_ID and EMP_DEGREE. In this table EMP_ID would serve as the foreign key and would be related to the first table. Having two separate tables would allow you to store each degree earned in a separate record. There should be a 1:N relationship between employee and degree, thus allowing an employee to have multiple degrees. If needed, other attributes can be added to the degree table to improve reporting.