UHCL 27a Graduate Database Course - How to use Functional Dependencies to determine keys
Why Stack Overflow recommends it
Stack Overflow users link it when answering or asking how to derive candidate keys from a set of functional dependencies, often as a step before checking 2NF, 3NF or BCNF.
Recommended by 3 people across 3 different months, 2013 to 2019.
What it is
A 10-minute lecture video from a graduate database course at the University of Houston - Clear Lake, taught by Dr. Gary D. Boetticher. It shows how to use functional dependencies to find the keys of a relation, as part of a unit on relational database theory.
What people said
Recommends travis heaver · 2013-04 · Stack Overflow · on “Identifying the keys of a relvar from a set of functional dependencies”
After some very frustrating searching, finally found a straight forward method! This professor At UHCL has produced a great series of videos addressing this very topic: [this video] He also covers 2NF, 3NF, BCNF: [LINK]
Recommends prathore · 2014-02 · Stack Overflow · on “How to find the candidate key by having a set of functional dependencies?”
I hope this [this video] will help you finding the candidate key for this answer . As per my analysis candidate key for these functional dependencies are : AB, BC, ABC, ABD, BCD, ABCD
Recommends Leponzo · 2019-08 · Stack Overflow · on “Candidate Key Identification with Functional Dependencies”
[LINK] Reference [LINK] Proof of Algorithm (short and straightforward, section 3) H. Saiedian and T. Spencer, “An Efficient Algorithm to Compute the Candidate Keys of a Relational Database Schema,” The Computer Journal , vol. 39, no. 2, Feb. 1996 [Online]. Available: [LINK] . [Accessed: 31-Jul-2019] Video Explanation [this video]
Cites Ogen · 2014-05 · Stack Overflow · on “Finding a relation in 3NF but not in BCNF”
I've been reading many different sources on how to differentiate relations that are in 3NF/BCNF. And I've so far this is my understanding... I will use this relation as an example... R = {A, B, C, D, E} and F = {A -> B, B C - > E, E D -> A} . Firstly we must find the keys of the relation. I used this video to help me do that. [this video] And I got Keys = {ACD, BCD, CDE} Now to make sure R is in BCNF , we must make sure that the left hand side of every functional dependency in F is one of the Keys . We instantly know this is not the case, because the first FD is A -> B and A is not one of the keys. So it is not in BCNF. Now to make sure R is in 3NF , we must make sure that the left hand side of e