скажем, у вас есть две таблицы
table_a
f1 <- PKEY
f2
f3...
table_b
b1 <- PKEY
b2
b3...
теперь скажите, что table_a имеет отношение MANY к MANY с table_b
обычно у вас была бы третья таблица для хранения этих отношений
table_c
c1 <- PKEY
b1 <- PKEY of table_b
f1 <- PKEY of table_a
также скажите, что b1 + f1 по какой-либо причине не может быть PKEY table_c - просто ради аргументов.
Теперь было бы целесообразно / целесообразно сделать следующее
в table_a у вас есть поле MANY_Bs , в котором хранятся многие отношения, подобные этому:
table_a
f1:1
f2:'xyz data'
MANY_Bs: '1,2,3,4,5'
(таким образом, показывая, что строка 1 в table_a связана со строками 1-5 таблицы_b)
затем используйте следующий запрос для выбора такого отношения
SELECT * FROM table_a, table_b WHERE
FIELD_IN_SET (table_b.b1, table_a.MANY_Bs)
Меня беспокоит: а) потеря преформальности б) потеря нормализации (мой мозг немного перегорел до тренировки (б) прямо сейчас)
Если какой-либо гуру MySQL видит какие-либо проблемы с такой настройкой?
Большое спасибо