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

Diseño Base de Datos

Estas en el tema de Diseño Base de Datos en el foro de Bases de Datos General en Foros del Web. Hola a todos, tengo una web casi terminada con una base de datos y despues de estar diseñada me surge la siguiente duda. Tengo una ...
  #1 (permalink)  
Antiguo 09/02/2010, 14:32
thi
 
Fecha de Ingreso: abril-2009
Mensajes: 244
Antigüedad: 15 años
Puntos: 0
Diseño Base de Datos

Hola a todos,

tengo una web casi terminada con una base de datos y despues de estar diseñada me surge la siguiente duda.

Tengo una tabla que tiene los siguientes campos:
Nombre tienda
Proveedor
Web Proveedor
Usuario
Password1
Password2
Password3

Esta tabla es la que usaran las tiendas para guardar las claves de acceso a las paginas de los proveedores.

El problema es que puede llegar a haber 10000 tiendas y 400 proveedores, por lo tanto cada vez que se añada una tienda hay que escribir en la tabla el nombre de la tienda y los 400 proveedores, lo cual me parece demasiado trabajo.

La alternativa que yo veo es crear una tabla para cada tienda y así se creara la tabla inicial con los 400 proveedores y a partir de esta primera tabla copiarla cada vez que se cree una nueva tienda. Lo que pasa es de esta forma se podrán llegar a crear 10000 tablas y no se que tal funcionara todos así.

Estoy abierto a sugerencias. Un saludo.
  #2 (permalink)  
Antiguo 09/02/2010, 15:06
Avatar de morior  
Fecha de Ingreso: agosto-2009
Ubicación: Barcelona
Mensajes: 437
Antigüedad: 14 años, 8 meses
Puntos: 12
Respuesta: Diseño Base de Datos

Creo que no tienes muy claro el tema de unir diferentes tablas, supongo que hablas de mysql.


Tabla tienda
tienda_id
nombre_tienda
otros_campos

Tabla Proveedor
proveedor_id
nombre_proveedor
web_proveedor

Tabla Usuario
usuario_id
nombre_usuario
Password1
Password2
Password3

Y luego puedes crear una tabla que las una.

Tabla empresa proveedor
identificador
empresa_id
proveedor_id


Es un ejemplo así rápido. De todas formas faltan por ahí muchos datos. Los usuarios pueden pertenecer a una o a mas empresas? los usuarios son proveedores? como se relacionan? bla bla bla
__________________
Juego de navegador online
  #3 (permalink)  
Antiguo 10/02/2010, 06:56
thi
 
Fecha de Ingreso: abril-2009
Mensajes: 244
Antigüedad: 15 años
Puntos: 0
Respuesta: Diseño Base de Datos

Gracias por tu respuesta morior, aunque creo que no me has entendido.

En la tabla usuario no puedo poner usuario y passwords porque estos datos son diferentes para cada proveedor, imaginate que tu tienes acceso a la zona privada de varias webs y que quien te proporciona el usuario y el password de cada una de estas webs es el propietario de la misma, esto haría que tuvieras diferentes usuarios y passwords y por lo tanto necesitas una tabla exclusiva para guardar estos datos.

Entoces la pregunta es crear una sóla tabla con 4000000 registros o 10000 tablas con 400 registros cada una.

Un saludo.
  #4 (permalink)  
Antiguo 10/02/2010, 09:58
Avatar de morior  
Fecha de Ingreso: agosto-2009
Ubicación: Barcelona
Mensajes: 437
Antigüedad: 14 años, 8 meses
Puntos: 12
Respuesta: Diseño Base de Datos

Cita:
Iniciado por thi Ver Mensaje
Gracias por tu respuesta morior, aunque creo que no me has entendido.

En la tabla usuario no puedo poner usuario y passwords porque estos datos son diferentes para cada proveedor, imaginate que tu tienes acceso a la zona privada de varias webs y que quien te proporciona el usuario y el password de cada una de estas webs es el propietario de la misma, esto haría que tuvieras diferentes usuarios y passwords y por lo tanto necesitas una tabla exclusiva para guardar estos datos.

Entoces la pregunta es crear una sóla tabla con 4000000 registros o 10000 tablas con 400 registros cada una.

Un saludo.
Si puedes tener un número variable de passwords tienes que hacer otra tabla entonces que relacione las empresas o los usuarios con los passwords

Tabla password
pasword_id
usuario_id
Password1

De todas formas sigo sin entender bien cuál es tu problema, trátalo de explicar mejor, o seré yo el que soy lento (también es posible).
__________________
Juego de navegador online
  #5 (permalink)  
Antiguo 10/02/2010, 12:31
thi
 
Fecha de Ingreso: abril-2009
Mensajes: 244
Antigüedad: 15 años
Puntos: 0
Respuesta: Diseño Base de Datos

Ejemplo:

Tiendas:
tienda1
tienda2
tienda3
tiendan

Proveedores:
proveedor1
proveedor2
proveedor3
proveedorn

El proveedor1 le proporciona a la tienda1 lo siguientes datos para acceder a su web:
Usuario: usu11
Passwords: pass11

El proveedor2 le proporciona a la tienda1 lo siguientes datos para acceder a su web:
Usuario: usu12
Passwords: pass12

El proveedor3 le proporciona a la tienda1 lo siguientes datos para acceder a su web:
Usuario: usu13
Passwords: pass13

El proveedor1 le proporciona a la tienda2 lo siguientes datos para acceder a su web:
Usuario: usu21
Passwords: pass21

El proveedor2 le proporciona a la tienda2 lo siguientes datos para acceder a su web:
Usuario: usu22
Passwords: pass22

El proveedor3 le proporciona a la tienda2 lo siguientes datos para acceder a su web:
Usuario: usu23
Passwords: pass23

El proveedor1 le proporciona a la tienda3 lo siguientes datos para acceder a su web:
Usuario: usu31
Passwords: pass31

El proveedor2 le proporciona a la tienda3 lo siguientes datos para acceder a su web:
Usuario: usu32
Passwords: pass32

El proveedor3 le proporciona a la tienda3 lo siguientes datos para acceder a su web:
Usuario: usu33
Passwords: pass33

Y así hasta 10000 tiendas y 400 proveedores

P.D. Algunos proveedores pueden proporcionar mas de una clave(password) para acceder a su web.
  #6 (permalink)  
Antiguo 11/02/2010, 13:22
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Diseño Base de Datos

Lo único que tienes que hacer es NORMALIZAR tu base de datos, con una tabla para cada entidad y luego las relacionas entre sí.
Vease http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos

Etiquetas: diseño
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 07:35.