<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Practical Data Architecture &#187; Database Design</title>
	<atom:link href="http://bruceworobec.wordpress.com/category/database-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://bruceworobec.wordpress.com</link>
	<description>Random thoughts on data modeling and database design, by Bruce Worobec</description>
	<lastBuildDate>Wed, 13 Aug 2008 22:42:47 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='bruceworobec.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/93a4de1800f640f2db999e277d6901fe?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Practical Data Architecture &#187; Database Design</title>
		<link>http://bruceworobec.wordpress.com</link>
	</image>
			<item>
		<title>Case Study:  West Coast Bargain Books</title>
		<link>http://bruceworobec.wordpress.com/2008/08/12/case-study-west-coast-bargain-books/</link>
		<comments>http://bruceworobec.wordpress.com/2008/08/12/case-study-west-coast-bargain-books/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 18:49:48 +0000</pubDate>
		<dc:creator>Bruce Worobec</dc:creator>
				<category><![CDATA[Data Modeling]]></category>
		<category><![CDATA[Database Design]]></category>
		<category><![CDATA[Real World Examples]]></category>

		<guid isPermaLink="false">http://bruceworobec.wordpress.com/?p=16</guid>
		<description><![CDATA[ Early in 2004, West Coast Bargain Books was looking for someone to upgrade a number of home grown MS Access databases to SQL Server to solve some performance issues.  They thought it would be about a two week effort.  While validating the scope of the project, it quickly became apparent that the performance issues were [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bruceworobec.wordpress.com&blog=4489982&post=16&subd=bruceworobec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p> <span style="font-size:9pt;font-family:Arial;">Early in 2004, West Coast Bargain Books was looking for someone to upgrade a number of home grown MS Access databases to SQL Server to solve some performance issues.<span>  </span>They thought it would be about a two week effort.<span>  </span>While validating the scope of the project, it quickly became apparent that the performance issues were related to more fundamental problems.<span>  </span>Since no data modeling had ever been done, the multiple Access databases were inconsistent and suffered from major design flaws.<span>  </span>The recommendation was to not upgrade the existing system to SQL Server since few of the current problems would be solved.</span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:Arial;">Faced with a flawed system and no upgrade path, they asked what they could do.<span>  </span>The philosophy of Worobec Consulting has always been to buy something off the shelf if it meets your needs.<span>  </span>If no system exists in the marketplace and significant competitive advantage can be gained by building a customized solution, then go for it.<span>  </span>In either case, build or buy, you need a couple of high-level models to help make the right decisions early in the project.</span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:Arial;">We conducted a two-day facilitated session to product a Business Function Model (BFM) and a Conceptual Data Model (CDM).<span>  </span>These two models are necessary whether you are building or buying.<span>  </span>If buying, the BFM can serve as a functional checklist to evaluate potential systems and the CDM can be compared to the database design to determine whether all data identified in the modeling session is supported.<span>  </span>If building, the two models help to define scope and form the basis of the conceptual design.<span>  </span>The two models produced during the session are shown below.</span></p>
<p class="MsoTitle" style="text-align:center;"><span style="font-weight:bold;font-size:14pt;font-family:Arial;">Business Function Model</span></p>
<p class="MsoTitle" style="text-align:center;"><span style="font-weight:bold;font-size:12pt;font-family:Arial;">Main Function:<span>  </span>Buy and Sell Books and Related Media Products</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Buy books</span></h1>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Find vendor</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Determine books to carry</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Evaluate / negotiate a deal</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Place a purchase order</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Arrange shipping</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Receive books</span></h1>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Create space / location</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Sort books</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Locate books</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Record physical attributes (remainder mark, condition, etc)</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Offer books for sale</span></h1>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Allocate books to a channel (reserved or not)</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Price books (subjective or calculated)</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Generate list / sample / show</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Receive an order</span></h1>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Record</span></p>
<p class="MsoNormal" style="margin-left:144pt;text-indent:-18pt;"><span style="font-size:9pt;font-style:italic;font-family:Arial;">Who</span></p>
<p class="MsoNormal" style="margin-left:144pt;text-indent:-18pt;"><span style="font-size:9pt;font-style:italic;font-family:Arial;">What</span></p>
<p class="MsoNormal" style="margin-left:144pt;text-indent:-18pt;"><span style="font-size:9pt;font-style:italic;font-family:Arial;">Where to send</span></p>
<p class="MsoNormal" style="margin-left:144pt;text-indent:-18pt;"><span style="font-size:9pt;font-style:italic;font-family:Arial;">How to send</span></p>
<p class="MsoNormal" style="margin-left:144pt;text-indent:-18pt;"><span style="font-size:9pt;font-style:italic;font-family:Arial;">When to send</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Meet customer needs</span><span style="font-weight:bold;font-size:9pt;font-family:Arial;"> </span><span style="font-size:9pt;font-family:Arial;">(no peanuts, sticker books etc)</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Approve credit / payment</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Fulfill an order</span></h1>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Generate pull sheet</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Pull books</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Prep books</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Pack books</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Determine freight requirements</span></p>
<p class="MsoNormal" style="margin-left:72pt;"><span style="font-size:9pt;font-family:Arial;">Finalize invoice</span></p>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Collect payment</span></h1>
<h1><span style="font-weight:bold;font-size:9pt;font-family:Arial;">Process returns and claims</span></h1>
<p class="MsoNormal" style="text-align:center;"><span style="font-size:large;font-family:Arial;"><strong>Conceptual Data Model</strong></span></p>
<p class="MsoNormal"><span style="font-family:Arial;"><a href="http://bruceworobec.wordpress.com/2008/08/12/case-study-west-coast-bargain-books/wcbb/">http://bruceworobec.wordpress.com/2008/08/12/case-study-west-coast-bargain-books/wcbb/</a></span></p>
<p class="MsoNormal"><span style="font-family:Arial;">Armed with the results of the modeling session,<span>  </span>WCBB went of to search the marketplace for<span>  </span>a suitable system.<span>  </span>The systems they found either did not fully meet their needs or were too expensive.<span>  </span>After much debate the decision was to build a custom solution.<span>  </span>SQL Server was chosen as the database and Access was chosen as the front end to leverage the expertise they had in house.<span>  </span>The system went live in January, 2006.<span>  </span>The finished system took approximately 600 hours of Worobec Consulting time and probably twice that number of hours spent by their internal resources.<span>  </span>An additional project objective was to train their staff to perform ongoing support and database administration of the system.</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bruceworobec.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bruceworobec.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bruceworobec.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bruceworobec.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bruceworobec.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bruceworobec.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bruceworobec.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bruceworobec.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bruceworobec.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bruceworobec.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bruceworobec.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bruceworobec.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bruceworobec.wordpress.com&blog=4489982&post=16&subd=bruceworobec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bruceworobec.wordpress.com/2008/08/12/case-study-west-coast-bargain-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25946b844786a23cab191cf1550f7634?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Bruce</media:title>
		</media:content>
	</item>
	</channel>
</rss>