Cuando diseñamos bases de datos, es muy probable que nos encontramos ante la posibilidad de que nuestro diseño deba incluir una jerarquía.

Además, tendremos que decidir si implementar dicha jerarquía, es decir, puede que la diseñemos y después en la implementación decidamos no usarla.

Yo recomiendo que en el diseño la incluyas siempre, ya que, de lo que se trata, es de representar lo más fielmente la estructura de los datos de la empresa/organismo/otros para los que estamos haciendo el diseño. Después, en la implementación, ya se pensará si debemos incluirla o no, atendiendo a cuestiones de eficiencia, etc. dependiendo esto también en gran medida del motor de bases de datos que vayamos a usar.

Enfrentándonos a las Jerarquías

Tenemos que diferenciar entre:

  1. La detección de la jerarquía.
  2. La representación de la jerarquía en el Diagrama E/R extendido (Es decir, en el diagrama del diseño lógico de datos).
  3. La Implementación de la jerarquía. Esto es, cómo representar la jerarquía en el esquema relacional (en el diseño físico de datos que voy a implementar en el sistema gestor de bases de datos elegido).