Foreign Key со множеством занчений (MySQL)
Есть таблица в одном из полей которой может содержаться список чисел
например таблица фирмы,\
где есть поле сертификаты, а есть таблица сертификаты.
так вот в этом поле сертификаты в таблице фирма может быть список имеющихся сертификатов.
Например 1,2,5 какой тип поля надо бырать?
Я думал SET но там на этапе создание необходимо указать набор значений, а их может быть очеень много.
Небольшая схемка
----------------- -----------
Name | -> | id (PK) |
----------------- / -----------
..... | / | sert |
----------------- / -----------
sertificates(FK)|_ /
-----------------
....... |
__________________
спасибо за ответы.
Здрасте, вопрос такой:
Есть таблица в одном из полей которой может содержаться список чисел
например таблица фирмы,\
где есть поле сертификаты, а есть таблица сертификаты.
так вот в этом поле сертификаты в таблице фирма может быть список имеющихся сертификатов.
Например 1,2,5 какой тип поля надо бырать?
Я думал SET но там на этапе создание необходимо указать набор значений, а их может быть очеень много.
Небольшая схемка
----------------- -----------
Name | -> | id (PK) |
----------------- / -----------
..... | / | sert |
----------------- / -----------
sertificates(FK)|_ /
-----------------
....... |
__________________
спасибо за ответы.
А КАК ЭТО ТАК?! Вы знакомы со спецификацией языка SQL? В таких случаях обычно делается так (на этом примере), в таблицу serts добавляется поле firmsID, т.е. PK таблицы firms и соответсвенно привязыается к таблице firms, отношение один ко многим. Других способов нет.
А КАК ЭТО ТАК?! Вы знакомы со спецификацией языка SQL? В таких случаях обычно делается так (на этом примере), в таблицу serts добавляется поле firmsID, т.е. PK таблицы firms и соответсвенно привязыается к таблице firms, отношение один ко многим. Других способов нет.
Спасибо, но можно немного подрообнее а то что-то я не совсем понял,
т.е. в таблицу serts надо добавить поле ссылающееся на фирмы к которым принадлежит этот сертификат? Но ведь там тоже должно быть много значений, т.к. один сертификат может быть у многих фирм? или я чего то не понял?
Спасибо, но можно немного подрообнее а то что-то я не совсем понял,
т.е. в таблицу serts надо добавить поле ссылающееся на фирмы к которым принадлежит этот сертификат? Но ведь там тоже должно быть много значений, т.к. один сертификат может быть у многих фирм? или я чего то не понял?
Тогда строишь отношения многие ко многим. Т.е. если у одной компании может быть много сертификатов и один сертификат может принадлежать разным компания.
Ассоциативная табличка :
FirmsSerts:
(
FirmsSertsID (PK)
FirmsID (FK)
SertsID (FK)
)
ну и еще лучше повесить unique index на поля FirmsID+SertsID.