Why would somebody implement a database in a database? I've seen this anti-pattern a few times before and it's confusing to me, when do you wake up and say "obviously the answer is to put the data a database, but let's invent our own abstraction".
Instead of nice code that looks like:
SELECT some_value FROM some_table WHERE some_other_value = 'something';
Figure out how many SQL statements your poor database will have to execute if the schema looks like:
object(object_id, object_type)
object_type_to_attribute(object_type, attribute_id)
attribute(attribute_id, attribute_name, data_type)
table_bit(object_id, attribute_id, value)
table_string(object_id, attribute_id, value)
table_number(object_id, attribute_id, value)
table_text(object_id, attribute_id, value)
hm? (Score:1)
Could be worse ... (Score:1)
object(object_id, object_type)
object_type_to_attribute(object_type, attribute_id)
Just be glad it's not:
bit(bit_id, value)
bit_sequence(sequence_id, name)
bit_sequence_member(sequence_id,bit_id,ordinal)
Maybe your tables are just views over bit and bit_sequence
This is sometimes a workaround for other problems (Score:1)
But, that said, it is more often a sign of a developer who heard about the fact that you can do this, the developer thought it would be cool, and
I've always thought of it as ... (Score:1)
-derby
It's the Inner-Platform Effect (Score:1)
All tables in one table (Score:1)