To, co opisujesz, to model wartości encja-atrybut (EAV). To bardzo kiepski sposób na zaprojektowanie modelu danych.
Chociaż model danych jest dość elastyczny, wykonywanie zapytań o taki model danych jest dość skomplikowane. Często kończysz na konieczności samodzielnego dołączania do tabeli n
razy, jeśli chcesz wybrać lub filtrować według n
różne atrybuty. Staje się to raczej powolne i dość trudne do stosunkowo szybkiej optymalizacji.
Co więcej, zazwyczaj kończysz na tworzeniu wielu funkcji, które zapewniłaby baza danych lub Twój ORM.