<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-20242006</id><updated>2012-02-16T01:42:56.915-08:00</updated><title type='text'>Data Glass</title><subtitle type='html'>Important Things about Data Modeling, Data Warehousing, and Techniques.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-20242006.post-231063773799220878</id><published>2008-11-25T13:04:00.001-08:00</published><updated>2008-11-25T13:07:19.269-08:00</updated><title type='text'>How To: Naturalize (Flatten) Child/Parent Hierarchies for use as Dimensions</title><summary type='text'>I keep getting the need to quickly Naturalize hierachies for analysis. So here is a sample script that accomplishes this:set nocount ondeclare @Temp1 table(RecordID int Primary key NOT NULL ,ParentRecordID int,Description nvarchar(1000))/* Start loading of test data */insert into @Temp1 values(1,null,'CEO')insert into @Temp1 values(2,1,'VP Marketing')insert into @Temp1 values(3,1,'VP Operations')</summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/231063773799220878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=231063773799220878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/231063773799220878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/231063773799220878'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2008/11/how-to-naturalize-flatten-childparent.html' title='How To: Naturalize (Flatten) Child/Parent Hierarchies for use as Dimensions'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-4041001369862571694</id><published>2008-07-17T13:48:00.001-07:00</published><updated>2008-07-17T13:59:58.659-07:00</updated><title type='text'>Standard Models for the Service Provider Industry</title><summary type='text'>More and more companies on the internet are providing services to other people, companies, or service providers.    These companies are in thier own right "Service Providers".If you are a modeler or developer that is working for a service provider or wish to provide a new service, you may find the TMForum to be a great place to start.   They provide an industry standard framework for service </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/4041001369862571694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=4041001369862571694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/4041001369862571694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/4041001369862571694'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2008/07/standard-models-for-service-provider.html' title='Standard Models for the Service Provider Industry'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-2905966896271144539</id><published>2008-07-17T13:42:00.000-07:00</published><updated>2008-07-17T13:45:45.552-07:00</updated><title type='text'>UML vs. IDEF1x</title><summary type='text'>This is very useful article that does a comparitive mapping between UML and IDEF1x for those who are ERWin users and have a need to use a UML tool such as Rational Rose or Sparx.http://www.dama-michigan.org/2%20Jerry%20Stembridge%20Feature%20Article.htm</summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/2905966896271144539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=2905966896271144539' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/2905966896271144539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/2905966896271144539'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2008/07/uml-vs-idef1x.html' title='UML vs. IDEF1x'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-4011904909828741844</id><published>2007-12-27T12:33:00.000-08:00</published><updated>2008-01-10T09:06:31.925-08:00</updated><title type='text'>Free Code:  Bulk Loading and Partitioning Tables</title><summary type='text'>ZIP File: TablePartitioningTool.zipThis experimental toolset is a result of my desire to have a simple repeatable solution for a complex problem: Table Loading and Partitioning Management for time based event data.1. Loading can be a sore spot in any ETL pipeline when it is too slow. This results in an ever-increasing backlog of import data.2. Partitioning within SQL Server 2005 is an extremely </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/4011904909828741844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=4011904909828741844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/4011904909828741844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/4011904909828741844'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2007/12/free-code-loading-and-partitioning.html' title='Free Code:  Bulk Loading and Partitioning Tables'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-1983052075665211466</id><published>2007-12-10T08:31:00.000-08:00</published><updated>2008-02-07T21:07:51.454-08:00</updated><title type='text'>How To:  Delete Duplicate Data (DeDup)</title><summary type='text'>ETL processes typically will run across the need to delete duplicate records. The fastest and simplist way I know of is to create a Primary Key (or unique index) on the table with the instruction to IGNORE_DUP_KEY=ON . Then when you bulk copy or insert data into the table, SQL quickly ingores the duplicates.Example: CREATE TABLE #Temp (ID INT NOT NULL)ALTER TABLE #TempADD PRIMARY KEY (ID ASC)WITH</summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/1983052075665211466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=1983052075665211466' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/1983052075665211466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/1983052075665211466'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2007/12/how-to-delete-duplicate-data-dedup.html' title='How To:  Delete Duplicate Data (DeDup)'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-5759259582975825950</id><published>2007-11-21T07:33:00.000-08:00</published><updated>2007-11-21T07:48:53.910-08:00</updated><title type='text'>How To: Advanced Queryable Compression (Continued from previous post)</title><summary type='text'>Reducing I/O for a processing Pipeline is critical when processing high volume of data. By reducing your I/O you reduce the load on the network, Hard Drives, and CPU memory.The following is a research paper from Vijayshankar Raman called:“How to Wring a Table Dry: Entropy of Relations and Querying of Compressed Relations”. http://portal.acm.org/citation.cfm?id=1164201Here is Vijayshankar Raman's </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/5759259582975825950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=5759259582975825950' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/5759259582975825950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/5759259582975825950'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2007/11/how-to-advanced-queryable-compression.html' title='How To: Advanced Queryable Compression (Continued from previous post)'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-6583663006198395317</id><published>2007-11-20T22:20:00.000-08:00</published><updated>2007-11-22T11:32:08.631-08:00</updated><title type='text'>Meta Data VS. Meta Model VS. Data Repository</title><summary type='text'>To clarify some thoughts and clear up some confusion, here is some definitions...Definition: Meta DataInformation about information. Basically its documentation about information used or contained by various systems. Example: Data Dictionaries &amp; Data Model Diagrams.This is on excellent thing to do at the beginning of a project, no matter how small a project it is. See my thoughts on data modeling</summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/6583663006198395317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=6583663006198395317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/6583663006198395317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/6583663006198395317'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2007/11/meta-data-vs-meta-model.html' title='Meta Data VS. Meta Model VS. Data Repository'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-1848623857169327090</id><published>2007-11-05T15:04:00.000-08:00</published><updated>2007-11-07T13:02:02.343-08:00</updated><title type='text'>Free Code: Stored Procedure Code Generator</title><summary type='text'>The above link provides the following:1. DBCodeGeneration.zip Description: You will find that 80% of all stored procedures in a transaction database are all very predictable and can be auto generated.   Using a code generator will save you time and create symmetry within your database which increases predictability and stability for the overall system. This will allow you to focus on the other </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/1848623857169327090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=1848623857169327090' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/1848623857169327090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/1848623857169327090'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2007/11/free-code-stored-procedure-code.html' title='Free Code: Stored Procedure Code Generator'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-5206957576356766318</id><published>2007-08-14T15:19:00.000-07:00</published><updated>2007-08-21T11:52:15.911-07:00</updated><title type='text'>Free Code:  Audit Tables and Change Control</title><summary type='text'>The above link provides the following:1. DBAuditTrackingTool.zip Description: This tool audits your database tables without changing the table orginal table schema. Tracks what, when, and who changed a row within a table. Each table has a corrisponding history table and trigger to audit a table.Feature List:1. Track all who, what, and when changes have been made to any table.2. Auto Generates the</summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/5206957576356766318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=5206957576356766318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/5206957576356766318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/5206957576356766318'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2007/08/free-code-audit-tables-and-change.html' title='Free Code:  Audit Tables and Change Control'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-3846013324990233624</id><published>2007-08-01T13:50:00.000-07:00</published><updated>2007-11-21T07:49:43.423-08:00</updated><title type='text'>How To:  Simple Query-able Compression (No need to decompress to read file)</title><summary type='text'>Do you wish to compress your data without having to decompress it to read it? Most people will think of RAR or ZIP compression when they need to save space on the hard drive. This may save storage and I/O load, but the side effect of this approach will require you to decompress the file every time you need to access it. The following is a means to compress your data without requiring </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/3846013324990233624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=3846013324990233624' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/3846013324990233624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/3846013324990233624'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2007/08/query-able-compression-no-need-to.html' title='How To:  Simple Query-able Compression (No need to decompress to read file)'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-942061059364815307</id><published>2006-12-18T18:45:00.000-08:00</published><updated>2007-11-05T19:09:24.115-08:00</updated><title type='text'>HOW TO:  Sessionize Events</title><summary type='text'>This is a how to do sessionizing using SQL with just a set of events. We use alot of self-joins to accomplish this task.Steps:Determine your session timeout length.Order events by date. Identify the Exit Point Event and the duration between events. The Exit Point is the event that has a duration greater than the session timeout length. Finally you can identify the sessionID and assign a sequence </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/942061059364815307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=942061059364815307' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/942061059364815307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/942061059364815307'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2006/12/how-to-sessionizing-events.html' title='HOW TO:  Sessionize Events'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-116242028034699920</id><published>2006-11-01T14:14:00.000-08:00</published><updated>2006-11-02T08:48:45.923-08:00</updated><title type='text'>A Place For a Meta Model:  System Configuration!</title><summary type='text'>Now I know I stated in previous posts that I'm not really excited about Meta models. But there is a place for them. They can be used sparingly here-and-there where the business area is blurred or when you need to store system configuration! Yep. A system can have many services that need to be controlled by a central database. A meta model fits the bill.Having a database schema that is flexibable </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/116242028034699920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=116242028034699920' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/116242028034699920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/116242028034699920'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2006/11/place-for-meta-model-system.html' title='A Place For a Meta Model:  System Configuration!'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-114339724805939375</id><published>2006-03-26T10:18:00.000-08:00</published><updated>2006-03-26T10:50:30.433-08:00</updated><title type='text'>How To:  Experience the Data Model</title><summary type='text'>Not everyone can be proficient at creating and comprehending data models. Modeling is a very abstract concept with its own unique hieroglyphic language. So to make it easy on everyone, why not allow people to experience the model as you design it.How? 1. As your defining the logical data model, stop each week and create a physical model based on the logical model designed so far2. Create the data</summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/114339724805939375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=114339724805939375' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114339724805939375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114339724805939375'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2006/03/how-to-experience-data-model.html' title='How To:  Experience the Data Model'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-114317602407537105</id><published>2006-03-23T20:29:00.000-08:00</published><updated>2006-03-24T14:41:33.873-08:00</updated><title type='text'>Model Design Patterns For: Document Management System</title><summary type='text'>The following design pattern I’ve known for several years and have implemented it to great success.  The subtles are what will save you:     1. Having an explicit ExpirationDate will save you having to look up what an initial contract’s end date is when you imply that the Start date of the replacing contract is the end of initial contract (When in doubt, be explicit not implicit);     2. You can </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/114317602407537105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=114317602407537105' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114317602407537105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114317602407537105'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2006/03/model-design-patterns-for-document.html' title='Model Design Patterns For: Document Management System'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-114300201001631237</id><published>2006-03-21T20:03:00.000-08:00</published><updated>2006-03-21T22:02:19.476-08:00</updated><title type='text'>Modeling Questionnaire</title><summary type='text'>Here are some strategic questions to ask key business personnel to help accurately model how the business uniquely defines its information.Entity Questions:1. What is the list of Items (or Entities) that you are tracking or would like to track?2. How do you uniquely identify each {Entity Name Here} ?3. Do you manually assign identification to each {Entity Name Here}?4. Can the unique identifier </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/114300201001631237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=114300201001631237' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114300201001631237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114300201001631237'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2006/03/modeling-questionnaire.html' title='Modeling Questionnaire'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-114247632098924821</id><published>2006-03-15T18:19:00.000-08:00</published><updated>2006-03-16T12:43:16.900-08:00</updated><title type='text'>How To: Build a Change Log into Your Database</title><summary type='text'>How do you track all changes for a table within a database? Easy. Build a corrisponding history table that mirrors the table in question with the addition of a datetime column to the primary key and an action column to indentify the action that got this item into the history table (Insert, Update, Delete). The history table is maintained by a trigger on the master table.Example:Person -----------</summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/114247632098924821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=114247632098924821' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114247632098924821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114247632098924821'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2006/03/how-to-build-change-log-into-your.html' title='How To: Build a Change Log into Your Database'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-114210482826852715</id><published>2006-03-11T11:00:00.000-08:00</published><updated>2006-03-11T11:38:40.010-08:00</updated><title type='text'>Logical Data Modeling: An Introduction</title><summary type='text'>Data Modeling In GeneralI found it worthy to note that the purpose of creating a normalized logical data model is to accurately document the business entities and relationships between them in a detailed model. The value of this logical model is two fold: One is for the business owners to have detailed comprehension of their own business information; Second is to transfer this business knowledge </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/114210482826852715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=114210482826852715' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114210482826852715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114210482826852715'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2006/03/logical-data-modeling-introduction.html' title='Logical Data Modeling: An Introduction'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-114057760527266429</id><published>2006-02-21T18:51:00.000-08:00</published><updated>2008-01-13T21:23:04.905-08:00</updated><title type='text'>Reasons for Partitioning Your Data</title><summary type='text'>Partitioning splits data across multiple tables, databases, and/or database servers. There are two types; vertical and horizontal partitioning. Horizontal partitioning divides data across mutiple tables based on rows that fall within the appropriate partition rules. Each partition has the same columns, but has its own partition rule (Example: Between 01/01/2005-02/01/2005). Veritical partitioning</summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/114057760527266429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=114057760527266429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114057760527266429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/114057760527266429'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2006/02/reasons-for-partitioning-your-data.html' title='Reasons for Partitioning Your Data'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-113980290936456579</id><published>2006-02-12T19:48:00.000-08:00</published><updated>2006-11-15T13:29:18.486-08:00</updated><title type='text'>How To: Hierarchal Lookups Without a Cursor</title><summary type='text'>Reporting on hierarchal tables (Child/Parent relationship) tables can be a huge time bottleneck when using an iterative cursor process. Here is a speedy way to look up hierarchal information.Original Hierarchal TableTraditionally hierarchal tables self reference its own primary key and giving it a parent role name. Example:Person PersonID (PK) , Name (Attributes) , ParentPersonID (Self Ref. </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/113980290936456579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=113980290936456579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113980290936456579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113980290936456579'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2006/02/how-to-hierarchal-lookups-without.html' title='How To: Hierarchal Lookups Without a Cursor'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-113901621368982735</id><published>2006-02-03T17:07:00.000-08:00</published><updated>2006-03-11T15:24:50.230-08:00</updated><title type='text'>Best Practices for SQL Design Patterns</title><summary type='text'>I’m a firm believer in creating symmetry through design patterns where it is applicable. Using good modeling techniques and naming conventions on data and process definitions will enable easier code generation.  80% of an application can be code generated based on templates that enforce design patterns.  The remaining 20% may need to vary a little from the standards when it is too “costly” to do </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/113901621368982735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=113901621368982735' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113901621368982735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113901621368982735'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2006/02/best-practices-for-sql-design-patterns.html' title='Best Practices for SQL Design Patterns'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-113580010503596664</id><published>2005-12-28T11:28:00.000-08:00</published><updated>2005-12-28T12:01:45.043-08:00</updated><title type='text'>Instrumentation of Websites</title><summary type='text'>If you want to successfully mine useful data from your web logs, you should carefully instrument your websites.  Garbage in, Garbage out.  Parameters in the URL can be easily mined, but they should be standardized across all your websites or properties.  This will simplify the Business and Customer Intelligence mining process and increase accuracy. Somethings to Track:1.  Page Views2.  User </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/113580010503596664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=113580010503596664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113580010503596664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113580010503596664'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2005/12/instrumentation-of-websites.html' title='Instrumentation of Websites'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-113579741365351651</id><published>2005-12-28T10:53:00.000-08:00</published><updated>2006-02-04T14:14:17.773-08:00</updated><title type='text'>Common Things</title><summary type='text'>The following is a list of common concepts that are commonly found within a data warehouse or transaction database.Some things to think about:1. Table Names a. Domain Tablesb. Domension Tablesc. Rule Tablesd. Fact Tablese. Index Tablesf. Log or Change History Tablesg. General Table2. Table Column Names a. ID, SKb. Code, Name, Descriptionc. Binary Indicators/Flagsd. Ranges: Start and Ende. </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/113579741365351651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=113579741365351651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113579741365351651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113579741365351651'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2005/12/common-things.html' title='Common Things'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-113572397147860664</id><published>2005-12-27T14:43:00.000-08:00</published><updated>2005-12-27T14:53:35.913-08:00</updated><title type='text'>Data Modeling Verses Building a Universal Meta Data Model</title><summary type='text'>Arguments I use for people that over use meta-data Models.  (Mostly by over zealous C++, C#, Java Developers, UI developers, and beginning data modelers)You May Not Know Your BusinessThe purpose of Data Modeling, in short, is to accurately define your business and relationships between business concepts in great detail.  Meta Modeling your whole business sends a red flag which states that you may</summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/113572397147860664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=113572397147860664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113572397147860664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113572397147860664'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2005/12/data-modeling-verses-building.html' title='Data Modeling Verses Building a Universal Meta Data Model'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20242006.post-113572325398478157</id><published>2005-12-27T14:04:00.000-08:00</published><updated>2005-12-27T14:41:46.816-08:00</updated><title type='text'>Business Drowning In Customer Information, Yet Don't Understand Their Customers</title><summary type='text'>From my personal experience in database development over the 15 years of my career, I have seen many businesses suffer from information glut without a means to quickly and cheaply mine their data.  A single business can lose Terabytes of data every day without ever relinquish its secrets and benefiting its owner with its hidden treasures.Businesses may or may not even know what they are looking </summary><link rel='replies' type='application/atom+xml' href='http://dataglass.blogspot.com/feeds/113572325398478157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20242006&amp;postID=113572325398478157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113572325398478157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20242006/posts/default/113572325398478157'/><link rel='alternate' type='text/html' href='http://dataglass.blogspot.com/2005/12/business-drowning-in-customer.html' title='Business Drowning In Customer Information, Yet Don&apos;t Understand Their Customers'/><author><name>Scott</name><uri>http://www.blogger.com/profile/07884774285476356003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
