How can I create a relation between a number of related pages and a main event? I need to create mini-site within existing website. I have new content type called Events.

Single event will be number of pages related to that event. Some of the pages that will be under single event are:


Registration
Scheadule 
Sessions 
Resources 
Travel


All of this pages needs to be on their unique url like mysite.com/event-name/registration. My first guess is to create all these as different content types and create some relation to single Event.

So my question is: How to create a relation between these pages and a main event? Since this mini-site needs to have its own navigation menu, can I automatise this menu creation somehow or should I create a separate menu for every event.
Method 1.

I would create a content type to act as a parent node for each event.

Then for each other content type, add an Entity Reference field, with only that parent content type available. (If you need to restrict the available parent nodes to certain users, you can use a view to get the results of the entity reference field and only allow the node author to select that node).

You can then start adding views to that parent content type for things like "Child nodes" with a reverse relationship to act as an automatically generated menu.

Method 2. 

Everything goes into one content type, but use the Field Group menu to create horizontal tabs, and place those fields in those tabs. This will make editing the pages easier as they are all in one place, but depending on the amount of content in each of these mini sites, might have a slow load. There could be a good SEO argument for this method, as your content count would be good for each mini site all on one page.

I would probably choose method 1, unless the "mini site" is small enough to manage with field groups. The benefit of Method 1, is that you can use Rules to automatically add the other pages, and fill in the Entity Reference fields once the initial "parent" node is created.