<p>Codd would simply have excluded tuples with nulls from the application of functional dependencies. As far as I know, there is no self-consistent way to cope with functional dependencies in pure SQL, using Codd's 3-value logic.</p>

<p>I would therefore expect most people to tell you to avoid nulls. Obviously, that is not always received as a practically useful recommendation.</p>

<p>There has been academic work on the topic however if you are interested. We have a paper that covers specific this issue:</p>

<blockquote>
  <p>Antonia Badia and Daniel Lemire, Functional dependencies with null
  markers, Computer Journal The Computer Journal (2015) 58 (5): 1160-1168. <a href="http://arxiv.org/abs/1404.4963" rel="nofollow">http://arxiv.org/abs/1404.4963</a></p>
</blockquote>
Can one attribute in the functional dependency be null?
<p>I have a set of functional dependencies F, R = {cid, cname, bid, name, rentdate, returndate, cost} in a bookstore, there is just one table of it.</p>
<blockquote>
<p>customerid, bookid, bookname, rent and return date of this book by this person.</p>
</blockquote>
<p>Obvious, it's not BCNF</p>
<p>but how to identify the F of non-trival functional dependencies for this?</p>
<p>in my opinion:</p>
<blockquote>
<p>cid -&gt; cname</p>
<p>bid -&gt; bname</p>
<p>bid, rentdate -&gt; returndate, cid</p>
</blockquote>
<p>is that ok? in the last functional dependencies, i think each order, one book be rented in a specific time, will have the unique return date and belongs to just one person</p>
<p>but I am also confused about this Functional dependencies, because in this table, the rentdate and returndate can also set to be null!!!</p>
<p>in this way, does the</p>
<blockquote>
<p>bid, rentdate -&gt; returndate, cid</p>
</blockquote>
<p>correct?</p>