Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The diagram could be clearer by showing cardinality of the relationships involved. But I get what the design basically is.</p> <p>It's called an "entity-attribute-value" model, aka an "open schema", and it's not an uncommon thing to do in a database. However, you should be aware that there are significant downsides to this approach:</p> <ul> <li>validation of properties and their types by the RDBMS becomes much more difficult</li> <li>queries retrieving property values for a particular entity are more complicated</li> <li>it's harder to reason about that entity using just database queries</li> </ul> <p>In sum, you are going to have to have your application, or maybe stored procedures, do a bunch of work managing these properties, as the database is not going to be able to give you much support besides pure storage and lookup.</p> <p>See <a href="http://en.wikipedia.org/wiki/Entity-attribute-value_model" rel="nofollow">http://en.wikipedia.org/wiki/Entity-attribute-value_model</a> for a pretty good rundown on when this design might be a good idea. Also check out <a href="http://en.wikipedia.org/wiki/Inner-platform_effect" rel="nofollow">http://en.wikipedia.org/wiki/Inner-platform_effect</a> on why it might be a bad one. You'll have to decide for your application whether this is the right approach for you.</p> <p>If what you want to do is provide persistence for objects, I should note that this is a problem that <em>object-oriented databases</em> try to solve in a more natural manner. If you're really frustrated by this design, and you're free to look at whatever DBMS might solve the problem, you might look into that.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload