title: 3NF Normalization and Decomposition
body: <p>I am currently in a DB class and working through Normalization, and am running into some trouble.  Am hoping I can get some assistance working through this. I have searched for the last 30 min and haven't found anything that helps solve my question, but hopefully I'm not searching for the wrong things.</p>
  <p>The question is as follows:</p>
  <p>Considering the universal Relation</p>
  <pre><code>EMPLOYEE (ID, First, Last, Team, Dept, Salary)
  </code></pre>
  <p>With the follow set F of functional dependencies</p>
  <pre><code>ID -&gt; First
  ID -&gt; Last
  First, Last -&gt; ID
  Last -&gt; Team
  ID -&gt; Dept
  ID -&gt; Salary
  Salary -&gt; Dept
  </code></pre>
  <p>Identify the candidate keys and construction a decomposition of Employee into relations in 3NF that preserve Dependencies.</p>
  <p>For the candidate keys, I am struggling because when doing an edge diagram, there are incoming dependencies for every single attribute.  There are no attributes that do not appear on the RHS of the dependencies.  What I think may be confusing me is that while <code>ID</code> does determine everything, <code>First, Last</code> determines <code>ID</code>.  So would <code>ID</code> and <code>First, Last</code> both be a candidate key?</p>
  <p>I know for the deconstruction, <code>Last -&gt; Team</code> and <code>Salary -&gt; Dept</code> are transitive, but <code>ID</code> has a direct dependency <code>ID -&gt; Dept</code> and <code>ID-&gt; Salary</code> already given.</p>
  <p>Does that mean I only need two tables,
  <code>(ID, First, Last, Salary)</code>
  and
  <code>(Last, Team)</code>?</p>
  <p>Or based on the candidate keys question above, do I need
  <code>(ID, First, Last)</code>
  <code>(ID, Salary, Dept)</code>
  <code>(Last, Team)</code></p>
  <p>Let me know if any additional info is needed.  Thank you.</p>