sql >> Base de Datos >  >> RDS >> Mysql

Implicaciones de supertipo y subtipo

Si todo lo que necesita es adjuntar imágenes a usuarios y páginas, no estoy seguro de que una jerarquía completa de categorías (también conocida como "subclase", "subtipo", "herencia") sea óptima.

Asumiendo que las páginas/usuarios pueden tener múltiples imágenes, y cualquier imagen dada se puede adjuntar a múltiples páginas/usuarios, y asumiendo que no desea adjuntar imágenes a imágenes, su modelo probablemente debería verse así:

podrías use la jerarquía de categorías para lograr un resultado similar...

... pero con tan pocas subclases recomendaría no hacerlo (debido a posibles problemas de mantenimiento y rendimiento). Por otro lado, si existe la posibilidad de agregar nuevas subclases en el futuro, esta podría ser la solución correcta (ENTITY_IMAGE "cubrirá" automáticamente todas estas nuevas subclases, por lo que no necesita introducir un nuevo "enlace" tabla para todos y cada uno de ellos).

Por cierto, hay 3 formas principales para implementar la jerarquía de categorías, cada una con su propio conjunto de compensaciones.