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

Ayuda con Estructura en MYSQL

Estas en el tema de Ayuda con Estructura en MYSQL en el foro de Bases de Datos General en Foros del Web. Agradeceria a quien tenga el tiempo,ganas y buena voluntad de darme una mano con esta estructura. Tengo una duda con respecto de como resolver esta ...
  #1 (permalink)  
Antiguo 19/04/2004, 11:57
 
Fecha de Ingreso: marzo-2004
Mensajes: 61
Antigüedad: 20 años, 1 mes
Puntos: 0
Pregunta Ayuda con Estructura en MYSQL

Agradeceria a quien tenga el tiempo,ganas y buena voluntad de
darme una mano

con esta estructura.
Tengo una duda con respecto de como resolver esta estructura
de bd en MySql.
La idea es la siguiente:


#Tengo que ingresar un número de tarjeta identificatoria y
#relacionarla con la
#empresa
CREATE TABLE rma (
id_rma int(11) NOT NULL auto_increment,
id_Empresa int(11) Not Null
Carton int(11) default NULL,
Fecha date NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;

#Los datos de la empresa
CREATE TABLE Empresa(
id_Empresa int(11) NOT NULL auto_increment,
Empresa varchar(25),
Contacto varchar(14) default NULL,
Telefono varchar(14) default NULL,
Email varchar(30) default NULL,
) TYPE=MyISAM;

#Descripción del articulo que deja el cliente a reparar...
CREATE TABLE Articulo(
id_Articulo int(11) NOT NULL auto_increment,
Tipo varchar(14) default NULL,
Capadidad varchar(14) default NULL,
Velocidad varchar(14) default NULL,
Control_CCE enum('SI','NO') default NULL
) TYPE=MyISAM;

#aca viene la cosa... tengo que incluir el articulo y la cantidad
#por cada articulo
#el caso es que el cliente puede traer por ejemplo: 5 de un tipo
#de articulo, dos de
#otro y así....

CREATE TABLE Describe(
id_rma int(11) NOT NULL,
Articulo # aca ingresaria id_Articulo
Cantidad #la cantidad de UN? id_articulo
) TYPE=MyISAM;


Si hago esto tengo que hacer tantos insert como diferentes tipos
de articulos traiga el cliente a reparar?...no sé
...tantas dudas....esta estructura es
valida?
....como
borro, llegado el caso, un id relacionado en todas las
tablas??...bittorrent o emule? (perdón es por la tensión)



Gracias
  #2 (permalink)  
Antiguo 19/04/2004, 12:43
Avatar de amanda75  
Fecha de Ingreso: junio-2003
Ubicación: cerca, pero no mucho
Mensajes: 684
Antigüedad: 20 años, 11 meses
Puntos: 0
Aparte de lo que te digan otros compañeros , he visto un error en la primera tabla

Cita:
PRIMARY KEY (id)
En los datos de la empresa echo de menos algún campo "notas" para alguna anotación imprevista.

Asegúrate de que en la tabla del artículo tienes todos los campos que vas a necesitar , aunque siempre puedes añadir si te dejaste alguno

La última tabla es la que te marcará lo que tienes en almacén así que tendrás que poner una fecha de entrada y otra de salida, un campo id_empresa o id_targeta, tu verás que te interesa más, para saber a quien pertenece, y un id_artículo para saber de que artículo se trata, de esa manera sólo tendrás que ingresar los registros en esta tabla cada vez que un cliente traiga algo a reparar.

Los registros de Empresas, Targetas y Artículos solo los modificas en caso necesario.

También seria interesante que dejases en esta tabla un campo para especificar que tipo de reparación dice el cliente que necesita y otro campo dónde puedas anotar qué reparación se ha hecho realmente y quién la ha hecho. Aunque según la complejidad de esto a lo mejor te interesa más crear alguna tabla adicional.

En google he encontrado esto, puedes echarle un vistazo
http://www.google.es/search?hl=es&ie...a=lr%3Dlang_es

Última edición por amanda75; 19/04/2004 a las 12:47
  #3 (permalink)  
Antiguo 20/04/2004, 06:59
 
Fecha de Ingreso: marzo-2004
Mensajes: 61
Antigüedad: 20 años, 1 mes
Puntos: 0
Muchas gracias Amanda por contestar y gracias por tomarte la molestia de buscar en google.
Siguiendo tu sugerencia agregue algunos campos más.
Lo de los errores me pasa por apurado queria dar la idea...el id que representa toda la operación es el id_rma, pero la parte dramatica para mi se presenta en las dos ultimas tablas...a ver si me se explicar...

1)En la tabla articulo el operador(me refiero a la persona) ingresa articulos nuevos y los da de baja
2) En la tabla Describe me dice en la columna Articulo el id_Art que corresponde, y en la columna
Cantidad la cantidad de ese id_Art que se ingresaron....

