Tema: Aconsejenme
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/06/2004, 06:21
Geri
 
Fecha de Ingreso: noviembre-2003
Ubicación: Torrelodones
Mensajes: 134
Antigüedad: 21 años, 2 meses
Puntos: 0
Aconsejenme

Hola a todos/as

Me gustaria que me aconsejarais en la forma de hacer un proyecto. Estoy metido en un proyecto para una inmobiliaria en el que el usuario puede meter las caracteristicas que quiera para los inmuebles. Entonces, tengo una tabla FINCA que tiene las caracteristicas generales que tienen que tener todos los inmuebles y luego quiero hacer otra tabla que almacene las caracteristicas opcionales (aire acondicionado, alarma, ascensor...). Para hacer esto he pensando 2 formas
de hacerlo:

1- Hago 2 tablas, la de FINCA y la de caracteristicas. La tabla FINCA tiene idfinca como identificardor y la tabla caracteristicas tiene el idcaract y el idfinca. La particularidad de esta tabla es que se añadira una columna cada vez que se añada una caracteristica, es decir, si por ejemplo el usuario añade como caracteristica nueva PISCINA quedaria asi

idcaract | idfinca | Alarma | Piscina |....
1 | 2 | Si |
2 | 5 | | Si
. | . | . | .
. | . | . | .
Cada vez que se añade una caracteristica se añade una columna nueva con la siguiente sentencia

mysql_db_query($base,"alter table caracteristicas add '$nueva' varchar(2)");

Y si el usuario quiere dar de baja una caracteristica haria la misma sentencia pero con DROP

2- La segunda opcion es haciendo 3 tablas. La tabla Finca igual que la anterior mencionada, la tabla caracteristicas que almacenara solo el nombre de la caracteristica y su identificador, y una tabla que una las 2 anteriores que seria caract_finca con los identificadores de finca y de caracteristicas. Quedaria por ejemplo asi

idcaract_finca | idfinca | idcaract |
1 | 2 | 3
2 | 2 | 5
3 | 4 | 3
4 | 4 | 1

Lo malo que le veo a esta ultima forma es que si hay muchas caracteristicas y muchas casas, la base de datos se puede hacer muy pesada, no???

Siento el pedazo rollo que les acabo de soltar pero espero que me hayan entendido y me sepan aconsejar.

Muchas gracias

PD: Si ninguna de las 2 formas es la correcta asesorenme con una mejor por favor
__________________
Conoce gente nueva, haz amigos, aplicaciones para moviles, juegos online,... Y todo gratis!!! :si: www.cuelate.com

Última edición por Geri; 08/06/2004 a las 06:24