There are indeed patterns in the world. There are "surface patterns", the ones that are easy to see. But there are also "deep patterns", difficult to see but usually immensely valuable if they can be described in data models and the algorithms that maintain and access the data organized into the structures described by those models. Journeyman data modelers build surface pattern models. The best data modelers build deep pattern models. Surface pattern models force the code and SQL surrounding the data they describe to carry an inappropriate semantic load. The result is inflexibility and increased bottom-line cost.