<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.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>Louis Davidson : Database Design</title><link>http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx</link><description>Tags: Database Design</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>24 Hours of PASS next week, pre-con preview style</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2012/09/13/24-hours-of-pass-next-week-pre-con-preview-style.aspx</link><pubDate>Fri, 14 Sep 2012 00:53:47 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:45200</guid><dc:creator>drsql</dc:creator><slash:comments>2</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/45200.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=45200</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=45200</wfw:comment><description>I will be doing my Characteristics of a Great Relational Database , which is a session that I haven’t done since last PASS. When I was asked about doing this Summit Preview version of 24 hours of PASS, I decided that I would do this session, largely because...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2012/09/13/24-hours-of-pass-next-week-pre-con-preview-style.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=45200" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/PASS/default.aspx">PASS</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Speaking/default.aspx">Speaking</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/MVP/default.aspx">MVP</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/SQLPASS/default.aspx">SQLPASS</category></item><item><title>And interview, an online session, a long drive and a SQL Saturday… This week!</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2012/08/14/and-interview-an-online-session-a-long-drive-and-a-sql-saturday-this-week.aspx</link><pubDate>Tue, 14 Aug 2012 04:38:03 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:44696</guid><dc:creator>drsql</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/44696.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=44696</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=44696</wfw:comment><description>Later this week I will be doing an episode of the Greg Low’s excellent SQL Down Under podcast ( http://www.sqldownunder.com/Resources/Podcast.aspx ), something I did once before back in 2006.&amp;#160; If you haven’t listened to any of the previous editions,...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2012/08/14/and-interview-an-online-session-a-long-drive-and-a-sql-saturday-this-week.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=44696" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Nashville/default.aspx">Nashville</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Speaking/default.aspx">Speaking</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/SQL+Saturday/default.aspx">SQL Saturday</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/SQLPASS/default.aspx">SQLPASS</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/SQLRally/default.aspx">SQLRally</category></item><item><title>PASS Week/Speaking/Doing Schedule</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2011/10/10/pass-week-speaking-doing-schedule.aspx</link><pubDate>Mon, 10 Oct 2011 23:20:08 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:38976</guid><dc:creator>drsql</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/38976.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=38976</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=38976</wfw:comment><description>Well, we are finally here at what is the secular version of the holiday season for Microsoft SQL Server nerd types, the week of the SQLPASS Summit. This year, I am speaking 3 times and will also be doing the Quiz Bowl at the Welcome Reception, so I am...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2011/10/10/pass-week-speaking-doing-schedule.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=38976" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/PASS/default.aspx">PASS</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Speaking/default.aspx">Speaking</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/SQLPASS/default.aspx">SQLPASS</category></item><item><title>Chapter 8–Patterns and Anti-Patterns</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2011/07/10/chapter-8-patterns-and-anti-patterns.aspx</link><pubDate>Sun, 10 Jul 2011 17:29:42 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:36759</guid><dc:creator>drsql</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/36759.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=36759</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=36759</wfw:comment><description>In this last kind of “creative” chapter, I will look at some of the ways you implement common problems in your relational database, and some of the ways you probably shouldn’t. The “should” sections will deal with: Uniqueness – Beyond the simple uniqueness...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2011/07/10/chapter-8-patterns-and-anti-patterns.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=36759" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Writing/default.aspx">Writing</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Design/default.aspx">Design</category></item><item><title>Chapter 7–Enforced Data Protection</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2011/06/21/chapter-7-enforced-data-protection.aspx</link><pubDate>Tue, 21 Jun 2011 04:36:13 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:36380</guid><dc:creator>drsql</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/36380.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=36380</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=36380</wfw:comment><description>As the book progresses, I find myself veering from the original stated outline quite a bit, because as I teach about this more (and I am teaching a daylong db design class in August at http://www.sqlsolstice.com/ … shameless plug, but it is on topic :)...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2011/06/21/chapter-7-enforced-data-protection.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=36380" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Writing/default.aspx">Writing</category></item><item><title>See you in Columbus Saturday?</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2011/06/06/see-you-in-columbus-saturday.aspx</link><pubDate>Mon, 06 Jun 2011 04:32:45 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:36088</guid><dc:creator>drsql</dc:creator><slash:comments>2</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/36088.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=36088</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=36088</wfw:comment><description>Assuming all goes as planned, I will be in Columbus, OH this Friday night and Saturday for SQL Saturday 75 . I really love SQL Saturday events the best of all of the events because they are very intimate in nature. As a fairly antisocial person, I sometimes...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2011/06/06/see-you-in-columbus-saturday.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=36088" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/PASS/default.aspx">PASS</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Speaking/default.aspx">Speaking</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/SQL+Saturday/default.aspx">SQL Saturday</category></item><item><title>Normalization and How to Know When You Are Done… The short version…</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2011/05/29/normalization-and-how-to-know-when-you-are-done-the-short-version.aspx</link><pubDate>Sun, 29 May 2011 20:54:15 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:35960</guid><dc:creator>drsql</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/35960.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=35960</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=35960</wfw:comment><description>A while back, I was working on a short article about Normalization for a book that never got published (admittedly I wasn’t getting paid for the article, and it wasn’t for charity, so I wasn’t that broken up over it.)&amp;#160; The task at hand was to, in...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2011/05/29/normalization-and-how-to-know-when-you-are-done-the-short-version.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=35960" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Development/default.aspx">Development</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Writing/default.aspx">Writing</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Design/default.aspx">Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Normalization/default.aspx">Normalization</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Terminology/default.aspx">Terminology</category></item><item><title>Chapters Two, Three, and Four</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2011/02/22/chapters-two-three-and-four.aspx</link><pubDate>Wed, 23 Feb 2011 04:21:39 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:33709</guid><dc:creator>drsql</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/33709.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=33709</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=33709</wfw:comment><description>I am trying to blog all of the chapters of the book, but due to deadlines and a lot of shuffling about, I never got around it for these three chapters, two of which I have added since I wrote the original table of contents. All of these contain mostly...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2011/02/22/chapters-two-three-and-four.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=33709" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Writing/default.aspx">Writing</category></item><item><title>Design Book–Dimensional or No Dimensional, that is..the question</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2010/11/30/design-book-dimensional-or-no-dimensional-that-is-the-question.aspx</link><pubDate>Wed, 01 Dec 2010 02:29:31 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:31199</guid><dc:creator>drsql</dc:creator><slash:comments>3</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/31199.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=31199</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=31199</wfw:comment><description>So, it is right there in the title of the book “Relational Database Design” etc (the title is kinda long :)&amp;#160; But as I consider what to cover and, conversely, what not to cover, dimensional design inevitably pops up. So I am considering including...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2010/11/30/design-book-dimensional-or-no-dimensional-that-is-the-question.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=31199" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Writing/default.aspx">Writing</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Design/default.aspx">Design</category></item><item><title>Design Book– First Section (Skills)</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2010/11/22/design-book-first-section-skills.aspx</link><pubDate>Tue, 23 Nov 2010 03:04:23 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:30887</guid><dc:creator>drsql</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/30887.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=30887</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=30887</wfw:comment><description>One of the main things that I haven’t always loved about the previous books is that it wasn’t a perfect reference book. I focused on having a flow throughout the book that, not unlike a school class, started at the beginning and finished at the end. Interspersed...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2010/11/22/design-book-first-section-skills.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=30887" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Writing/default.aspx">Writing</category></item><item><title>Design Book–Top level outline</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2010/11/16/design-book-top-level-outline.aspx</link><pubDate>Wed, 17 Nov 2010 04:10:12 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:30662</guid><dc:creator>drsql</dc:creator><slash:comments>11</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/30662.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=30662</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=30662</wfw:comment><description>The more I teach sessions about database design, the more I realize that two things are true. First, most people don’t dig the normalization stuff as much as I do (some do), and second, people really need the normalization stuff more than they think....(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2010/11/16/design-book-top-level-outline.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=30662" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Writing/default.aspx">Writing</category></item><item><title>Seventh pillar - Encapsulated</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2009/10/23/seventh-pillar-encapsulated.aspx</link><pubDate>Fri, 23 Oct 2009 21:50:52 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:18186</guid><dc:creator>drsql</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/18186.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=18186</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=18186</wfw:comment><description>The final numbered post in this version of my “pillar” series of posts ends in the most contestable part of the design/implementation process.&amp;#160; Encapsulation. The concept of encapsulation is not contested (or even contestable by sane programmers...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2009/10/23/seventh-pillar-encapsulated.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=18186" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Design/default.aspx">Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Pillars/default.aspx">Pillars</category></item><item><title>Fifth pillar - Secure</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2009/10/06/fifth-pillar-secure.aspx</link><pubDate>Tue, 06 Oct 2009 23:52:42 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:17330</guid><dc:creator>drsql</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/17330.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=17330</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=17330</wfw:comment><description>As I have mentioned in all of the previous posts, basic functionality is the foundation of any system. So it goes without saying that if you have just implemented a payroll system, everyone is getting paid.&amp;#160; To meet the basic bar that EVERYONE agrees...(&lt;a href="http://sqlblog.com/blogs/louis_davidson/archive/2009/10/06/fifth-pillar-secure.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=17330" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Pillars/default.aspx">Pillars</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Security/default.aspx">Security</category></item><item><title>What is a physical database?</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2009/06/11/what-is-a-physical-database.aspx</link><pubDate>Thu, 11 Jun 2009 22:26:36 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:14601</guid><dc:creator>drsql</dc:creator><slash:comments>4</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/14601.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=14601</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=14601</wfw:comment><description>&lt;p&gt;A bit of terminology that gets beaten to death is that of the “physical” database.&amp;#160; I would think most every DBA uses this term (I do), but…to mean what?&amp;#160; I think there are two common utilizations:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The layer of tables, constraints, indexes, etc used to store data &lt;/li&gt;    &lt;li&gt;The actual on-disk structures. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Frankly, until 3 years ago, I used the first interpretation.&amp;#160; However, I was beaten up pretty badly by a few people whom I don’t really remember (I think &lt;a href="http://www.simple-talk.com/author/anith-sen/" target="_blank"&gt;Anith Sen&lt;/a&gt; was one of them.)&amp;#160; The problem is, I was scolded, &lt;strong&gt;“physical”&lt;/strong&gt; already had a meaning, given it by the “founder” himself, EF Codd. &lt;/p&gt;  &lt;p&gt;So, checking his 12 Rules, Codd stated the following two things:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Rule 8:&lt;/b&gt; &lt;i&gt;Physical data independence&lt;/i&gt;: &lt;/p&gt; Changes to the physical level (how the data is stored, whether in arrays or linked lists etc.) must not require a change to an application based on the structure.   &lt;p&gt;&lt;b&gt;Rule 9:&lt;/b&gt; &lt;i&gt;Logical data independence&lt;/i&gt;: &lt;/p&gt; Changes to the logical level (tables, columns, rows, and so on) must not require a change to an application based on the structure. Logical data independence is more difficult to achieve than physical data independence.   &lt;p&gt;And actually, the implementation layer really is the logical model if you follow his terminology since his rules were pertaining to the relational model and not the entire design process.&amp;#160; This article says it better than I can in a long blog, but I am not sure about that URL (mac.com?): &lt;/p&gt;  &lt;p&gt;&lt;a href="http://homepage.mac.com/s_lott/iblog/architecture/C465799452/E20080301143528/"&gt;http://homepage.mac.com/s_lott/iblog/architecture/C465799452/E20080301143528/&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The physical layer of a relational database occurs down at the file system level.&amp;#160; Codd's &amp;quot;Rule 8&amp;quot; (Physical Data Independence) says that the things we're designing in ERwin (and similar tools) are the things our application depends on.&amp;#160; These are not physical in nature, but are the relational implementation.&amp;#160; &lt;/p&gt;  &lt;p&gt;So the thing I am trying to say is that physical means that a little 5 volt charge is sitting there representing a bit of data in the physical world.&amp;#160; I like the term logical to mean implementation platform non-specific.. The thing in the middle is the SQL Server/Relational&amp;#160; implementation specific model.&amp;#160; It may take liberties to optimize for SQL Server, but it is not physical. That is were partitioning. indexing, filegroups, etc come in. Changes to this layer ought never be noticable by the application.&amp;#160; &lt;/p&gt;  &lt;p&gt;I guess in the comments, I ought to expect a good number of replies that might start to answer the question.&amp;#160; Does it matter? Is it only semantics? Hey if you don’t think semantics matter, I hope that when you find yourself drowning that the person who has the choice of tossing you a life preserver or a sack of door knobs interprets the meaning of your cry for help in the way you intended. You would hate to find yourself at the bottom of a lake thinking “hmm, I wonder why they did that? Did they hate me, of just mis-interpret the meaning of my sentence?&amp;quot; &lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=14601" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Development/default.aspx">Development</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Writing/default.aspx">Writing</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Requirements/default.aspx">Requirements</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Design/default.aspx">Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Terminology/default.aspx">Terminology</category></item><item><title>Checkpoint – Four pillars down, Three to Go</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2009/05/14/checkpoint-four-pillars-down-three-to-go.aspx</link><pubDate>Thu, 14 May 2009 22:32:51 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:14068</guid><dc:creator>drsql</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/louis_davidson/comments/14068.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/louis_davidson/commentrss.aspx?PostID=14068</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/louis_davidson/rsscomments.aspx?PostID=14068</wfw:comment><description>&lt;p&gt;With the previous post on the fourth pillar, I have reached the “end” of the design posts.&amp;#160; To review, these were:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Coherent&lt;/strong&gt; – cohesive, comprehendible, standards based, names/datatypes all make sense, needs little documentation &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Normal&lt;/strong&gt; – normalized as much as possible without harming usability/performance (based on testing) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Fundamentally Sound&lt;/strong&gt; – fundamental rules enforced such that you don’t have to check datatypes, base domains, relationships, etc &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Documented&lt;/strong&gt; – Anything that cannot be gather from the previous four is written down and/or diagrammed for others &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;When you are looking at a database that you have NO idea what it does, or why it exists, these things I have so far outlined will be the sorts of things you notice first. If NOT(normalized AND understandable AND data protected AND documented) = TRUE, then you will feel it and really hope that you are an hours based contractor with your highest rate and a set time to pack up and head elsewhere richer than a .&amp;#160; If the opposite is true, being an employee for that company is where you want to be.&lt;/p&gt;  &lt;p&gt;Looking back, one thing stands out to me as a possible (reasonable) concern. I didn’t include anything about “complete”.&amp;#160; By the time my next edition of “&lt;a href="http://www.amazon.com/Server-Relational-Database-Design-Implementation/dp/143020866X/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1239376595&amp;amp;sr=8-1"&gt;Pro SQL Server 2008 Relational Database Design and Implementation&lt;/a&gt;” rolls around, it might.&amp;#160; However, my initial thinking was that these were characteristics beyond the basic “it must at least work” benchmark that should be obvious to any semi-logical human being (which I suppose limits the gene pool, but at least most readers of my book who don’t misunderstand the term data model as a social activity will meet that requirement). I sort of hope it goes without saying to those folks that a database cannot be a good database without it serving the needs of the users. The only thing I am trying to point out in these pillars is to ascertain how cleanly the database does that task. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;I also think that I might do some rearranging to make Normal and Sound Theory as the foundation and just have six pillars.&amp;#160; Either way, things will change.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;For example, if you were modeling a time entry system, no matter how normalized, understandable, data protected and documented your system was, if you failed to capture who was entering time and the employees never got paid, your database would suck.&amp;#160; In fact, I would go so far as to warn you to expect a large group of people at your door with pitchforks and torches ready to give you an alternate meaning to the term “perforated colon” or at least a crash course in database design/implementation.&lt;/p&gt;  &lt;p&gt;The thing is that anyone building a system to capture employee’s time and getting them paid would do a certain set of things, even if the entire system was done on paper. The fact is, rare is the case that a system is created that won’t minimally do the task that was originally asked for in some reasonably decent manner. In fact, this can, as a person who wants to get it done right, be your biggest enemy.&amp;#160; Getting it done well can easily take a back seat to just getting it done.&amp;#160; Worse still, there is some truth to the logic to this statement.&amp;#160; As the old saying goes:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Better is the enemy of good enough     &lt;br /&gt;&lt;/em&gt;&lt;a href="http://en.wikipedia.org/wiki/Sergey_Gorshkov" target="_blank"&gt;&lt;em&gt;Admiral of the Fleet of the Soviet Union Sergey Georgiyevich Gorshkov&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;But the problem with that saying is in the interpretation. What is “good enough”? To me, this lack of a definition of good enough is what derails a lot of projects where this is the sentiment. If you don’t define “good enough” as being a solid platform for growth and usability, this is pretty much a half truth, and a half truth is far more difficult to deal with than a complete lie.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;And then she understood the devilish cunning of the enemies’ plan. By mixing a little truth with it they had made their lie far stronger.     &lt;br /&gt;C. S. Lewis, The Last Battle&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;As the architect of a system, just getting it done is NOT the goal. It is a very important step along the way to the actual goal, but it is not the goal. Malleable software that can grow and expand to meet the needs of the users now and in the future is the goal that serves your customers best. The cost of creating and managing software over months and years is often a lot more than is initally thought. The cost of having a human do the work on paper and filing cabinets can be more efficient and cheaper than poorly written, hard to manage software.&amp;#160; Too often computers just turn a bunch of paper forms into bits and bytes rather than streamlining a process to make the computer do the work for you.&amp;#160; Sometimes it is just protecting the jobs of others that causes this, but the fact is, eliminating a job of a person who pushes a button over and over every day will allow someone to be hired to do actual work (even the button pusher!) that can add to the bottom line, not simply waste resources.&lt;/p&gt;  &lt;p&gt;The pillars were conceived a “catch phrase” to help think about how we can ease the process of getting the system built, created, and eventually maintained in a manner that helps the eventual product be useful for years to come, and in the process help you to become a respected member of your team, not the one who is talked about as a “good riddance” once you have finally left the company. &lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=14068" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Database+Design/default.aspx">Database Design</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://sqlblog.com/blogs/louis_davidson/archive/tags/Pillars/default.aspx">Pillars</category></item></channel></rss>