Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Read the following scenario carefully: Banyon Corporation currently keeps track

ID: 3842232 • Letter: R

Question

Read the following scenario carefully: Banyon Corporation currently keeps track of employee data in a spreadsheet table. However, they see that the single-table approach is not working well since there is duplication of data and various anomalies arise as new rows are inserted, old rows deleted, and current rows updated. Here are the current column headers for Banyon’s spreadsheet table, Employees.

EMPLOYEES (Emp_id, Emp_name, Emp_phone, Dept_name, Dept_phone, Dept_manager, Skill_id, Skill_name, Skill_date, Skill_level)

Banyon has decided to use a database rather than a single-table spreadsheet. They conducted the following analysis. Each employee is identified by a unique emp_id. Knowing an emp_id, you can determine the corresponding employee name, phone and department in which the employee works. Department names are also unique. Knowing a dept_name you can determine the department’s phone and manager. Each employee possesses a set of skills. Employees must periodically update each skill by passing a test that certifies a certain skill level at a given point in time (skill_date). A skill can be identified by a unique skill_id. However, skill_level and skill_date are associated with a specific employee’s certification on a given skill.

1) Imagine several rows of data in the existing Employees table.

a) Give an example of an insertion anomaly

b) Give an example of a deletion anomaly.

c) Give an example of an update anomaly.

2) List any multivalued dependencies you have identified. Quote a specific line or phrase from the Banyon scenario to justify each MV dependency

3) List any functional dependencies you have identified. Quote a specific line or phrase from the Banyon scenario to justify each functional dependency.

4) Refer to Figure 3-19. Use the process defined in Figure 3-19 to put the Employees table into BCNF. Document each step you take by referring to the appropriate step in Figure 3-19.

Explanation / Answer

1.a An insertion anomaly is the inability to add data to the database due to absence of other data.

E.g., If a new employee is hired but not immediately assigned to a Department then this employee could not be entered into the database.

1.b A deletion anomaly is the unintended loss of data due to deletion of other data

E.g., If a department is supposed to be removed, it cannot be taken out till all the employee records are updated

1.c If there are multiple skills assigned to an Employee and his/her department is changed then the data should be updated in all the records. If the user performing the update does not realize the data is stored redundantly the update will not be done properly.

2. Multivalued dependency occurs when there are more than one independent multivalued attributes in a table.

In above scenario, dependencies are Employee information (Emp_name, Emp_phone) and Department information (Dept_name, Dept_phone, Dept_manager) and Skill details (Skill_name) all these sets are independent of each other and hence can be stored in separate tables.

phrase from the Banyon scenario to justify each MV dependency is "Department names are also unique. Knowing a dept_name you can determine the department’s phone and manager"

3. Functional dependencies

emp_id-> (Emp_name, Emp_phone,dept_name,skill_id,skill_level,skill_date)

Quote: "Knowing an emp_id, you can determine the corresponding employee name, phone and department in which the employee works. Knowing a dept_name you can determine the department’s phone and manager. A skill can be identified by a unique skill_id. However, skill_level and skill_date are associated with a specific employee’s certification on a given skill."

4: Image is missing

Dr Jack
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Chat Now And Get Quote