Foros del Web » Programando para Internet » PHP » Zend »

Construcción de base de datos

Estas en el tema de Construcción de base de datos en el foro de Zend en Foros del Web. Hola gente, estoy desarrollando una aplicación para una inmobiliaria en Zend Framework y tengo una duda con respecto a la creación de la base de ...
  #1 (permalink)  
Antiguo 05/11/2012, 20:07
 
Fecha de Ingreso: febrero-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Construcción de base de datos

Hola gente, estoy desarrollando una aplicación para una inmobiliaria en Zend Framework y tengo una duda con respecto a la creación de la base de datos.

Resulta que como cada propiedad puede tener muchos ambientes y además los "ambientes extra", patio, terraza, cochera, etc. con sus respectivas medidas, me planteo la creacíón de la base de datos de dos maneras:

1) Para que sean tablas relacionales, tener una tabla "ambientes" con (id, nombre_ambiente) y otra tabla "ambientes_prop" con (id_propiedad, id_ambiente, medidas). De esta manera por cada ambiente que tiene la propiedad ingreso el id con sus medidas y lo vinculo a la propiedad correspondiente.

Para este caso sería necesario tener un checkbox que marque que existe ese ambiente en la propiedad y un campo texto para las medias y relacionarlo con el id del ambiente.


2) Generar una tabla "medidas" que en sus campos tenga el nombre de cada ambiente posible quedando algo como (id_propiedad, nombre_ambiente_1,nombre_ambiente_2,nombre_ambient e_n), la cual sería llenada con el id de la propiedad y medidas de cada ambiente.

En este caso sería necesario un campo texto para cada ambiente de manera que sea llenado con la medida y aparte tener los checkbox con los ambientes extra para que sólo que pueda decir que existen o no.


Lo que quiero es que sea escalable, es decir, que si un día el usuario desea agregar un ambiente nuevo pueda hacerlo y no dependa de mi para crear un nuevo campo como en el segundo caso. Pero lo que más me inquieta de esto es si el caso uno es conveniente en cuanto a rendimiento, ya que por cada propiedad se podrían estar generando 6 o 7 registros por los ambientes que tiene y sus medidas.

Que me recomiendan?... perdón por lo extenso pero es de la mejor manera que me puede explicar, espero haber sido claro.

Gracias por su tiempo!
  #2 (permalink)  
Antiguo 06/11/2012, 02:46
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 9 meses
Puntos: 89
Respuesta: Construcción de base de datos

Tu mismo te respondes, si quieres que sea escalable la opción dos queda descartada. Si los ambientes van a ser fijos te podrías plantear la opción 2, pero ya veo que no. Además, supongo que una casa puede tener muchas habitaciones, con lo que si optas por la opción 2, ¿Cuántos campos pones para las distintas habitaciones? ¿Y cuantos para los distintos baños? ¿Y cuantos para las distintas terrazas? ¿Y si tiene varias plazas de garaje?

Resumiendo: La opción 1, sin ninguna duda
  #3 (permalink)  
Antiguo 06/11/2012, 06:26
 
Fecha de Ingreso: febrero-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Construcción de base de datos

Muchas gracias Heimish2000

Como bien decis, yo mismo me respondo, pero aun sabiendo que la mejor opción es la primera, como decía en la última parte de la pregunta, no quisiera que el rendimiendo se vea afectado ya que por cada propiedad puede haber muchos ambientes y por lo tanto se generarían muchos registros por propiedad....
  #4 (permalink)  
Antiguo 06/11/2012, 07:06
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 9 meses
Puntos: 89
Respuesta: Construcción de base de datos

Se generarán muchos registros, pero es mejor eso que tener una tabla con campos que no utilizas y que, como te he dicho, no sabes si te va a valer en todos los casos.

En cuanto a temas de rendimiento se puede mejorar haciendo consultas eficientes, creando indices, etc, etc
  #5 (permalink)  
Antiguo 06/11/2012, 08:04
 
Fecha de Ingreso: febrero-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Construcción de base de datos

Ok, voy a aplicar la opción uno, tendré que jugar un poco con los formularios para relacionar el id del ambiente junto con el campo texto...

Gracias nuevamente por tu tiempo.

Etiquetas: framework, mysql, php
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 08:28.