|
 |
|
Data Warehouse Entity Relation
Oracle Tips by Burleson Consulting |
The Data Warehouse Development Life Cycle
Oracle Data Warehouse Design
De-normalizing 3NF Relationships
Another example is the zip_code attribute in the student
entity. At first glance, it appears that a violation of third normal
form (that is, a transitive dependency) has occurred between city
and zip_code. In other words, it appears that a zip_code
is paired with each student's city of residence. Since each city has
many zip_codes, and each zip_code refers only to one
city, it makes sense to model this as a one-to-many data
relationship. The presence of this data relationship requires
creating a separate entity called zip with attached student
entities. However, this is another case where an entity (zip, in
this case) lacks key attributes. It would be impractical to make zip
an entity. In other words, zip_code has no associated data
items. Creating a database table with only one data column would be
nonsense, and the model would finally appear as shown in Figure 4.6.
Figure 4.6 An example of correct many-to-many relationships.
This example demonstrates that it is not enough to group "like"
items and then identify the data relationships. A practical test
must be made regarding the presence of no-key attributes within an
entity class. If an entity has no attributes (that is, the table has
only one field), the presence of the entity is nothing more than an
index to the foreign key in the member entity, which means that it
can be removed from the E/R model. This technique not only
simplifies the number of entities, but it creates a better
environment for a client/server architecture. More data is logically
grouped together, resulting in less data access effort.
This is an excerpt from "High Performance
Data Warehousing", copyright 1997.
 |
If you like Oracle tuning, you may enjoy the book
Oracle Tuning: The Definitive Reference , with over 900 pages of BC's favorite tuning
tips & scripts.
You can buy it directly from the publisher and save 30%, and get
instant access to the code depot of Oracle tuning scripts. |
|