• Thanks, everyone. In the end I'm using the EAV for metadata only. I created a stored procedure that runs every time a new attribute is created (trigger) to generate an alter view that returns all columns of the main table and the additional columns in the metadata EAV.