В этом случае ваше решение не даст хорошую динамическую базу данных.Есть и другие способы составления комбинаций из нескольких таблиц.Я могу показать вам по собственной базе данных, что вы должны использовать и когда вы должны использовать это решение.Схема на голландском, но вы, вероятно, поймете ключевые слова.
Как и вы, мне приходилось комбинировать мои ветряные мельницы с счетчиком киловатт-часов, который должен измерять выработку энергии на моих ветряных мельницах.В этом случае вы должны сделать еще одну таблицу (в моем случае molenkWhlink).Убедитесь, что ваши таблицы относятся к типу INNODB (для создания внешних ключей).То, что я сделал, это объединил мои счетчики и мельницы, поместив указатель (внешний ключ) их идентификатора (на голландском языке Volgnummer) в новую таблицу.Преимущество, которое вам может не понадобиться, но я определенно сделал это, заключается в том, что я смог расширить дополнительную таблицу с помощью информации о подключении и отключении, такой как метки времени и значения счетчика при соединении или отключении.Это делает вашу базу данных более динамичной.
В моем случае у меня также был стол для измерений (metingoverzicht).Как вы можете видеть на схеме, у меня есть 2 линии, идущие от Metingoverzicht до molenkwhlink.Причина этого довольно проста.Все измерения, которые я приму, будут сохранены в таблице Metingoverzicht.Ежедневные измерения (которые запланированы) будут иметь специальное логическое значение, но незапланированные измерения также будут сохранены здесь, при отключенном боллеане.При переключении измерителей мне нужно конечное значение от уходящего измерителя и начальное значение от нового измерителя, чтобы вычислить значение сегодняшнего производства энергии.Вот где приходит ваше решение, и дополнительная таблица не будет работать.Обычно, когда вам нужно только одно значение из другой таблицы, используется JOIN.Проблема в этом случае заключается в том, что у меня есть 2 идентификатора meassurementID в одной ссылке (1 для подключения и 1 для отключения).Они оба указывают на один и тот же столбец таблицы, потому что они оба должны содержать информацию одного и того же типа.Именно тогда вы можете использовать двойное соединение от одного стола к другому.Потому что оба значения будут использоваться только один раз, и их просто необходимо сохранить в другом месте, чтобы избежать сохранения одного действия в разных местах, чего всегда следует избегать.
http://s1101.photobucket.com/user/Manuel_Barcelona/media/schemedatabase.jpg.html