#1, si eres nuevo, mejor programa algo muy muy sencillo.
Cuando funcione ok, entonces le añades una nueva funcionalidad. Poco a poco. No intentes abordar un problema muy grande en tu mente porque te vas a aturullar y frustar.
En el caso en concreto, un buen ejercicio sería sentarte con un trivial delante y ver qué elementos tiene el trivial y qué acciones realizan los participantes. Pero simplifica!
El modelo más simple sin entrar en detalles sería (según lo veo yo):
Hay preguntas de varias categorías.
Las preguntas contienen una serie de respuestas donde una es la correcta.
Hay participantes donde sólo uno puede tener el turno.
El participante elige una pregunta y pueden pasar dos cosas:
A) Si la acierta conserva el turno y se repite el ciclo.
Si la falla pierde el turno y pasa a otro jugador.
Son cosas obvias, pero verlas así expuestas sin entrar en detalles, clarifica la mente.
Te harán falta unas pocas clases y apenas 4 ó 5 tablas.
Edit: Me he puesto a dibujar el esquema de base de datos en un par de minutos xDDD. Me salen 6 tablas:
categorias (id,nombre)
preguntas (id,id_categoria,enunciado)
respuestas (id,id_pregunta,respuesta,correcto (0/1))
participantes (id,nombre)
partidas (id,nombre,id_turno_actual)
turnos (id,id_partida,id_participante,id_pregunta,id_respuesta,gana (0/1))
Es un primer boceto rápido, sencillo y para toda la familia.