...Ahora...que pasa si me traen más de un id_Articulo...como se puede resolver para que haciendo una consulta a id_rma me diga los tipos de id_Art y las cantidades? seguramente la última tabla no esta bien planteada...agradeceria ayuda
  #4 (permalink)  
Antiguo 20/04/2004, 11:01
Avatar de amanda75  
Fecha de Ingreso: junio-2003
Ubicación: cerca, pero no mucho
Mensajes: 684
Antigüedad: 20 años, 11 meses
Puntos: 0
¿Cómo ves esto?



Contando en "Describe" los articulos por rma se puede solucionar. Habria que hacer un ingreso por artículo y elimino el campo cantidad.

Cluster da una respuesta aquí que puede serte útil también a tí
http://www.forosdelweb.com/s29c3d377...msg196835.html

Última edición por amanda75; 20/04/2004 a las 11:03
  #5 (permalink)  
Antiguo 20/04/2004, 11:27
 
Fecha de Ingreso: marzo-2004
Mensajes: 61
Antigüedad: 20 años, 1 mes
Puntos: 0
Amanda te dijeron que sos una diosa!!!
Te agradesco las molestias, te cuento que esta cuestión me tiene para el loquero, pero resulta que si quito la cantidad de describe como se cuantos de cada articulo ingreso...por ejemplo un cliente me puede traer 9 memorias para reparar , pero hay que discriminarlas:
1(<-esto seria cantida | Esto id_Articulo->) DDR 512 MB 133
3 (<-esto seria cantida | Esto id_Articulo->) DDR 256 MB 266mhz CCE
5 (<-esto seria cantida | Esto id_Articulo->) Sodimm 256 133 CCE
y esto relacionado a id_rma.


Hablando de todo un poco que bueno el gráfico que me mostras..con que programa se puede hacer?


De nuevo gracias Amanda
  #6 (permalink)  
Antiguo 20/04/2004, 12:48
Avatar de amanda75  
Fecha de Ingreso: junio-2003
Ubicación: cerca, pero no mucho
Mensajes: 684
Antigüedad: 20 años, 11 meses
Puntos: 0
Los tendrias dados de alta en tu tabla "articulos" y tendrian un id.

id_articulo-----articulo

----122 ------- DDR 512 MB 133
----125 ------- Sodimm 256 133 CCE
----183 ------- DDR 512 MB 133


Ese id es el que se ingresaria en "Describe" junto con el "id" del "rma" correspondiente. Tendrias algo así

id_rma ------- id_articulo

--- 12 ------- 122
--- 12 ------- 125
--- 12 ------- 125
--- 12 ------- 125
--- 12 ------- 183
--- 12 ------- 183
--- 12 ------- 183
--- 12 ------- 183
--- 12 ------- 183
--- 18 ------- 122
--- 18 ------- 125
--- 18 ------- 125
--- 18 ------- 125
--- 18 ------- 183
--- 18 ------- 183


Después se harían las consultas a esta tabla con SQL, todo lo que necesites porque está relacionada con las demás

Última edición por amanda75; 20/04/2004 a las 12:52
  #7 (permalink)  
Antiguo 20/04/2004, 22:49
 
Fecha de Ingreso: marzo-2004
Mensajes: 61
Antigüedad: 20 años, 1 mes
Puntos: 0
Asi lo habia planteado del principio pero no sabia si era correcto o eficiente....pero bue el caso que estoy haciendo pruebas con lo último que me decis y no doy pie con bola con las consultas...

SELECT articulo.Tipo,articulo.Capacidad, articulo.Velocidad,detalle.Cantidad FROM detalle,articulo WHERE detalle.id_rma=18 AND articulo.id_Articulo=detalle.id_Articulo

así estoy y con un array en php solo me tira la primer fila...ya estoy necesito un sueño...mañana sigo...gracias Amanda
  #8 (permalink)  
Antiguo 21/04/2004, 14:39
 
Fecha de Ingreso: marzo-2004
Mensajes: 61
Antigüedad: 20 años, 1 mes
Puntos: 0
Queridisima Amanda75 resolvi mi misterio,
La última consulta que puse estaba bien planteada y vos tenias razón habia que dejar la tabla como estaba, el único problema estaba en la aplicación que no me resolvia la consulta correctamente en un array (php)....así que la estructura de la tabla y la consulta estaban ok...

Gracias de nuevo
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 00:20.