Ver Mensaje Individual
  #13 (permalink)  
Antiguo 13/06/2009, 06:46
diegorr
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Consulta. Interactuar Objetos con Tablas de BD.

Cita:
Iniciado por Hiruma-Sama Ver Mensaje
buenas, disculpen la tardanza quizas en responde, pero recien ayer y hoy me sente a leer sobre bases de datos relacionales y mas o menos creo yo que voy captando la idea, pero me quiero sersiorar, creo que en definitiva mis tablas quedarian asi:

Tabla Usuarios:

id_usuario (clave primaria)
nombre_usuario
password

Tabla Mochilas:

id_mochila (clave primaria)
id_item (foranea) //Mi problema aqui vendria a ser, que no hay un solo item asignado a la mochila, seria una lista de items, y con cada uno, su determinada cantidad.
id_usuario (foranea)
cantidad_de_cada_item //Aqui es mi mayor duda, puesto que en cada mochila, podra haber variados items, pero de cada uno puede haber varios, supongamos "remeras", pero necesitaria saber la cantidad de remeras...


Tabla Items:

id_item (clave primaria)
nombre // seria el nombre que posee el objeto.
contenido // seria una descripcion de lo que es/hace el Objeto.

Respondo casi 1 mes después, pero quizás te sirva.

La tabla Mochilas: es allí en donde está tu poblema.
Tenés id_mochila como clave primaria, id_item como clve foránea.

Lo que ocurriría aquí es que solo podrías insertar una mochila, con tan solo 1 item.
Si insertas la misma mochila, entonces saldrá un error (clave primaria duplicada).

Entonces la solución a esto sería crear una clave primaria compuesta entre id_mochila e id_item.
Esto te dejará agregar varios items a una misma mochila.

--------------------------------------------------------------------

Por ejemplo:

REGISTRO 1

id_mochila: 1
id_item: 1


REGISTRO 2

id_mochila: 1
id_item: 2


REGISTRO 3

id_mochila: 1
id_item: 3

--------------------------------------------------------------------


Como ves, id_mochila se repite, pero como es una clave compuesta no dará error.
Solo daría error si tu clave compuesta (id_mochila + id_item) se repite.

Por ejemplo, agregas un nuevo registro:


REGISTRO 4

id_mochila: 1
id_item: 2


Daría error ya que es lo mismo que el registro 2.


Espero haberme explicado un poco. Saludos