Foros del Web » Programando para Internet » PHP »

Duda con mysql + php

Estas en el tema de Duda con mysql + php en el foro de PHP en Foros del Web. Buenas, tengo una duda, resulta que no sé cuál sería la mejor manera de organizar una base de datos, expongo como sería el caso: Tendría ...
  #1 (permalink)  
Antiguo 09/11/2015, 07:26
 
Fecha de Ingreso: agosto-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
Duda con mysql + php

Buenas, tengo una duda, resulta que no sé cuál sería la mejor manera de organizar una base de datos, expongo como sería el caso:

Tendría 5 o 6 usuarios registrados, cada usuario va a buscar en una tabla general bastante grande donde hay información de empresas, se haran unas segmentaciones según X parámetros y esas segmentaciones se irán guardando con X nombre, mi duda es... como puedo organizar la bdd en una tabla tipo nombreusuario_segmentaciones por ejemplo, para que no tenga que meter un campo en cada registro diciendo a que segmentacion pertenece? basicamente este seria mi esquema:

Base de datos general -> segmentacion1
-> segmentacion2
-> segmentacion3

Cual creeis que es la mejor manera de enfocar esto? teniendo en cuenta que cada segmentacion pueden ser 100,200 o 300 registros
  #2 (permalink)  
Antiguo 09/11/2015, 10:47
 
Fecha de Ingreso: agosto-2015
Ubicación: Colombilandia
Mensajes: 10
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Duda con mysql + php

Explica un poco con mas detalle la estructura de tablas que quieres formar y que contiene cada una. :)
  #3 (permalink)  
Antiguo 09/11/2015, 11:06
 
Fecha de Ingreso: agosto-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Duda con mysql + php

Pues basicamente seria volcar datos de una base de datos general que contiene datos empresariales, para asi poder hacer segmentaciones y poder anotar comentarios, y luego pues poder hacer reportes basados en dichas segmentaciones, para eso necesito nombrar cada segmentacion para reconocerla, y tener datos reales de las empresas, claro, mi duda es como puedo organizar de una forma eficiente esas segmentaciones, para identificarlas y que no generen mucha carga en la bdd
  #4 (permalink)  
Antiguo 09/11/2015, 11:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Duda con mysql + php

Define a qué le estás llamando "segmentación". Es demasiado abstracto lo que cuentas como para plantearse un modelo de BBDD con esa descripción.
¿Qué segmentas? ¿Sobre qué criterios?
¿Qué entidades representan esos parametros?
¿Los usuarios tienen alguna distinción funcional entre ellos?
¿Que tipos de agregaciones y desagregaciones se obtienen de esas tablas, y qué tipo de datos contiene esa tabla? ¿Cual es la estructura? ¿Es una tabla basada en modelo relacional o no?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 09/11/2015 a las 11:36
  #5 (permalink)  
Antiguo 09/11/2015, 12:57
 
Fecha de Ingreso: agosto-2015
Ubicación: Colombilandia
Mensajes: 10
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Duda con mysql + php

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Define a qué le estás llamando "segmentación". Es demasiado abstracto lo que cuentas como para plantearse un modelo de BBDD con esa descripción.
¿Qué segmentas? ¿Sobre qué criterios?
¿Qué entidades representan esos parametros?
¿Los usuarios tienen alguna distinción funcional entre ellos?
¿Que tipos de agregaciones y desagregaciones se obtienen de esas tablas, y qué tipo de datos contiene esa tabla? ¿Cual es la estructura? ¿Es una tabla basada en modelo relacional o no?
El tiene razón creo que esa información que das es muy vaga. Hay mucho que nosotros no sabemos con respecto a lo que tu tal vez desees. Primero que todo nose si valga decirlo, debes pensar en el modelo entidad-relacion de esa base de datos, y recordar que es mejor una bdd con muchas entidades-relacion bien definidas, que con pocas para "ahorrar" que de verdad te formen problemas de integridad referencial.

Nose si me explique, pero si sabes de que hablo vamos por buen camino ahora seria que nos explicaras la estructura de las tablas que quieres formar, o minimamente con qu estas interactuando, con que información de la empresa vas ainteractuar, tal vez mucha de esta información seguramente este relacionada por lo cual cada relacion tal vez necesite tener sus tablas por aparte.
  #6 (permalink)  
Antiguo 10/11/2015, 03:00
 
Fecha de Ingreso: agosto-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Duda con mysql + php

Vale, voy a especificar mas, tengo una tabla con registros de empresas con bastantes columnas, nombre, direccion,telefono, cnaedes, fax y algunos más que están por poner, las segmentaciones serían buscar por ejemplo todas las empresas que se dediquen a X sector en X provincia, entonces se vuelca toda la información y se va trabajando consultando ficha por ficha en esa segmentación, y ya a partir de ahí se añaden notas, si la empresa está interesada en la oferta que se le diga... etc, para luego generar un reporte con el resultado de la segmentacion.

Los usuarios serán trabajadores que tendrán las mismas funcionalidades, menos yo que tendré cuenta de super usuario para administrarlos

Última edición por siox; 10/11/2015 a las 04:17
  #7 (permalink)  
Antiguo 11/11/2015, 03:43
 
Fecha de Ingreso: agosto-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Duda con mysql + php

