MySQL: хранение пар переменных значений в нескольких таблицах - PullRequest
0 голосов
/ 15 января 2011

Исходная проблема здесь .

Я создаю форму в CodeIgniter, которая имеет парное значение - компании и генеральные директора.Идея состоит в том, что, хотя в форме имеется только одно поле «Компания» с одним полем «CEO» ниже, пользователь может создать несколько пар полей «Company-CEO».Кроме того, будет еще одна страница, где я возьму входные данные из формы и выведу их примерно так:

CEO X is head of Company A

Таким образом, это означает, что мне придется вызывать эти парыобщаться друг с другом в некоторой степени.Основываясь на предыдущих советах, моя таблица Main MySQL будет выглядеть примерно так:

id int
Attribute1  blob
Attribute2  blob

И тогда у меня будет таблица Company:

id int
Company text
foo blob

Наконец, я будуиметь таблицу CEO:

id int
CEO text
foo blob

Для простоты идея заключается в том, что для каждой записи из Main должно быть достаточно просто выяснить, какие пары компании и генерального директора принадлежат этой записи, посколькувсе они имеют один и тот же идентификатор.Этот идентификатор создается каждый раз, когда форма заполнена и отправлена.Тем не менее, Какой метод я мог бы использовать, чтобы связать каждую Компанию с соответствующим генеральным директором?

Ответы [ 2 ]

1 голос
/ 15 января 2011

Вы не сохраняете ничего в основной таблице, которое идентифицировало бы основных директоров / компаний, связанных с записью, если только вы не храните это в полях BLOB-объектов. Если вы хотите разрешить нескольким директорам для компании, вам нужно

company table (id, companyname)
ceo table (id, ceoname)


company_ceos (ceo_id, company_id)

и, скорее всего, потребуется некоторая информация о дате, так что вы можете сказать, что "Джон Доу" был генеральным директором с '99 по '08, а "Джейн Смит" - генеральный директор с '09 -> настоящее время

0 голосов
/ 15 января 2011

Поместите столбец внешнего ключа в таблицы CEO и Company, чтобы связать их с идентификатором записи:

Company:

id int
Company text
record int
foo blob

CEO:

id int
CEO text
record int
foo blob
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...