Без подробностей трудно прокомментировать вашу конкретную ситуацию, но вот способ организовать структуру базы данных MySQL:
TABLE table1
INT id
... other data ...
TABLE table2
INT id
INT table1_id FOREIGN_KEY table1
... other data ...
TABLE table3
INT id
INT table2_id FOREIGN_KEY table2
... other data ...
TABLE table4
INT id
INT table3_id FOREIGN_KEY table3
... other data ...
И ваша структура URL для вашего сайта может быть:
/table1/add
/table2/add?table1_id=T1_ID
/table3/add?table2_id=T2_ID
/table4/add?table3_id=T3_ID
/table1/(edit,delete)/T1_ID
/table2/(edit,delete)/T2_ID
/table3/(edit,delete)/T3_ID
/table4/(edit,delete)/T4_ID
Для добавления в таблицу2,3,4:
INSERT INTO table2 (data, table1_id) VALUES(data, T1_ID);
Для удаления из таблицы1:
DELETE FROM table1 WHERE id = T1_ID;
$t2_ids = SELECT id FROM table2 WHERE table1_id = T1_ID;
DELETE FROM table2 WHERE table1_id = T1_ID;
$t3_ids = SELECT id FROM table3 WHERE table2_id IN ($t2_ids);
DELETE FROM table3 WHERE table2_id = $t2_ids;
$t4_ids = SELECT id FROM table4 WHERE table3_id IN ($t3_ids);
DELETE FROM table4 WHERE table3_id = $t3_ids;
И так далее и тому подобное, если вы удаляете из вложенных таблиц.
Кроме того, если ваши данные в каждой таблице не сильно отличаются, вы можете использовать одну таблицу для поддержания отношений родитель / потомок
TABLE table
INT id
INT parent_id
... other data ...
Ваша структура URL не сильно изменится, но ваш псевдокод может быть оптимизирован для использования подвыборов в самой таблице.