<?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: Why too much Database Normalization can be a Bad Thing	</title>
	<atom:link href="https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/</link>
	<description>Java/J2EE Software Development and Technology Discussion Blog</description>
	<lastBuildDate>Sat, 14 Aug 2021 17:00:36 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>
		By: Napar Forguxol		</title>
		<link>https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-274864</link>

		<dc:creator><![CDATA[Napar Forguxol]]></dc:creator>
		<pubDate>Sat, 14 Aug 2021 17:00:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-274864</guid>

					<description><![CDATA[I think that people too much normalization-aware might be sick and design worse databases, less &quot;browsable&quot; and harder to code with.
Space isn&#039;t an issue in most cases, and I think this: if you have values which can be naturally primary keys, use them! DO NOT create another id just because it is &quot;shorter&quot;. I believe PK should be the actual values, not something that &quot;stands for&quot;, just because you spare bytes. E.g.: if you have a customer_table, let the PK be the actual customer_id, not some sequence generated id which then you will be using around for FKs.]]></description>
			<content:encoded><![CDATA[<p>I think that people too much normalization-aware might be sick and design worse databases, less &#8220;browsable&#8221; and harder to code with.<br />
Space isn&#8217;t an issue in most cases, and I think this: if you have values which can be naturally primary keys, use them! DO NOT create another id just because it is &#8220;shorter&#8221;. I believe PK should be the actual values, not something that &#8220;stands for&#8221;, just because you spare bytes. E.g.: if you have a customer_table, let the PK be the actual customer_id, not some sequence generated id which then you will be using around for FKs.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Philip Thomas		</title>
		<link>https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-246808</link>

		<dc:creator><![CDATA[Philip Thomas]]></dc:creator>
		<pubDate>Tue, 11 Feb 2020 11:36:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-246808</guid>

					<description><![CDATA[SQL Server 2016&#039;s temporal table functionality can really eat into disk space if tables are not normalised. The convenience of history logging across multiple tables has lent me to over-normalise thus avoiding history tables duplicating wide rows in entirety for each minor data update. I realise that this functionality was not available during the OP (for SQL Server, at least), but the requirement to keep a change history was. If the native functionality didn&#039;t exist, for whatever platform, it would be written for purpose. Change history is easier when over-normalising.]]></description>
			<content:encoded><![CDATA[<p>SQL Server 2016&#8217;s temporal table functionality can really eat into disk space if tables are not normalised. The convenience of history logging across multiple tables has lent me to over-normalise thus avoiding history tables duplicating wide rows in entirety for each minor data update. I realise that this functionality was not available during the OP (for SQL Server, at least), but the requirement to keep a change history was. If the native functionality didn&#8217;t exist, for whatever platform, it would be written for purpose. Change history is easier when over-normalising.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Paulo		</title>
		<link>https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-218066</link>

		<dc:creator><![CDATA[Paulo]]></dc:creator>
		<pubDate>Thu, 23 May 2019 19:58:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-218066</guid>

					<description><![CDATA[It seems some people didn&#039;t read the word &quot;too much&quot;.]]></description>
			<content:encoded><![CDATA[<p>It seems some people didn&#8217;t read the word &#8220;too much&#8221;.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: john		</title>
		<link>https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-6614</link>

		<dc:creator><![CDATA[john]]></dc:creator>
		<pubDate>Tue, 08 Oct 2013 00:03:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-6614</guid>

					<description><![CDATA[I&#039;m poking around SQL Server 2012 with the Adventureworks database. So sick of all these numeric ids!!!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m poking around SQL Server 2012 with the Adventureworks database. So sick of all these numeric ids!!!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Memo: Avoid Functions in Database Queries &#124; Down Home Country Coding With Scott Selikoff and Jeanne Boyarsky		</title>
		<link>https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-2894</link>

		<dc:creator><![CDATA[Memo: Avoid Functions in Database Queries &#124; Down Home Country Coding With Scott Selikoff and Jeanne Boyarsky]]></dc:creator>
		<pubDate>Thu, 21 Oct 2010 06:19:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-2894</guid>

					<description><![CDATA[[...] although since reads are more common than writes, this is often easy in practice. I am aware some developers have issues with denormalized data, but it is often necessary on large tables with queries that can run for minutes or even [...]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] although since reads are more common than writes, this is often easy in practice. I am aware some developers have issues with denormalized data, but it is often necessary on large tables with queries that can run for minutes or even [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: ARH95		</title>
		<link>https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-2877</link>

		<dc:creator><![CDATA[ARH95]]></dc:creator>
		<pubDate>Fri, 15 Oct 2010 21:18:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-2877</guid>

					<description><![CDATA[Fabulous article.  I&#039;m dealing with overnormalization right now, in an IT computer database.  Normalizing, in this case, is just more work than it&#039;s worth, especially for a small company.

I mean, I&#039;ve got a table for CPUType and three entries for a P5.  I will NEVER buy another P5.  They don&#039;t make them.  I don&#039;t don&#039;t want one...   you get the picture, I hope.  

I am in the process of &quot;denormalizing,&quot; to a degree...  but I will admit it HURTS because normalizing as been so drilled in to my brain.  :-)]]></description>
			<content:encoded><![CDATA[<p>Fabulous article.  I&#8217;m dealing with overnormalization right now, in an IT computer database.  Normalizing, in this case, is just more work than it&#8217;s worth, especially for a small company.</p>
<p>I mean, I&#8217;ve got a table for CPUType and three entries for a P5.  I will NEVER buy another P5.  They don&#8217;t make them.  I don&#8217;t don&#8217;t want one&#8230;   you get the picture, I hope.  </p>
<p>I am in the process of &#8220;denormalizing,&#8221; to a degree&#8230;  but I will admit it HURTS because normalizing as been so drilled in to my brain.  🙂</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Kevin		</title>
		<link>https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-2732</link>

		<dc:creator><![CDATA[Kevin]]></dc:creator>
		<pubDate>Mon, 30 Aug 2010 23:36:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-2732</guid>

					<description><![CDATA[An old topic, but still ranks in Google, so I&#039;ll still comment.

I think you need to also consider disk latency when assessing the cost of disk space. It might be cheap per GB of storage, but if the database manager needs to bring in four times as many pages in order to perform a join or any other operation on the table, then that could have a very negative impact on performance. There&#039;s usually more disk storage than memory allocated to a database.

Also, the sophistication of the database manager in generating access paths and the accuracy of database statistics will play a large part in determining whether it&#039;s faster to denormalise to plain text, or use lookup tables (as per your &#039;country&#039; field example.]]></description>
			<content:encoded><![CDATA[<p>An old topic, but still ranks in Google, so I&#8217;ll still comment.</p>
<p>I think you need to also consider disk latency when assessing the cost of disk space. It might be cheap per GB of storage, but if the database manager needs to bring in four times as many pages in order to perform a join or any other operation on the table, then that could have a very negative impact on performance. There&#8217;s usually more disk storage than memory allocated to a database.</p>
<p>Also, the sophistication of the database manager in generating access paths and the accuracy of database statistics will play a large part in determining whether it&#8217;s faster to denormalise to plain text, or use lookup tables (as per your &#8216;country&#8217; field example.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: scott		</title>
		<link>https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-595</link>

		<dc:creator><![CDATA[scott]]></dc:creator>
		<pubDate>Sun, 23 Nov 2008 08:39:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-595</guid>

					<description><![CDATA[Great Raditya, why create a chart as a project and I&#039;ll post the results.]]></description>
			<content:encoded><![CDATA[<p>Great Raditya, why create a chart as a project and I&#8217;ll post the results.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: scott		</title>
		<link>https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-594</link>

		<dc:creator><![CDATA[scott]]></dc:creator>
		<pubDate>Sun, 23 Nov 2008 08:38:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-594</guid>

					<description><![CDATA[I think a lot of you are taking me too literally... I never said get rid of normalization, but its clear that too much of it can be a bad thing.  In general, reads within a denormalized system is almost always faster than a normalized one, the catch is updating and data storage are poor.]]></description>
			<content:encoded><![CDATA[<p>I think a lot of you are taking me too literally&#8230; I never said get rid of normalization, but its clear that too much of it can be a bad thing.  In general, reads within a denormalized system is almost always faster than a normalized one, the catch is updating and data storage are poor.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Raditya Arthapraja		</title>
		<link>https://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-593</link>

		<dc:creator><![CDATA[Raditya Arthapraja]]></dc:creator>
		<pubDate>Fri, 21 Nov 2008 17:30:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-593</guid>

					<description><![CDATA[Great, article!

How about a performance chart comparing the database that stores the same information; but, with the first database being normalized too much, the second database being not too normalized, and the third being not normalized?]]></description>
			<content:encoded><![CDATA[<p>Great, article!</p>
<p>How about a performance chart comparing the database that stores the same information; but, with the first database being normalized too much, the second database being not too normalized, and the third being not normalized?</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
