2013-08-13 3 views
0

У меня есть эта проблема в таблице, где есть 4 столбца, которые включают в себя термины, описывающие продукт. Я хочу, чтобы эти условия редактировались (и вы можете добавить больше) в моем приложении, и есть 4 группы из них, очевидно. Я создал таблицу, у которой есть все эти условия, но таблица продуктов должна будет создать 4 отношения с идентификатором таблицы терминов.MySQL несколько столбцов отношения между двумя таблицами

Это хорошее решение?

Основная причина, по которой я не хочу составлять 4 разных таблицы для терминов, заключается в том, что их не так много, и по мере того, как приложение прогрессирует, у нас могут быть еще более разные группы терминов, таким образом добавляя множество небольших таблиц, загромождающих база данных.

Любое предложение?

Update # 1: Вот моя текущая схема http://i.imgur.com/q2a1ldk.png

+0

если бы вы могли каким-то образом показать схема вашей текущей базы данных, которая поможет много – x4rf41

+0

@ x4rf41 только что сделал –

ответ

0

Вы можете попробовать таблицу отображения:

apputamenti(id, ...) 

term_map (apputamenti_id, term_id) 

terms (id, text, type) 

Таким образом, вы можете добавить столько слов, сколько вы хотите.

Или, если вы хотите задать отображение с еще одним полем, изменение:

term_map (apputamenti_id, term_id, map_type) 

так что вы можете использовать перечисление для map_type как enum(tipologia, feedback, target) или независимо от ваших исходных полей, где

+0

я обновил сообщение с текущей схемой –

+0

да, должно быть, хорошо, изменил мой ответ на ваши имена таблиц – Kaffee

+0

у него все еще было бы 4 отношения между appuntamenti и term_map, не так ли? –

1

есть таблица продуктов и terms (product_id, terms_name, terms_description), который позволит вам добавить столько же или немного терминов для каждого продукта, как вы хотите. Вам просто нужно извлечь все термины из таблицы терминов с определенным идентификатором продукта.

+0

Условия - это заданный набор, они не уникальны для продукта. –

+0

поэтому ваше отношение 'product <-> terms' является' n <-> m' (продукт может иметь несколько терминов, а термин может иметь несколько продуктов)? – x4rf41

+0

@ x4rf41 я обновил сообщение с текущей схемой, и да, я думаю, что это может быть связь, я, возможно, сделал это неправильно в схеме –

Смежные вопросы