Podrían ayudarme a normalizar este diseño de base de datos? Tengo un problema de redundancia

Hola a todos!

He estado trabajando con Yii 1.1 para mi último proyecto, pero ahora me estoy mudando a Yii 2.1 con uno nuevo. Estoy diseñando mi DB y tengo una situación que no estoy seguro de cuál es la mejor manera de resolver y sería muy útil para mí si me pudiesen dar una mano.

Hice una imagen para explicar de forma gráfica mi situación y la adjunto a este post.

Les agradezco mucho su ayuda! =)

Buenas.

Mi idea es la siguiente:

  • Un cliente no tiene pq ser pasajero, ya que puede cancelar la reserva.

  • Pero un pasajero a cojones debe ser un cliente.

  • Si la reserva es de una empresa, entiendo que deberá proporcionar los nombres individuales de cada persons_customer.

  • En mi opinión lo mejor sería tener una tabla companies con los datos de la compañía, sin el customer id. Esta tabla se relacionaría con reservations mediante una tabla intermedia en la cual se guarde el company_id y el reservation_id.

  • El first_name y el last_name de persons_customers pasaría a la tabla customers y la tabla persons_customers desaparecería.

  • Y simplemente extendiendo el customer_id de la tabla customers a la tabla passengers te ahorras repetir todos los datos del cliente en la tabla pasajeros.

  • De esta forma vas a trabajar con clientes individuales (no empresas, que por otro lado es el escenario real), pero siempre vas a saber que compañía hizo la reserva individual, si es q la hizo una compañía.

Un saludo.