mySql DB Design

I am starting designing the database for a site featuring activities in a certain part of Greece. You have categories (Active Sports, Extreme Sports, Cultural Activities, Historical Activities, etc…). And subcategories: Active Sports (Horse Riding, Mountain Biking, etc), Extreme Sports (Mountain Climbing, Rafting, etc), Cultural Activities (Museum, Theater, etc…), Historical Activities (Archaeological Sites, Herculean Feats), etc…

These main and sub categories are the base of the navigation and content of the site I.E. Every subcategory has a detail page. Some subcategories should be categorized in more than one category. For example Archaeological Sites should not only be in Historical Activities, but in Cultural Activities as well.

I try to figure how to send a visitor to the same Archaeological Sites page, no matter if they are coming from this subcategory in the main menu Historical Activities or Cultural Activities.

What are my best options here? Should I work with 1 table, 2 tables (category_id is foreign key in subcategories table), or 3 tables (2 separate tables and a relational table)?

Any suggestion and the reason why would be more than welcome, before I start this task.

Thank you in advance.

Hi Rudi. Thank you for that. I was thinking so, but wanted to be on the save side, before going into the deep

clearly you need 3 tables, with a many-to-many relationship table to tie a subcategory to the categories (plural) it belongs to