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

Diseñar BD - Multiples Campos y Tablas

Estas en el tema de Diseñar BD - Multiples Campos y Tablas en el foro de Mysql en Foros del Web. Hola, como están? Les cuento que estoy intentando diseñar una Base de Datos para un sitio, y dado que no soy experto en el tema, ...
  #1 (permalink)  
Antiguo 18/06/2011, 19:02
Avatar de kesioo  
Fecha de Ingreso: enero-2007
Ubicación: Capital Federal, Argentina
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 2
Diseñar BD - Multiples Campos y Tablas

Hola, como están?

Les cuento que estoy intentando diseñar una Base de Datos para un sitio, y dado que no soy experto en el tema, encuentro algunas limitaciones de representación para la misma.

En la base de datos, se registran establecimientos registrados por usuarios.
Al ser varios tipos de establecimientos con muchos campos diferentes creo una tabla para cada uno de ellos (serian 10 tablas de establecimientos)


El diseño hasta ahora viene así, (*) es la clave de la tabla:
- Tabla de usuario (id usuario(*), contraseña, datos personales).
- Tabla de coordenadas googleMaps (id googleMaps(*), longitud, latitud)
- Tabla de establecimientos (id Establecimiento (*), con sus campos + id Usuario Propietario, id googleMaps).

Mi pregunta es:
1 - La tabla para googleMaps al tener solo 2 campos, no tiene sentido no? deberia incluirlos en cada tabla de establecimiento?
2 - Al tener muchos campos para cada establecimiento, es logico pensar en 10 tablas, para no tener que negarlos en una sola tabla que englobe decenas de campos?
3 - Las características específicas de cada establecimiento tipo buleanas, me obligan a generar muchos checkbox en el registro. Hay alguna forma de guardarlos juntos (al menos los que refieran a aspectos relacionados), o debo generar para por ej, 100 campos tipo boolean para 100 checkbox..?

Espero me puedan entender.. me esta costando esto de diagramar la base de datos pero quiero hacerlo bien...

muchas gracias a todos!
  #2 (permalink)  
Antiguo 19/06/2011, 08:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Diseñar BD - Multiples Campos y Tablas

Cita:
1 - La tabla para googleMaps al tener solo 2 campos, no tiene sentido no? deberia incluirlos en cada tabla de establecimiento?
Las tablas son representaciones de entidades reales o virtuales. En tu caso hay una entidad denominada "Establecimiento", que tiene ciertos atributos. Su ubicación geográfica es un atributo de la entidad, por lo tanto pertenece a la tabla de la entidad. No se comprende por qué razón creaste una tabla independiente para ello.

Cita:
2 - Al tener muchos campos para cada establecimiento, es logico pensar en 10 tablas, para no tener que negarlos en una sola tabla que englobe decenas de campos?
Que tengas muchos tipos de establecimientos no implica que tengas que tener muchas tablas diferentes para cada tipo de ellos. De hecho, sin importar qué tipo de establecimientos estás manejando, todos ellos deben forzosamente tener atributos que son comunes (nombre, identificación comercial/institucional/impositiva, domicilio, propietario(s), etc.). Esos atributos son los que definen la entidad "Establecimiento". Los atributos no comunes pueden estar hablando de subtipos de entidad y no necesariamente de tablas independientes de Entidades. Es muy posible que tu diseño sea realmente una jerarquía y no una red de tablas independientes.
De todos modos, sin saber qué entidades son, y qué tipos de datos ves diferentes entre ellas, no es fácil darte consejos. Sería una buena idea que nos dieses un ejemplo más detallado para ver exactamente qué es lo que conviene hacer.

Cita:
3 - Las características específicas de cada establecimiento tipo buleanas, me obligan a generar muchos checkbox en el registro. Hay alguna forma de guardarlos juntos (al menos los que refieran a aspectos relacionados), o debo generar para por ej, 100 campos tipo boolean para 100 checkbox..?
Por definición del modelo E-R no deben existir campos multivaluados, de modo que si tienes que guardar 100 valores que corresponden a 100 datos diferentes de una entidad, necesitas 100 columnas diferentes.
No te extrañe. Tengo al menos un caso donde una misma entidad debe almacenar 196 campos diferentes, la mayoría de ellos booleanos (no buleanos, eso es como escribir Guat en lugar de Watt en electricidad), ninguna de las cuales se puede omitir ni derivar a otra, porque son atributos de la misma instancia.
En cuanto a lo de los checkbox, y demás, el tema no es que pongas 100 checkbox en una misma vista de web. En todo caso lo que haces es hacer sucesivos formularios, agrupados temáticamente y que sean llenados en forma consecutiva... Como hacen todos los programas en las áreas de configuración... ¿No te parece?
De todos modos eso es tema de programación y no de base de datos. Está fuera del alcance de este foro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 19/06/2011, 14:20
Avatar de kesioo  
Fecha de Ingreso: enero-2007
Ubicación: Capital Federal, Argentina
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: Diseñar BD - Multiples Campos y Tablas

