In this chapter we've examined dimension tables. We examined their basic structure, and saw that best practice to add an artificial key to all dimensions in order to insulate the dimensional database from changes in the schema of the source data.
We also examined the snowflake dimensional schema, and saw that it is useful in precisely the same situations in which you might sub-class a relation in a normalized database.
Finally, we examined the issue of changing dimensions, and saw two techniques for handling them: either by adding a new row, or by using a pair of facts representing the current and previous value.
And this concludes our examination of dimensional database theory. Not nearly as difficult as you expected, was it? In Part III, we'll turn to the process of designing database systems.