I've got a database with the following structure: Elements table +------------+---------------+---------------+-----+ | element_id | user_id | element_data2 | ... | +------------+---------------+---------------+-----+ Tag categories table +-------------+---------------+ | category_id | category_text | +-------------+---------------+ Tag values table +----------+------------+ | value_id | value_text | +----------+------------+ Tag-element relationship table +----+------------+-----------------+--------------+ | id | element_id | tag_category_id | tag_value_id | +----+------------+-----------------+--------------+ An element can have multiple tags associated with it, even multiple values on the same category. What the app does is to let the user put new `tag_values` as unique elements (categories right now are not user-editable, but may be in a future). As they are not associated to the user, if two users write the same `value_text`, then the same ID is assigned to it. So, to have a data sample, the `tag-element` table - the most important here - would look something like: +----+------------+-----------------+--------------+ | id | element_id | tag_category_id | tag_value_id | +----+------------+-----------------+--------------+ | 1 | 1 | 3 | 9 | | 2 | 1 | 3 | 5 | | 3 | 1 | 6 | 13 | | 4 | 2 | 6 | 2 | | 5 | 2 | 5 | 15 | +----+------------+-----------------+--------------+ The question ---------- As such, there is a category called `game_date`, which stands for the date where the element (that is an event) is celebrated. Should the `game_date` values be stored as the other values, so two equal values for a date have a unique ID, or its uniqueness makes its performance poor? I mean, it can be possible for multiple events to be on the same date and hour, but I don't know if it would be better another kind of structure where that date is stored as a `Date` field on any of the tables above. *Just as the `game_date` can be also other categories involving date (such as `game_recorded`, etc.).* Thank you!