title: Finding a relation in 3NF but not in BCNF
body: <p>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...</p>
  
  <p>I will use this relation as an example... </p>
  
  <p><code>R = {A, B, C, D, E}</code> </p>
  
  <p>and </p>
  
  <p><code>F = {A -&gt; B, B C - &gt; E, E D -&gt; A}</code>.</p>
  
  <p>Firstly we must find the keys of the relation. <a href="http://www.youtube.com/watch?v=s1DNVWKeQ_w">I used this video to help me do that.</a> And I got </p>
  
  <p><code>Keys = {ACD, BCD, CDE}</code></p>
  
  <p>Now to make sure <code>R</code> is in <strong>BCNF</strong>, we must make sure that the left hand side of every functional dependency in <code>F</code> is one of the <code>Keys</code>. We instantly know this is not the case, because the first FD is <code>A -&gt; B</code> and <code>A</code> is not one of the keys. <strong>So it is not in BCNF.</strong></p>
  
  <p>Now to make sure <code>R</code> is in <strong>3NF</strong>, we must make sure that the left hand side of every functional dependency in <code>F</code> is one of the <code>Keys</code> <strong>OR</strong> the right hand side of every functional dependency in <code>F</code> is a subset of one of the <code>Keys</code>. If you look at the right hand side of every FD, they are <code>B</code>, <code>E</code> and <code>A</code>. These are each a subset of a <code>Key</code>, so this means that <strong>it is in 3NF</strong>.</p>
  
  <p>So this is one of the <em>rare</em> cases (according to wiki) where a relation is in <code>3NF</code> but <strong>not</strong> in <code>BCNF</code>. Is this method correct? Is it reliable? Am I missing anything?</p>