It came up again today how to handle allowing users to add custom fields to the standard entity schemas delivered in your product's database.  I favour actually providing a function that gives the user limited DDL functions, so they can actually add a new, custom field to a table.  Another approach is to have a separate table for custom ...
            
           
          
            
            The major shortcomings with Entity-Attribute-Value database designs in SQL all seem to be related to being able to query and report on the data efficiently and quickly. Most of the information I read on the subject warn against implementing EAV due to these problems and the commonality of querying/reporting for almost all applications.
...
            
           
          
            
            I'm working with a database set up like this:
  entity field       value
   1      start_date  June 1, 2010
   1      end_date    August 30, 2010
   1      artist      some name
And I want to query all the entities with artist name "some name" that have started but not ended.
I came up with something like this:
SELECT start.entity
F...