Não costumo dizer que um modelo de dados esteja “certo” ou “errado”.
Isso vai depender de várias coisas, do que vc quer, de como vai fazer a codificação, do numero de pessoal disponivel para o projeto…
No desenho eu coloquei entre vermelho os equivalentes hierarquicos. Acho que não precisamos discutir sobre os 4. Só 2 seriam suficientes pois o funcionamento seria o mesmo. Os atributos que vc está querendo colocar aqui é vc quem deve decidir. Eu poderia achar neessario colocar que o usuario precisa de rampa, porque é cadeirante. talvez vc não precise, pois seu estabelecimento já permite liver locomoção.
Poderia por também uma chave estrangeira para uma tabela sobre custos, pagamentos, etc, mas eu não me preocuparia com isso agora. Se vc quiser colocar isso, poderá colocar mais tarde depois que seu modulo fnanceiro estiver pronto.
Depois desse ultimo desenho seu eu fiquei com algumas dúvidas:
O aluno (ou o participante) pode estar cadastrado para ver um evento, mas não precisa estar cadastrado para uma atividade do evento?
Eu tava pensando que se o aluno tiver cadastrado em um evento, ele teria que participar de todas as atividades de um evento.
Seria isso que vc quer? Lembrar que se o aluno tiver cadastrado em um evento, ele não deveria conseguir se cadastrar em eventos com atividades (aulas) dando choque de grade. Será um trabalho para o SQL resolver antes de aceitar inscrição do usuario.