У меня есть база данных, в которой данные о пользователях хранятся в таблице, которая выглядит следующим образом
|_firstname_|_lastname_|_age_|...
| John | Johnson | 21 |...
...
, т.е. с использованием обычной модели реляционной базы данных.
Если я вместо этого переключился на EAV В модели для хранения вышеуказанных данных сами столбцы (называемые атрибутами в EAV) будут храниться в таблице и иметь уникальный идентификатор столбца (атрибута): s. Преимущество этого состоит в том, что я мог бы использовать эти идентификаторы: в другой таблице для подключения данных к самим столбцам , например, скрыт ли столбец или показан в пользовательском интерфейсе пользователя (ниже также используется модель EAV). ):
|____column_id____|___attribute___|___value___|
| <firstname_id> | hidden | false |
| <lastname_id> | hidden | false |
| <age_id> | hidden | true |
...
Однако я хотел бы придерживаться модели реляционной базы данных для таблицы пользовательских данных (таблица показана сначала), так как в противном случае запросы становятся намного медленнее, но я все равно хотел бы подключиться значения для столбцов, как я мог бы, если бы я использовал модель EAV.
Есть ли способ иметь таблицу, которая хранит данные о самих столбцах таблицы пользовательских данных строгим образом?