4.6. Projections and Joins

The previous section showed that a sufficient condition for splitting an unnested fact type is that it has a uniqueness constraint spanning fewer than n – 1 roles. Since this is not a necessary condition for splitting, in some cases further analysis is required to make a definite decision. At the heart of such an analysis is the question: can the fact type be rephrased as a conjunction of smaller fact types?

With a bit of experience behind us, we can usually answer this question fairly quickly. This section discusses a formal procedure for addressing this question in a systematic way. The procedure makes use of two operations known as “projection” and “join”, which are important in relational database work. The join ...

Get Information Modeling and Relational Databases, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.