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

Diseño tablas para multiples perfiles

Estas en el tema de Diseño tablas para multiples perfiles en el foro de Mysql en Foros del Web. Hola a todos, tengo un poco de lio mental y no se cual es la mejor solucion para este caso: Estoy haciendo una aproximacion a ...
  #1 (permalink)  
Antiguo 13/03/2012, 11:00
 
Fecha de Ingreso: julio-2005
Mensajes: 275
Antigüedad: 18 años, 9 meses
Puntos: 3
Diseño tablas para multiples perfiles

Hola a todos, tengo un poco de lio mental y no se cual es la mejor solucion para este caso:

Estoy haciendo una aproximacion a red social. Los usuarios pueden crear páginas de empresa (al estilo facebook o google+) y gestionarlas. Hasta ahí bien. El "problema" es que tengo 4 tipos de empresas que quiero diferenciar. Las empresas tienen mucha informacion en comun (email, telefono, direcciones, imagenes, mapa....) y luego cada una tiene algo en mas en particular, digamos un perfil extendido.

Pretendo hacer una tabla generica que sea EMPRESAS y luego una extendida por cada una diferente, pero no se si esta es la mejor solución.

El problema que me surge es como enlazar correctamente un registro de la tabla EMPRESAS con una de ACADEMIAS (perfil extendido) por ejemplo. No puedo dejar una columna con un id_perfil_extendido porque no se a que tabla va y poner otra columna con el nombre de la tabla me parece un poco chapucero.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 13/03/2012, 11:17
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: Diseño tablas para multiples perfiles

A vuelo de pájaro, podrías usar tres tablas:
1) Perfil
2) DatosDePerfiles
3) Perfil_Datos.
La primera, para los atributos globales de todos los perfiles.
La segunda para crear categorías de datos que puedan extender esos perfiles.
La tercera es la relación N:N entre esas dos, donde podrás crear los datos de cada categoría para un perfil extendido.
Esto permitiría que con un simple INNER JOIN sepas cuáles son los perfiles extendidso, y con un LEFT JOIN cuales no.

Obviamente es una idea general. Habría que pulirla, pero creo que te funcionaría... Y no sería muy difícil de implementar.
__________________
¿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 14/03/2012, 04:04
 
Fecha de Ingreso: julio-2005
Mensajes: 275
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: Diseño tablas para multiples perfiles

Gracias por la respuesta gnzsoloyo,

A vuelo de pajaro también me viene un poco grande de comprender, jaja.

Voy a intentar estudiarla con un ejemplo a ver si me queda más clara:

Supongamos que Tengo la tabla EMPRESAS(Perfil) que contiene todos los atributos comunes. Como empresas tengo Locales, Academias y Tiendas por ejemplo, que cada una tienen sus propios atributos.

Segun he entendido propones que una segunda tabla DatosDePerfiles donde ir añadiendo los atributos extras que me vayan haciendo falta.

Y la tercera tabla sería relacionar por ejemplo un registro de la tabla Perfil con uno de la segunda tabla, y aqui mismo se pone el valor de ese atributo extendido.

PERFIL
id_perfil
nombre
email
telefono

DatosDePerfiles
id_dato
nombre_dato ej: Fax

Perfil_Datos
id_perfil_datos
id_perfil (de la primera tabla)
id_dato (de la segunda tabla)
valor (el valor del atributo correspondiende a id_dato)

Es algo asi??

Etiquetas: diseño, multiples, perfiles, tabla, 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 05:10.