How to design a database?

There is a conditional table with the data, for example data linked to the user. Each user can create custom fields in a multiple select. For example, creates a "Tags" field, and it adds the tags. Respectively have table fields with the field names and fields_values with the options to choose from. The user can create an unlimited number of fields and options for them.
The question is how to link table data to be subsequently convenient to sample, sort, filter by those options?
Initially the idea was to make the relationship many-to-many between tables data and fields_values. But I think this is fundamentally wrong.
April 19th 20 at 12:06
1 answer
April 19th 20 at 12:08
Tags can be stored in a field of type JSONB

Find more questions by tags Database designPostgreSQL