nada? :S sigue siendo informacion incompleta? un poco de ayuda por favor :( es que me urge bastante
  #8 (permalink)  
Antiguo 11/11/2015, 03:57
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Duda con mysql + php

Saludo.
Pues yo creo que lo mejor sería que plasmaras eso en un ejemplo más diciente.

Así por encima, a lo que entiendo, es que se tiene una tabla gigantesca,
en la que n usuarios consultaran y crearan segmentaciones,
que me imagino será algo similar a crear vistas en la base de datos,
es decir, que un segmento será un conjunto de campos de la tabla inicial.

Sí mi planteamiento es correcto, entonces la estructura debería ser
de una tabla en la que un usuario cree sus segmentaciones,
e incluso tal vez hasta puedan compartir segmentaciones
en caso que sean algunas comunes a todos.

A su vez, habría otra tabla que determine cuales campos
son los que usa determinada segmentación, para luego
armar la consulta.

Y otra tabla que relacione las segmentaciones con las respectivas
anotaciones que se hagan sobre la misma.

Ya dirás sí se acerca en algo a lo que buscas, o sí lo que necesitas
es otro enfoque.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #9 (permalink)  
Antiguo 11/11/2015, 09:22
 
Fecha de Ingreso: agosto-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Duda con mysql + php

Sí, mas o menos sería eso, pero las notas no se crearían sobre las segmentaciones en si, yo cogeria y buscaria por ejemplo en la tabla con todos los datos todas las carpinterias dentro de sevilla, volcaria todas esas empresas a lo que denominamos una segmentación, e iria llamando una por una, anotando todo lo que me van diciendo los dueños, si estan interesados.. etc. El tema es que no se si sería necesario volcar de nuevo otra vez los datos de cada empresa para luego poder trabajar la segmentacion, o hacer referencia al ID de la tabla general de empresas, mi duda es como organizar esas segmentaciones en la base de datos.

Muchisimas gracias por la paciencia que estais teniendo, mi intencion es colaborar en todo lo que pueda para solucionar este problema cuanto antes mejor
  #10 (permalink)  
Antiguo 11/11/2015, 09:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Duda con mysql + php

Cita:
Iniciado por siox Ver Mensaje
Vale, voy a especificar mas, tengo una tabla con registros de empresas con bastantes columnas, nombre, direccion,telefono, cnaedes, fax y algunos más que están por poner, las segmentaciones serían buscar por ejemplo todas las empresas que se dediquen a X sector en X provincia, entonces se vuelca toda la información y se va trabajando consultando ficha por ficha en esa segmentación, y ya a partir de ahí se añaden notas, si la empresa está interesada en la oferta que se le diga... etc, para luego generar un reporte con el resultado de la segmentacion.

Los usuarios serán trabajadores que tendrán las mismas funcionalidades, menos yo que tendré cuenta de super usuario para administrarlos
Vamos a ver si se entiende lo que te diré...

Por lo pronto, tienes una entidad denominada Empresa. Esa entidad posee en todos los casos una serie de atributos tales como razón social, nombre de fantasía (marca, por ejemplo), dirección, teléfono, ubicación geográfica, etc.
Ahora bien, según tu descripción, una empresa puede estar dedicada a uno o más rubros comerciales o industriales, con lo que surgen dos cosas: 1) una entidad llamada Rubro,y 2) una relación entre Empresa y Rubro de cardinalidad N:M, lo que determina una entidad relacional Empresa_Rubro.
A su vez, tienes algo que denominas "oferta", por lo que tienes una entidad llamada Oferta, que se podría vincular con otra denominada DetalleOferta, y a su vez otra que representa la acción de oferta, que podríamos llamar "Campaña".
Es decir, en una campaña Z le realizas una X oferta a N Empresas, algunas que pueden aceptar y otras que no.
En ese contexto necesitas:
1) Una entidad de Oferta, descompuesta en dos: oferta y detalle_oferta, 2) Una entidad Campaña, relacionada con una lista de Empresas_Ofertar, relacionada ocn Empresa, con un CriterioSegmentacion, y un ResultadoOferta, relacionado no con la empresa, sino con la entidad Empresas_Ofertar, ya que es a partir de ejecutar la acción de ofertar, donde se requiere almacenar el resultado de aceptación o rechazo de la misma.

Y desde acá podemos seguir... pero ya llegamos Empresa, Rubro, Empresa_Rubro, Oferta, DetalleOferta, Campaña, ResultadoOferta, CriterioSegmentacion, CategoriaEmpresa, y puede que una media docena mas de tablas.
Creo que con eso alcanza para comenzar...


Lo que quiero que entiendas es que una tabla única no sirve para el modelo de sistema que tienes que cubrir, y por otro lado que la segmentación requiere reglas y categorizaciones, que también definen tablas adicionales.
Finalmente, las "segmentaciones" a que haces referencia, son en realidad consultas a la base para obtener listados basados en criterios de selección que se pueden implementar como reglas en una tabla.

¿Se va entendiendo?

En esencia, lo que necesitas es aprender un poco de Análisis de Sistemas. No simplemente programar o diseñar consultas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 11/11/2015 a las 09:39

Etiquetas: mysql, registro, tabla, usuarios
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 19:41.