UHCL 27a Graduate Database Course - How to use Functional Dependencies to determine keys

GaryBoetticher · 120K views · 2011 · 10:00

Open on YouTube

Databases & storageUniversity lectures & courseslecture

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