Databases Reference
In-Depth Information
Figure 2-1. Semantic relationships are hidden in a relational database
The application exerts a tremendous influence over the design of this schema, making
some queries very easy, and others more difficult:
• Join tables add accidental complexity; they mix business data with foreign key
metadata.
• Foreign key constraints add additional development and maintenance overhead
just to make the database work .
• Sparse tables with nullable columns require special checking in code, despite the
presence of a schema.
• Several expensive joins are needed just to discover what a customer bought.
• Reciprocal queries are even more costly. “What products did a customer buy?” is
relatively cheap compared to “which customers bought this product?”, which is the
basis of recommendation systems. We could introduce an index, but even with an
 
Search WWH ::




Custom Search