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

Aconsejenme

Estas en el tema de Aconsejenme en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 08/06/2004, 06:21
 
Fecha de Ingreso: noviembre-2003
Ubicación: Torrelodones
Mensajes: 134
Antigüedad: 20 años, 6 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
  #2 (permalink)  
Antiguo 08/06/2004, 09:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Hay un foro que trata sobre "Base de datos" donde te podrían orientar sobre las consultas SQL a tu BD o incluso algo sobre el modelo de datos para tu BD a seguir .. También tienes el foro de "Ingenería del Software ..." para tratar temas sobre como desarrollar ese modelo de datos más adecuado ..

De todas formas . .en este caso "PHP" estaría lo último del proceso cuando tengas todo eso claro. Procedo a mover tu mensaje al foro de "Base de datos" para que te orienten sobre el mejor modelo de datos y mejor "normalización" para tu caso concreto.

Un saludo,

PD: si quieres ir viendo algo del tema: www.mysql-hispano.com (fijate en los tutoriales sobre normalización)
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 01:45.