<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Normalization really does matter</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/07/Normalization-really-does-matter.aspx</link><description>It seems like years ago, but I remember one of my professors giving us an assignment. It involved taking a database chock full of redundancies and writing the SQL Statements to make a few small updates. We thought it was an assignment to test our SQL</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Incompetence...it's seriously starting to *** me off</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/07/Normalization-really-does-matter.aspx#144461</link><pubDate>Thu, 28 Sep 2006 05:27:59 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:144461</guid><dc:creator>Brian H. Madsen - .Net Powered by Caffeine</dc:creator><description>&lt;p&gt;Now, i&amp;amp;#39;m not going to mention any names here, because somebody may get offended. but - i&amp;amp;#39;ve been&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=144461" width="1" height="1"&gt;</description></item><item><title>re: Normalization really does matter</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/07/Normalization-really-does-matter.aspx#135211</link><pubDate>Thu, 21 Sep 2006 05:17:58 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:135211</guid><dc:creator>Brian Madsen</dc:creator><description>Yep - he's officially gone underground...

can't raise him on messenger or email :(&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=135211" width="1" height="1"&gt;</description></item><item><title>re: Normalization really does matter</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/07/Normalization-really-does-matter.aspx#126148</link><pubDate>Wed, 13 Sep 2006 16:00:25 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:126148</guid><dc:creator>Brian Madsen</dc:creator><description>&lt;p&gt;Bill seems to have dissapeared off the face of the planet again......&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=126148" width="1" height="1"&gt;</description></item><item><title>re: Normalization really does matter</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/07/Normalization-really-does-matter.aspx#118159</link><pubDate>Fri, 08 Sep 2006 15:35:02 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:118159</guid><dc:creator>Brian Madsen</dc:creator><description>&lt;p&gt;Just going to post Greg's blog link..&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.sqlserver.org.au/blogs/Greg_Linwood/"&gt;http://blogs.sqlserver.org.au/blogs/Greg_Linwood/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;if there's a guy out there that i have more respect for regarding SQL Server i'd be very very surprised....&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=118159" width="1" height="1"&gt;</description></item><item><title>re: Normalization really does matter</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/07/Normalization-really-does-matter.aspx#118152</link><pubDate>Fri, 08 Sep 2006 15:31:59 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:118152</guid><dc:creator>Brian Madsen</dc:creator><description>&lt;p&gt;Here in Australia we have a gentleman known as Greg Linwood..&lt;/p&gt;
&lt;p&gt;now 5-6 years ago i had no idea who this guy was..but after having read his responses in an SQL Server newsgroup i've seriously gotten some respect for him...not only does he know what he's talkign about, but he also steps outside of the box when he deals with technical issues.&lt;/p&gt;
&lt;p&gt;He's going to present in Perth in a week or so..once for my group, Perth SQL Server User Group and once for Perth .Net Community of Practice..both are going to deal with indexes and how to deal with them..one of the sessions are geared towards developers (durr) and the other towards database administrators - needless to say, i'm going to attend both sessions as he's going to touch on some of the things in the industry that i'm extremely keen to know more about.&lt;/p&gt;
&lt;p&gt;He recently dispelled the myth about Clustered Indexes and i think i'll ask his permission to post some of his answers on my own blog as he's absolutely right..&lt;/p&gt;
&lt;p&gt;Anyways, Greg is one of those guys that steps over the boundaries and takes a stance on technology which clearly indicates that he doesn't compromise when it comes to SQL Server...&lt;/p&gt;
&lt;p&gt;seriously wish you could attend these two session Bill..i think you would have gotten a lot out of it.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=118152" width="1" height="1"&gt;</description></item><item><title>re: Normalization really does matter</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/07/Normalization-really-does-matter.aspx#118148</link><pubDate>Fri, 08 Sep 2006 15:16:46 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:118148</guid><dc:creator>Brian Madsen</dc:creator><description>&lt;p&gt;I think the answer to your question is simple...&lt;/p&gt;
&lt;p&gt;and here i'm most likely going to be shot down in flames by some utter brain-lacking moron (pardon the language here, but this is one aspect of development i'm VERY fanatic about)..&lt;/p&gt;
&lt;p&gt;here we go:&lt;/p&gt;
&lt;p&gt;The industry boomed, and brought a ton of &amp;quot;developers&amp;quot; out of the bush who's only really in the industry for a paycheck..they don't have the same passion for development that this industry really deserves, so they come into work every day, put in 8hrs in their chair, and thinks that's the end of the story..they don't take pride in having a working application implemented while knowing that the engine is going to keep on ticking and ticking and ticking..&lt;/p&gt;
&lt;p&gt;I see it like this..developers are divide into two main groups..Aston Martin and Hyundai..they both do the same thing - bring you from point A to point B, yet you can tell you've just paid $5.000 for the car because you find nearly any excuse you can to catch the bus.&lt;/p&gt;
&lt;p&gt;Real life story here:&lt;/p&gt;
&lt;p&gt;my senior developer and myself, where told to take a look at two of our old legacy applications at work...one is a very very important MS Access form application, backed by an SQL Server..the second is another MS Access form application, also backed by SQL Server..&lt;/p&gt;
&lt;p&gt;now, first we found that there was absolutely no documentation on either of the applications (both are developed in-house), so we took time to have a talk to the &amp;quot;manager of the DB department&amp;quot; who built parts of the first application..we asked him to send us the DB schemas of the DB first so we could see what type of data we were going to be dealing with..he did, and we both sat shocked for nearly 20 minutes at how badly this database was structure...first off, second pet-hate of mine is some idiot using MS_ID as the primary key for every single table..yes, you read that right..each and every primary key in that database had the same name...it did contain relationships so data integrity should be ok..well, to our shock and horror it wasn't..the application had been built years ago by a technician of sorts who bought an MS Access book..so can't blame that gentleman..but, the &amp;quot;manager&amp;quot; we spoke to is a VERY VERY VERY known figure in the SAP space..yet, he had continued to patch this application in the last year or so by using the exact same methodology as the technician initially did.&lt;/p&gt;
&lt;p&gt;So who here is the culprit that i should burn at the stake?? the technician or the &amp;quot;manager&amp;quot;?? &lt;/p&gt;
&lt;p&gt;i think the answer here is simple..the &amp;quot;manager&amp;quot; should be quartered and drowned by pushing pages of a relational database book down his throat..&lt;/p&gt;
&lt;p&gt;and that was when i realised that not everybody working in this industry is as passionate about what we do as i was..can we say reality check!!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=118148" width="1" height="1"&gt;</description></item><item><title>re: Normalization really does matter</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/07/Normalization-really-does-matter.aspx#118128</link><pubDate>Fri, 08 Sep 2006 14:50:50 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:118128</guid><dc:creator>William</dc:creator><description>&lt;p&gt;Then it's good to hear I'm not alone. &amp;nbsp;I've worked with so many people who come up with utterly lame reasons not to normalize and in every case, they have never studied relational theory to make even a modest argument against it.&lt;/p&gt;
&lt;p&gt;I think there's two big issues. One is normalization. The other is sloppy implementation. &amp;nbsp;using reserved words as field names isn't a normalization issue. &amp;nbsp;But it still sucks almost as much. &amp;nbsp;Slapping 50 indices on a 20 field table isn't a normalization issue but it does present overwhelming issues in most cases. &amp;nbsp;On and on.&lt;/p&gt;
&lt;p&gt;So I ask you Brian - why is it that in spite of overwhelming evidence for and virtually no evidence against - good design is still the bain of many? &amp;nbsp;And as far as violators being shot, the first country to make it a crime to violate good db design practices will be my new home the day after the law passes.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=118128" width="1" height="1"&gt;</description></item><item><title>re: Normalization really does matter</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/07/Normalization-really-does-matter.aspx#118120</link><pubDate>Fri, 08 Sep 2006 14:38:04 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:118120</guid><dc:creator>Brian Madsen</dc:creator><description>&lt;p&gt;&amp;quot;it then uses that tables foreign key in other tables to link...&amp;quot;&lt;/p&gt;
&lt;p&gt;should have been...&lt;/p&gt;
&lt;p&gt;&amp;quot;it then uses that table's PRIMARY KEY in other tables to link...&amp;quot;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=118120" width="1" height="1"&gt;</description></item><item><title>re: Normalization really does matter</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/07/Normalization-really-does-matter.aspx#118110</link><pubDate>Fri, 08 Sep 2006 14:35:55 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:118110</guid><dc:creator>Brian Madsen</dc:creator><description>&lt;p&gt;Bill,&lt;/p&gt;
&lt;p&gt;that is probably one of the best posts you've made in a long time...as you may recall, my pet-hate/pet-love is developers and their sometimes absolute lack of knowledge on databases and the rules governing them.&lt;/p&gt;
&lt;p&gt;&amp;lt;rant id=&amp;quot;near_hysteria&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;At work, i have the pleasure of maintaining the database server (yes i'm not a DBA, but my department is a bunch of top notch guys) which contains probably one of the worst written database in histor.&lt;/p&gt;
&lt;p&gt;It knows nothing about:&lt;/p&gt;
&lt;p&gt;1) Data integrity, not one single foreign key in the entire database schema&lt;/p&gt;
&lt;p&gt;2) normalisation, there are tables with an absurd amount of columns in them...&lt;/p&gt;
&lt;p&gt;ex. a Customer table.&lt;/p&gt;
&lt;p&gt;usually holds primary key(s), immediate information such as username and passwords, email addresses...but we go further here, it keeps absolutely everything about the client in that table...it then uses that tables foreign key in other tables to link them together (such as products and services the client has, invoices, logs etc) but in those tables there is not relationship set up to the &amp;quot;Customer&amp;quot; table. it just fully trusts that there will never be an error inserting data, or that some data will be corrupted...no, this pleasant application (a billing and provisioning system called Platypus for ISPs..owned by TuCows now) trusts it's data explicitly.&lt;/p&gt;
&lt;p&gt;overall you could overcome this with modern technogies..say object oriented databases or by using strongly typed dataset ala ADO.Net..but HA..no, this application is written in Visual FoxPro..to make things worse, it allows you to extend the database by adding &amp;quot;custom tables&amp;quot; to the schema, via the application UI itself..again, no relationships or normalisation here..and to make matters worse, we have had more than 300 tables in this schema at some points.&lt;/p&gt;
&lt;p&gt;whoever wrote this appliation should be shot..or even better, have a funnel down their throat and a corner office desk pushed through.&lt;/p&gt;
&lt;p&gt;Anyways, now with more than 20.000 customers in the database performance is absolutely shocking...to the extent that corruptions are occuring on almost a weekly basis, which of course has to be fixed by C'est Moi..&lt;/p&gt;
&lt;p&gt;Since taking over the department and getting a very depe insight into the applications and systems spread out through the company, this database backed application should never have seen the light of day.&lt;/p&gt;
&lt;p&gt;i would give my right testicle for a solution i could replace this piece of crap with..it is the ultimate proof that there should be some divine governing body to regulate developers..&lt;/p&gt;
&lt;p&gt;&amp;lt;/rant&amp;gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=118110" width="1" height="1"&gt;</description></item><item><title>Normalization really does matter</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/07/Normalization-really-does-matter.aspx#116925</link><pubDate>Thu, 07 Sep 2006 22:57:37 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:116925</guid><dc:creator>It's Way Too Early For This</dc:creator><description>&lt;p&gt;Some good points in here about normalization. And he does make the point that sometimes it is best to&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=116925" width="1" height="1"&gt;</description></item></channel></rss>