consider a table T which stores information about a dog competition using the fo
ID: 3677729 • Letter: C
Question
consider a table T which stores information about a dog competition using the following attributes: dog_number, dog_name, kennel_code, kennel_name, kennel_location, trick_id, trick_name, trick_where_learned, skill_level, costume. (Assume that the attribute trick_where_learned refers to some kennel_code). For example, typical data might be (52, Beau, 16, DaisyPuppyFarm, Hamden, 2343, rollover, 18, 2, none) (89, Missy, 9, DansDogHouse, Hartford, 2345, shake-hands, 16, 4, red-coat). a) Find “natural” functional dependencies in T. Based on this, determine all candidate keys of T. b) Transform the table T into two or more tables in BCNF. For every new (or transformed) table, state the candidate keys and foreign keys.
Explanation / Answer
Answer for Question:
Make a seperate table or each set of related attributes and give the each table a primary ey
1NF:
Dog_Table(dog_number, dog_name, kennel_code, kennel_name, kennel_location)
Trick_Table(trick_id, trick_name, trick_where_learned, skill_level, costume)
2NF: Eliminate redundant data:
DogTable(dog_number, dog_name, kennel_code,kennel_name, kennel_location)
Tricks(trick_id, trick_name)
DogTricks(dog_number,trick_id,trick_where_learned, skill_level)
3NF: eliminate the columns not dependent on key
Dog(dog_number, dog_name, kennel_code)
Kennel(kennel_code, kennel_name, kennel_location)
Tricks(trick_id, trick_name)
DogTricks(dog_number,trick_id,trick_where_learned, skill_level)
BCNF: Multiple Relationships:
DogTricks(dog_number, trick_id, trick_where_learned,skill_level,costume)
decompose into two relations.
DogTricks1(dog_number, trick_id,trick_where_learned,skill_level)
DogCostume(dog_number,costume)
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.