Обычно, как вы могли бы сделать это, было бы иметь одну таблицу tags
, например:
INT id PRIMARY KEY
VARCHAR(255) name
Затем для каждого объекта, которому вы разрешите пометить, вам нужна таблица моста. Поэтому, если у вас есть другая таблица tests
с собственным столбцом id
, у вас будет другая таблица, tests_tags
:
INT test_id PRIMARY KEY
INT tag_id PRIMARY KEY
Затем вы можете перечислить все тесты с тегом, получив идентификаторы тестов, где tag_id
- интересующий вас идентификатор тега; аналогично вы можете перечислить все теги в тесте, получив идентификаторы тегов, где test_id
- это интересующий вас идентификатор теста.
Это стандартный способ моделирования отношений «многие ко многим».