Análisis de bases de datos

Repartos de obras de teatro

Conceptos a tratar

Descripción

Realizamos el análisis de una base de datos que permitirá conocer las obras de teatro en las que ha participado un determinado actor como miembro del reparto.

Los actores podrán participar en el reparto de varias obras, y las obras estarán formadas por elencos compuestos por varios actores.

Esquema de la aplicación

Declararemos dos tablas principales: ACTORES y OBRAS.

Tanto las obras como los personajes necesitan estar identificados uno a uno de forma inconfundible, por lo que deben tener una clave de acceso única, es decir, deben declararse como tablas de tipo maestro normal con clave numérica.

Ahora bien: ¿cómo las enlazamos? Volvemos a enunciar las dos frases:

  • "En el reparto de una obra participan varios actores"
  • En el caso más general, la segunda frase es: "un actor puede participar en varias obras".

Lo anterior es lo que denominamos doble plural o plural en ambas direcciones. Es decir, nos encontramos con un plural en los dos sentidos que resolvemos con una tabla histórica que haga de intermediaria: REPARTOS.

Esta tabla se crea de tipo histórico ya que no es necesario que tenga un campo ID único que determine un registro de la tabla.

Estableceremos entonces un enlace singular-plural entre las tablas de ACTORES y REPARTOS, y otro enlace singular-plural entre las tablas de OBRAS y REPARTOS.

Los registros de la tabla REPARTOS consisten en parejas obra-actor, de manera que asociamos todas las obras con cada uno de sus actores (o visto de otro modo, todos los actores con cada una de las obras en las que aparece).

Entonces, si nos situamos en la tabla OBRAS, por ejemplo, moviéndonos hacia su plural obtendremos todos los registros obra-actor en los que la obra es la seleccionada de la tabla OBRAS.

Una vez cargadas todas esas parejas, nos movemos hacia maestro en la dirección de ACTORES, de modo que cargamos todos los actores que aparecen en la obra.

El mismo procedimiento seguiremos para, dado un actor, obtener todas las obras en las que aparece.

results matching ""

    No results matching ""