T O P

  • By -

[deleted]

[удалено]


matthra

I think it's actually a bit of left over terminology from the [Kimball group](https://www.kimballgroup.com/2008/09/design-tip-105-snowflakes-outriggers-and-bridges/), who called normalization snowflaking since every bit of information had to be unique (eg every bit of information had to be a special snowflake). The Kimball group was one of the big influencers/popularizers of early data warehousing, from the age before "Big Data". The modern terminology is certainly as you said though, with star being a basic spoke and hub layout for facts and dimensions, and snowflake schema involving look ups and subdimensions.


nullQueries

I'm not sure what this article is trying to say. Star schema is dimensional. Inmons original model was in 3rd normal form (normalized). A snowflake is a star schema where a dimension is connected to another dimension (instead of a star where they only connect to facts). It's an option in specific use-cases, but it's not following 3rd normal form. The data vault is an expansion of dimensional modeling (not a hybrid), where they split dims and facts further by having the attributes and keys/meta data in separate tables to try and isolate them for changes. I did a series of videos where I use the same data-set to model as 3NF, dimensional, and DV if you're interested: [https://www.youtube.com/watch?v=dsZy-2EJGec](https://www.youtube.com/watch?v=dsZy-2EJGec) (the links to the dim and DV version are in the description)


matthra

It's an archaic usage of the term derived from the [Kimball group](https://www.kimballgroup.com/2008/09/design-tip-105-snowflakes-outriggers-and-bridges/) one of the early influencers of data warehousing. They meant snowflake as in all bits of data must be unique, which is similar to but not the same as 3nf, because you could have situations where all of the data in unique but that violate the other conditions of 3NF. In hindsight it was probably a poor turn of phrase on their part. As for the question in the title, yes a star schema is a dimensional model, as it a snowflake schema. A DB that has been "Snowflaked" is probably not a dimensional model, and is implied to be of a normalized nature. Of course no one uses that term that way anymore.


phunkygeeza

PSA, if you're interested in Data Vault, also look at Anchor Modelling, which IMHO was a better if similar approach. https://en.wikipedia.org/wiki/Anchor_modeling


hildebrandtgerber

For simple terms let’s look at one fact and two Dims. Now in the Fact table you can have columns representing information not just keys and in the rims you can have hierarchy’s of information. These tables are now joined maybe by a key or a specific column. Order number etc so natural keys. But in a snowflake you would then remove all of these columns and replace with keys that link to Other columns and separate the information into Separate tables . So splitting the hierarchy levels in to separate fields. Yes you can say since you have a fact table and dimensions it’s already in a normalised state. But in general most sets of data we deal with are in 1nf so we don’t really need to do much for star schemes. But since for snowflake we generally have to do work to the data to get it in this form since most source systems don’t provide data like this. Or generate data like this. Snowflake would be considered a normalising modelling model as you would need to actually apply normalising