Цитата:
Сообщение от Melkor
Если делать так то получится настоящий 1:n. На одно значение hash много sample, но тогда очень сложно писать, так как я хочу проверять есть ли уже такое в базе. То есть имея 15шт. sample_id мне нужно найти им hash_id если такой уже есть. Причем этот же hash_id не должен соответствовать допустим 20ти sample_id.
|
что значит "на одно значение hash много sample"? Не может такого быть. А если есть - то неправильно. Каждой записи в hash соответствует ОДНА запись из navtable (на которую hash ссылается внешним ключом hash.hash_id), и ОДНА запись из sample (определяемая через hash.sample_id).
Соответственно ключ поверх этой таблицы простой - PRIMARY KEY (hash_id, sample_id). Нужно получить все id записей из sample, соответствующие одной из записей в navtable - SELECT sample_id FROM hash WHERE hash_id=XXX. Нужно, наоборот, получить все записи из navtable для определённого sample_id - SELECT hash_id FROM hash WHERE sample_id=XXX.
И ВСЁ - к чему ещё какие-то сложности? имея sample_id - выдёргиваешь уже конечные значения из basicX.