antes que nada, gracias gnzsoloyo por tu ayuda..

hasta ahora no he creado nada, solo estoy planificando para comprender mejor el tema y no tener que hacer modificaciones luego..

1- Tienes razon en lo que me dices de googleMaps. no tiene sentido siendo tan sólo 2 atributos. La idea sería levantarlos individualmente en los legajos y todos juntos en un mapa principal (con marcadores especificos dependiendo del tipo). No se porque lo pense así.


2- Disculpame por no haber brindado mucha info. Estaba tan metido que me olvide de especificar. La base de datos es para una inmobiliaria (por eso establecimientos: casas, deptos, oficinas..)
Yo ya habia discriminado los campos generales, que se repiten para todos (dirección, antigüedad, precio, tipo de propiedad, atributos googlemaps).
Pero el problema estaba en la parte especifica de cada uno. Ej: Una casa tendra "x" campos especificos, un depto otros "x", oficina, galpon y asi.
Si los pongo todos en la misma tabla, creo terminaria con varios cientos de campos, y de ahi salia mi consulta.
Pero por lo que me dices aquí
Cita:
Los atributos no comunes pueden estar hablando de subtipos de entidad y no necesariamente de tablas independientes de Entidades. Es muy posible que tu diseño sea realmente una jerarquía y no una red de tablas independientes.
se me ocurre que debería hacer una tabla para englobar todos los campos generales, y tablas para cada subtipo dependientes del tipo de propiedad.. estaría bien así?


3- Respecto a los checkbox, me queda mucho mas claro ahora.
Tenia la idea de hacer el formulario en pasos, pero no entendia la parte de la base de datos. Imagino que hare los campos necesarios para cada booleano.
(perdon por el "buleanos", se que en ingles es boolean y pense que asi lo llamaban en castellano :D)
  #4 (permalink)  
Antiguo 19/06/2011, 15:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Diseñar BD - Multiples Campos y Tablas

- Cuando tratas con posiciones geográficas (Latitud y Longitud), y sólo requieres una sola posición, lo más simple es ponerlas como FLOAT, DOUBLE o incluso DECIMAL(13,8). A fin de cuentas sólo estás buscando un punto.
-Pero si necesitas poner un conjunto de puntos, como podría ser el perímetro de una propiedad, te conviene usar columnas de tipo GEOMETRY y guardarlo como POLYGON. Así guardas el conjunto completo como un sólo objeto en el mismo registro.
Los detalles de eso los puedes buscar en el capitulo MySQL:: 18.Extensiones Espaciales

Cita:
se me ocurre que debería hacer una tabla para englobar todos los campos generales, y tablas para cada subtipo dependientes del tipo de propiedad.. estaría bien así?
Esa es la idea. Un grafico tipo para esos caso sería:


Cita:
se que en ingles es boolean y pense que asi lo llamaban en castellano
No problem. Es que en la ciencia informática el habla está llena de anglicismos, y en general es muy raro que se traduzca o castellanice nada, salvo lo que es generalmente de hardware.
La mayoría de lo que tenga que ver con programación o lenguajes no suele traducirse, y de todos modos, el término booleano proviene de Lógica y es un derivado del nombre de su creador (George Boole), y en esos casos no se traduce. Por eso mencioné el ejemplo de Watt, como podría haber sido el lamarckismo (de Jean-Baptiste Lamarck).

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 19/06/2011, 17:48
Avatar de kesioo  
Fecha de Ingreso: enero-2007
Ubicación: Capital Federal, Argentina
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: Diseñar BD - Multiples Campos y Tablas

Código:
La mayoría de lo que tenga que ver con programación o lenguajes no suele traducirse, y de todos modos, el término booleano proviene de Lógica y es un derivado del nombre de su creador (George Boole), y en esos casos no se traduce. Por eso mencioné el ejemplo de Watt, como podría haber sido el lamarckismo (de Jean-Baptiste Lamarck).
jejeje muuuuy grafico lo tuyo!

la verdad me quedo todo bastante más claro.. de todas maneras intuyo que mientras siga avanzando con la planificacion, seguiran apareciendo dudas, pero creo voy por mejor camino.

te agradezco muchisimo tu ayuda!
saludos!
  #6 (permalink)  
Antiguo 19/06/2011, 18:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Diseñar BD - Multiples Campos y Tablas

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: bd, campos, diseñar, multiples, tablas
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 13:13.