Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Como se expresan las entidades heredadas?

Estas en el tema de Como se expresan las entidades heredadas? en el foro de Mysql en Foros del Web. Tengo una entidad superclase Ensayo y tres subclases- ensayo | ensayo | ensayo tipoA | tipo b | tipoc peso | grosor | distancia altura ...
  #1 (permalink)  
Antiguo 30/07/2008, 10:46
 
Fecha de Ingreso: enero-2008
Mensajes: 61
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Como se expresan las entidades heredadas?

Tengo una entidad superclase
Ensayo
y tres subclases-

ensayo | ensayo | ensayo
tipoA | tipo b | tipoc

peso | grosor | distancia
altura | diametro | velocidad

que almacenan
distinta informacion
....pero que tb tienen atributos en común.

A la hora de hacer el paso a relacional, debo crear una tabla por subclase?
como se relacionan esas subentidades con el resto de entidades,mediante la entidad supertipo? como se expresa el paso a relacional de las subentidades?

Última edición por oscarinho; 30/07/2008 a las 10:55
  #2 (permalink)  
Antiguo 31/07/2008, 01:41
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Como se expresan las entidades heredadas?

Creo que mezclas nomenclatura entre la PPOO y las BBDD relacionales pero creo que te he entendido:

TablaSuperClasse
id Indentificador PK
...Campos comunes...


TablaSubClaseX
idSubClaseX PK
idSuperClase FK referenciado a la PK de la TablaSuperClasse
...Campos de la subclase...


Esto no impide que un id de la TablaSuperClase este en varias SubClases, lo qual puede ser bueno o malo en funcion de las restriciones de tu modelo de datos, es decir si un individuo puede o no ser de mas de una subclase. Com programación puedes evitar facilmente que un id este en mas de una subclase....

Quim
  #3 (permalink)  
Antiguo 31/07/2008, 04:12
 
Fecha de Ingreso: enero-2008
Mensajes: 61
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Como se expresan las entidades heredadas?

puede ser esta la solución a mis problemas...


http://www.miguelmatas.es/blog/2008/01/19/%C2%BFherencia-en-bbdd/
  #4 (permalink)  
Antiguo 01/08/2008, 01:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Como se expresan las entidades heredadas?

Basicamente, es la misma solución que te daba las subclases tienen que tener una FK referenciada al id de la clase. En este caso

INVITADOS
co_invitado PK
....

REPRESENTANTE
...
co_invitado FK


....


Pero en un caso práctico y seguramente mejor explicado.

Quim
  #5 (permalink)  
Antiguo 01/08/2008, 05:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Como se expresan las entidades heredadas?

Además de lo dicho por quimfv, ten en cuenta que el paso del modelo de clases a un modelo de datos físico no es directo.
No necesariamente una clase se transforma en una tabla y no necesariamente una relación entre dos clases se traduce en una FK de la PK de una tabla en la otra. La cardinalidad de las relaciones también te define tablas: una relación N:N y N:N:N que en el diagrama de clases es una relación entre clases, en el modelo físico de datos se transforma en tablas.
Para ver el efecto directo de esto, te sugiero que busques una herramienta CASE, como por ejemplo el ERWin, modeles un diagrama lógico de entidades y le pidas que lo convierta en modelo físico. Verás inmediatamente que toda relación N:N se convierte en tabla, con el mismo nombre de la relación.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:34.