Schema check or "DATE as separate table"
It would have been great if your sqlfiddle data would have been in English... 

If the activities aer bound to a single location, you could use your current approach. 
But if there's a chance that one activity can be referenced to more than one location you should use a separate table to show such a reference (using foreign keys to the primary keys of your activity and location tables).

A calendar table usually is very helpful if you'll need to return any results for a consecutive date range including date values without any corresponding values (e.g. activities).