Как хранить и обрабатывать связанные данные (голова уже не варит)

five

Новичок
Как хранить и обрабатывать связанные данные (голова уже не варит)

Есть таблица t1: id,name,name2 (хранятся основные данные)

Есть таблица t2: id,name (таблица с перечислением возможных значений для каждой записи из таблицы t1)

Есть таблица t3: t1_id,t2_id (таблица связей между t1 и t2)

Как сохранять ясно...

t1:
1|строка1|строка2
2|строка1|строка2

t2:
1|строка3
2|строка4
3|строка4

t3: (связываем t1 и t2)
1|1
1|2
1|3

A вот как быть, если пользователь отказался от некоторых позиций...
Например: юзер отказался от второй позиции

t3: (связываем t1 и t2)
1|1
1|2 <- отказался (запись должна удалиться)
1|3

Вот как быть. Юзер отредактировал данные и что...надо делать
delete from t3 where t1_id=1 (удалить все записи, а потом в цикле)
insert into t3 ...
что бы вставить оставшиеся позиции.
Мне кажется это как-то неверно, а вот как сделать верно голова не может сварить :(
Помогите, а? Спасибо.
 

vasa_c

Новичок
А почему в t2 не ввести поле id_t1, который указывает на поле из таблицы t1, а t3 удалить на фиг?
 
Сверху