Extend Your Schema With A Property Bag Table
|
(Ben Taylor) Any database design is enhanced and extended by using a generic data structure. The use of a generic data structure works no matter what your philosophy of normalization may be. It works in both a data warehouse as well as a transaction database. This article explores the implementation of a generic data structure through the use of a Property Bag table. This method works with any relational data engine on the market today. This article reviews the purpose of Generic Data Structures, provides an example of a Generic Data Structure, provides guidelines for use of a Generic Data Structure and demonstrates implementation of a Generic Data Structure through the use of a Property Bag table.
|
|
| Related Articles - For Members.
|
|
Key (Please note):
(R) - registration may be required for access at the target site
($) - target site may require paid membership for access to this or other content
Reader Comments: Post Your Comments/Feedback
RE: Extend Your Schema With A Property Bag Table (posted: 11/14/2005 7:21:48 AM) It is more commonly called EAV - Entity Attribute Value - and every developer who has ever touched a database seems to have "invented" this technique at some point. It is of course no substitute for proper analysis and database modelling. In my experience it usually gets replaced by a real design at the first opportunity when the business realizes how much the data quality has suffered. By then it may be too late to salvage accurate data from the database.
RE: Extend Your Schema With A Property Bag Table (posted: 11/14/2005 11:53:04 AM) EAV implies a relationship to a specific Entity or Table. This structure is more Entity Agnostic. Being a common practice is even more reason to address the problem. As a common/risky practice (the same opionion clearly expressed by the author) should be understood…not ignored. Neither EAV nor GDS replaces good database design. With the release of the XML data type in YUKON it becomes more imperative that database developers understand the issues. BT
RE: Extend Your Schema With A Property Bag Table (posted: 11/30/2005 9:59:27 PM) You've done nothing to solve the problems associated with EAV, and have only made the situation worse by claiming that this technique is valid "no matter what your philosophy of normalization may be." Nothing could be further from the truth. This method is a clear violation of 1NF, and data integrity is simply not possible.
RE: Extend Your Schema With A Property Bag Table (posted: 12/12/2005 7:22:47 AM) Let me clarify...Normalization is always the first step of any good design. Denormalization is a practice that should only be exercised for performance reasons. Hence my statement, no matter what your position for Normalization. Now, back to the Property Bag. It taks the place of the kinds of things that find themselves in the Registry (a property bag). Please don't confuse this methodology with replacing good database design practices. BT
|