Bases de Datos - Busco asesoramiento

 
Vista:
sin imagen de perfil

Busco asesoramiento

Publicado por turco (2 intervenciones) el 23/04/2015 15:35:49
Estoy en pleno modelado de datos para la construcción de una BD que tenga la capacidad de manejar un gran número de usuarios suscriptores.

Y el mayor problema que se me presenta, obviamente es por mi inexperta experiencia en grandes BS's


Planteo del problema:



1 - Se esperan muchos registros de usuarios
2 - Cada usuario podrá registrar miles de productos diferentes (solo puede usar los ya registrados y no puede crear nuevos)
3 - Dichos productos son los mismos para todos ellos, pero....
4 - Cada usuario le proporciona diferentes características (o cualidades) a cada uno de sus productos registrados.

por lo tanto.... si existen miles de productos ya registrados en la BD, que los usuarios pueden usar, pero cada uno de los usuarios puede darles características diferentes a cada uno de ellos.... pues..... no se como resolver este problema, ya que no me decido si:

(A)


Crear solo 1 tabla que contenga los siguientes campos:

producto_id (Primary Key)
este_producto_es_del_tipo (relación con la tabla de los miles de productos que puede usar pero no modificar)
característica_1
característica_2
característica_3

pertenece_al_usuario (relación con la tabla de registro de usuarios)

(para poder listar los productos que pertenezcan a cada uno de los usuarios)

o

(B)


Crear una tabla por cada uno de los usuarios registrados (que pueden ser varios miles) y en dichas tablas que contengan los productos que le pertenecen a cada uno de los usuarios...

Seguramente surgirán varias dudas.... he tratado de resumir lo más posible el planteo sin quitar información importante, pero les ruego me consulten si surgen dudas.

Desde ya muchas gracias a todos los participantes que lean o respondan este planteo.... Solo resta comentar que he buscado en mi zona, modeladores de datos o diseñadores de bases de datos, pero no he encontrado ninguno que valga la pena.

En cuanto a diseño, no se cual es de mayor rendimiento, de mejor respuesta del servidor (que trabaje lo menos posible) teniendo en cuenta que puse solo 3 características, pero en realidad son muchas más.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 93
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Busco asesoramiento

Publicado por xve (107 intervenciones) el 23/04/2015 20:11:52
Hola Turco, yo lo que haría, seria crear tres tablas...

1.- Usuario
2.- Productos
3.- Vinculación

La tabla de Vinculación, seria la tabla que contiene el id del Usuario con id del Producto seleccionado, de esta manera, habrán tantos registros como usuarios/productos tengan seleccionados

Creo que esta es la manera mas óptima con bases de datos relacionales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Busco asesoramiento

Publicado por turco (2 intervenciones) el 24/04/2015 15:55:22
Excelente sugerencia, muchas gracias.

¿Pero tu crees que este sistema de vinculación trabajará más rápido y mejor que agregarle un ID_Usuario a la tabla "Productos"?

(Como lamento no tener mayor experiencia ni conocimientos)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Busco asesoramiento

Publicado por Ramiro (17 intervenciones) el 24/04/2015 19:22:30
En este caso no tiene nada que ver con la velocidad si no como es, segun el modelo relacional, la forma correcta de hacerlo.
Es un tanto largo de explicar por eso te sugiero que leas un poco de teoria de base de datos, sobre todo el lo que respecta a generalización y especialización para que aclares este tipo de dudas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro

Busco asesoramiento

Publicado por Alejandro (4 intervenciones) el 26/04/2015 00:21:26
Mira es sencillo, maneja uso de listas, eso te multiplica las posibilidades de combinaciones de acuerdo a clasificadores, solo deberás generar 1 tabla y problema resulto, con una tabla y un black box y listo.

Saludos.
Si te interesa, te dejo mi teléfono

55-3280-4940
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar