<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: No business value in nulls</title>
	<atom:link href="http://robertlambert.net/2009/04/no-business-value-in-nulls/feed/" rel="self" type="application/rss+xml" />
	<link>http://robertlambert.net/2009/04/no-business-value-in-nulls/</link>
	<description>on business-aligned information technology</description>
	<lastBuildDate>Wed, 01 Sep 2010 14:35:28 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Bob</title>
		<link>http://robertlambert.net/2009/04/no-business-value-in-nulls/comment-page-1/#comment-51</link>
		<dc:creator>Bob</dc:creator>
		<pubDate>Wed, 08 Apr 2009 18:07:46 +0000</pubDate>
		<guid isPermaLink="false">http://robertlambert.net/?p=345#comment-51</guid>
		<description>Andy, great examples, and I definitely agree with your approach.  Still, it seems to me they are about how to represent the business requirement in a design.  Nulls are a valid tool for the DB/code-literate in design, but in terms of business requirements I still think probably never.  I think of all business requirements working on normalized data, thereby giving the designer/developer full control of design decisions and not cutting off any data design options.  Given that, to me the player_average table is a (probably appropriate) denormalization of the player_at_bat_event table, of which there would be no row for the player who has not yet faced a pitcher.  So I think we&#039;re coming from the same place, just in different stages of the development life cycle.  I suppose a clarifying comment is in order: &quot;no business value in nulls until design.&quot;</description>
		<content:encoded><![CDATA[<p>Andy, great examples, and I definitely agree with your approach.  Still, it seems to me they are about how to represent the business requirement in a design.  Nulls are a valid tool for the DB/code-literate in design, but in terms of business requirements I still think probably never.  I think of all business requirements working on normalized data, thereby giving the designer/developer full control of design decisions and not cutting off any data design options.  Given that, to me the player_average table is a (probably appropriate) denormalization of the player_at_bat_event table, of which there would be no row for the player who has not yet faced a pitcher.  So I think we&#8217;re coming from the same place, just in different stages of the development life cycle.  I suppose a clarifying comment is in order: &#8220;no business value in nulls until design.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy</title>
		<link>http://robertlambert.net/2009/04/no-business-value-in-nulls/comment-page-1/#comment-50</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Tue, 07 Apr 2009 18:46:10 +0000</pubDate>
		<guid isPermaLink="false">http://robertlambert.net/?p=345#comment-50</guid>
		<description>It seems to me that a null might imply a business value, depending on the scenario. In the examples you provided, I&#039;d agree nulls don&#039;t make much sense.

What if we have a database table tracking a baseball team&#039;s players&#039; batting averages? 

- You might have a value 0.500 for a player who gets on base every other time.
- Or 0.000 if a player has never reached first base (no pun intended)
- Or null for a player who hasn&#039;t been to bat yet?

Now, to your point you could probably achieve the same result with an alternate design: perhaps a separate player table from player_average or whatever, such that only players who have been at bat are in the player_average table. But this might not always be the best design, or perhaps not possible due to other design constraints.

Similar examples exist in the Java world - do I return a null Collection or a Collection of size 0? I think, like many other problems in the database/software architecture world, what&#039;s important is to approach the problem consistently and be sure there&#039;s a common understanding across the team.</description>
		<content:encoded><![CDATA[<p>It seems to me that a null might imply a business value, depending on the scenario. In the examples you provided, I&#8217;d agree nulls don&#8217;t make much sense.</p>
<p>What if we have a database table tracking a baseball team&#8217;s players&#8217; batting averages? </p>
<p>- You might have a value 0.500 for a player who gets on base every other time.<br />
- Or 0.000 if a player has never reached first base (no pun intended)<br />
- Or null for a player who hasn&#8217;t been to bat yet?</p>
<p>Now, to your point you could probably achieve the same result with an alternate design: perhaps a separate player table from player_average or whatever, such that only players who have been at bat are in the player_average table. But this might not always be the best design, or perhaps not possible due to other design constraints.</p>
<p>Similar examples exist in the Java world &#8211; do I return a null Collection or a Collection of size 0? I think, like many other problems in the database/software architecture world, what&#8217;s important is to approach the problem consistently and be sure there&#8217;s a common understanding across the team.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
