edited by
569 views

2 Answers

4 votes
4 votes

Table contain three attributes emp_id, specialty, mgr_id

Every Manager has only one speciality ===> mgr_id -> specialty

Every Specialty has many managers ===> specialty -> mgr_id  DOESN'T hold

Employee has only one Manager for each Speciality and each employee has many specializations ====> ( emp_id , speciality )  ->  mgr_id

 

by these Dependencies you can conclude that table is in 3NF but not in BCNF

0 votes
0 votes

Just See The 1st ,3rd and 4th Statements Initially:

1. Employee has many specializations . So Emp_id cant be Primary key(as for 1 value of Emp_id there are many specializations).

3. Each Specialization has many managers . So Specialization cant be primary key.

4. But for each speciality of an employee , they have only 1 manager.

So emp_id+speciality = Primary key.

Now finally see the 2nd statement : Cleary states that mngr_id->speciality.

 

Lets assume A=emp_id,B=specialization,C=emp_id

So its like AB->C and C->B , where key = AB . So basically it is in 3NF, as AB=Superkey & B is prime attribute.

But not in BCnF as C is not a super key.(Or prime attribute B is transitively dependent on key=AB). so not bcnf. 

Related questions

1 votes
1 votes
2 answers
1
3 votes
3 votes
1 answer
3
Purple asked Nov 24, 2016
299 views
What are the steps to be followed?I decomposed it as: (A,B,C), (A,I), (H,J), (B,D, E, F) and (A,D,G,H). In this too I don't think there is any violation of 3NF. But the a...
2 votes
2 votes
0 answers
4