Ver Mensaje Individual
  #24 (permalink)  
Antiguo 31/03/2005, 12:17
SiNiESTrO
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
Antigüedad: 19 años, 1 mes
Puntos: 0
Buenas, he llegado a este post mediante Google puesto que tengo el mismo problema y creo que no entiendo bien las distintas opciones.

¿Cuál sería la más óptima? Creo que la que mejor se adapta a mis necesidades es la de jpinedo pero no se si la he entendido bien.

Se trata de crear una tabla común a todos los tipos de entidades y con todos sus atributos comunes. En el caso del inmueble:

INMUEBLE
---------
id_Inmueble
tipo_Inmueble
datos_comunes


Y luego tablas con los tipos de tabla general. En este caso, los tipos de inmuebles:

PISO
-----
id_Piso
datos_piso

ATICO
------
id_Atico
datos_Atico


Creo que esa es la idea básica, pero luego hay variantes que no se si serán del todo óptimas. Por ejemplo, recojo la idea de usar un único id para pisos y áticos, por ejemplo, y así obviar el campo 'tipo_inmueble'. Así al hacer referencia a un id, obtendríamos unos campos determinados. Aunque según voy escribiendo esto, creo que noes del todo óptimo puesto que generaría una tabla intermedia con todos los datos para luego descartar los innecesarios.

Otra idea que se me ocurre, y creo que esto si es más útil, es tener una tabla auxiliar con los tipos de inmuebles existentes, por si en un futuro se desea añadir alguno. Creo que esto también se comentó, pero por si acaso.

Espero la opinión de alguien, aunque esté todo ya más que dicho. Así podré aclarar mis dudas.

Gracias por adelantado.


P.D.: ¿sería esta una consulta válida en el primer caso de jpinedo?

SELECT * FROM inmueble INNERJOIN inmueble.tipo_inmueble ON inmueble.id_inmueble = piso.id_piso WHERE id_inmueble = 1234;

La verdad es que si funcionara así, sería bastante potente

Última edición por SiNiESTrO; 31/03/2005 a las 13:02