title: How to determine BCNF
body: <p>I've already read a bunch of other threads involving BCNF on SO, but I'm still a bit confused about how I would write a function to determine if a relation was in BCNF given the relation and a list of its functional dependencies. </p>
  
  <p>So obviously if the union of all inputs and outputs of the FD's don't equal the relation, then it's not in BCNF, but that's also obviously all I need to check. </p>
  
  <pre><code>So, say I'm given an input: 
  R(A,B,C,D,E,F,G)
  A-&gt;B
  C,D-&gt;F
  G-&gt;E
  </code></pre>
  
  <p>Then what would I need to check to determine if it's BCNF? </p>