1-in mysql there's a different way to relate tables with no foreign key?the relation parent-child or generalization only can be created by foreign key?
2-As well as for a many - many relationship (in 2 tables) is definitely require a third table?
suppose i've 30 tables, this structure of primary key/foreign key becomes a little confusing, no?
No, after you have 30 tables, foreign secrets allow it to be simpler to determine what relates to what.
Many-many relationship always takes a separate table.