una tablas qué orientada objetos herencia datos mysql database inheritance data-modeling class-table-inheritance

mysql - tablas - ¿Cómo hacer modelos de herencia en bases de datos relacionales?



herencia en mysql (5)

Mi pregunta es sobre el modelado de herencia en sistemas de bases de datos relacionales. Tengo un modelo de datos canónicos y tengo algunos campos relacionados con el precio del producto que hereda ciertos atributos de la tabla de productos y quiero modelar esta herencia en la base de datos relacional de MySQL y, entonces,

"¿Cómo podemos hacer modelos de herencia en bases de datos relacionales?"

Gracias.


El capítulo 6 de "Problemas prácticos en la gestión de bases de datos" es probablemente una lectura interesante para usted.

Como todos los otros capítulos, probablemente, pero esos no se relacionan directamente con su pregunta.


Las bases de datos relacionales no se ocupan de los objetos (y, por lo tanto, de la herencia); se ocupan de las relaciones. Lo que realmente está preguntando es cómo asignar su estructura de objetos a su base de datos, y la respuesta a eso es "depende de su capa ORM".

Eche un vistazo a Mapping Objects to Relational Databases: O / R Mapping In Detail artículo para más detalles. Si nos dice qué paquete de software está utilizando, es probable que obtenga una respuesta más al punto.




Si solo desea ver algunos artículos web en lugar de leer un libro, puede encontrar algunos artículos buenos en Google en:

Generalization Specialization Relational Modeling

El patrón gen-spec cubre una gran parte del mismo terreno que la herencia en entornos OOP.

Si googleas en

Generalization Specialization Object Modeling

obtendrá un lote completo de artículos, la mayoría de los cuales mencionan la herencia explícitamente.

Existe una técnica de diseño que se resume en la siguiente etiqueta class-table-inheritance bajo la etiqueta de información. Esto le permite usar tablas de subclase para "extender" una tabla de clase, si permite un uso extraño de la palabra "extender". Hay un poco de trabajo involucrado, pero vale la pena.