July 21, 2011 at 2:42 pm
I don't understand the reason for avoiding normalized design?
The suggested design violates first normal form and should not be considered seriously in a relational database system.
SQL_Variant might be useful in some kind of ETL process to load various pieces of data into a table that would then be cast/converted to appropriate tables for storage. SQL_variant is extremely problematic to work with when querying or extracting from tables that use it.
July 21, 2011 at 3:07 pm
andersg98 (7/21/2011)
I don't understand the reason for avoiding normalized design?The suggested design violates first normal form and should not be considered seriously in a relational database system.
SQL_Variant might be useful in some kind of ETL process to load various pieces of data into a table that would then be cast/converted to appropriate tables for storage. SQL_variant is extremely problematic to work with when querying or extracting from tables that use it.
OLTP and OLAP (data warehouse/decision support) databases are designed differently.
In an OLTP database you typically normalize the data tables to a certain level (3rd normal form perhaps) with maybe some level of denormalization where needed or appropriate.
In a data warehouse you typically use a dimensional modelling which results in a flatter structure and the data is highly denormalized.
Both designs are valid, and both serve different purposes.
July 21, 2011 at 5:02 pm
I have studied Kimball methodology extensively and have built several data marts and warehouse systems. The data in a dimensional model is actually completely normalized (nothing but keys and measures) the dimensions are denormalized for the performance that is gained by using hash joins against the fact table and they usually have far fewer rows even when denormalized. Sometimes it is prudent to reduce a dimension in size by "snowflaking" one of the columns into a child/lookup table. Doing this is discouraged by Kimball but is still functional within the dimensional model.
July 27, 2011 at 2:23 pm
So a bit value is 1 or 0
A date is 20110728
A Money value is 65000
If money is a whole value then why not use an INT?
If money is a decimal value then just use a DECIMAL(9,2) or something suitable for the scale of money you use.
Viewing 4 posts - 16 through 18 (of 18 total)
You must be logged in to reply to this topic. Login to reply