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

Duplicar celdas (campos)?

Estas en el tema de Duplicar celdas (campos)? en el foro de Mysql en Foros del Web. Hola! Yo de nuevo xD amm quería hacer una pregunta. Estoy a punto de terminar una base de datos, pero me surgió un problemilla ya ...
  #1 (permalink)  
Antiguo 21/09/2012, 12:06
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jalisco, México
Mensajes: 38
Antigüedad: 11 años, 7 meses
Puntos: 1
Exclamación Duplicar celdas (campos)?

Hola! Yo de nuevo xD amm quería hacer una pregunta. Estoy a punto de terminar una base de datos, pero me surgió un problemilla ya al final: Quiero que un campo ya existente y lleno de una tabla se copie a otra. Explico:

Creé una tabla llamada "cliente", así:
Código:
CREATE TABLE cliente(
->id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
->nombre VARCHAR(45) NOT NULL,
->apellido VARCHAR(45) NOT NULL,
->direccion VARCHAR(45) NOT NULL,
->email VARCHAR(45) NOT NULL,
->fecha VARCHAR(45) NOT NULL,
->PRIMARY KEY (id) ) ENGINE = InnoDB;
otra llamada "articulo" así:
Código:
CREATE TABLE articulo(
->id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
->art_nom VARCHAR(45) NOT NULL,
->tipo VARCHAR(45) NOT NULL,
->existencia MEDIUMINT NOT NULL,
->fecha VARCHAR(45) NOT NULL,
->PRIMARY KEY (id) ) ENGINE = InnoDB;
y otra llamada "ventas" así:
Código:
CREATE TABLE ventas(
->id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
->art_nom_sal VARCHAR(45) NOT NULL,
->tipo_sal VARCHAR(45) NOT NULL,
->cant_sal MEDIUMINT NOT NULL,
->nom_per VARCHAR(45) NOT NULL,
->apell_per VARCHAR(45) NOT NULL,
->fecha_sal VARCHAR(45) NOT NULL,
->PRIMARY KEY (id) ) ENGINE = InnoDB;
El caso es que en un .php tengo que hacer que el usuario del equipo ponga ÚNICAMENET el ID de la persona cliente, la fecha del ese día, la cantidad que se venderá del artículo y el ID del artículo.

Pero que en la tabla "ventas", se pusiera, respectivamente:
el ID de la fila (ese se guarda solo),
el nombre del articulo (en base al ID que puso el usuario, ver tabla "articulo", campo "art_nom"),
el tipo de articulo (en base al ID que puso el usuario, ver tabla "articulo", campo "tipo"),
la cantidad (esa la puso manualmente),
el nombre del cliente (en base al ID que puso el usuario, ver tabla "cliente", campo "nombre"),
el apellido del cliente (en base al ID que puso el usuario, ver tabla "cliente", campo "apellido")
y la fecha de la transaccion (esa la puso manualmente).

Como ven, quiero relacionar el contenido de una tabla en otra diferente, ¿Es eso posible? Y si lo es, ¿Cómo se hace? Si les da flojera explicar, pueden ponerme un link a un videotutorial o algo, por favor n_n . En serio lo necesito pronto :S
  #2 (permalink)  
Antiguo 23/09/2012, 03:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Duplicar celdas (campos)?

Debes echar un vistazo al modelo entidad-relación de las bases de datos y estudiar sobre normalización. Encontrarás mil tutoriales. Pero tu problema es que en ventas no debe aparecer ni nombre ni apellidos del cliente, ni tampoco nombre del articulo, sino los identificadores del cliente y del articulo, puedes llamarlos id_cliente, id_articulo, como clave foránea o secundaria (Foreign Key); será un campo del mismo tipo que el Primary Key, aunque naturalmente en este caso no incrementable. En las tablas cliente y artículo se llama clave primaria o Primary Key. ampoco estableces la integridad referencial entre las tablas. Estudia sobre ello primero. Luego viene lo otro y eso se hace mediante selectores e input de texto en formulario Aquí podremos ayudarte con las consultas de inserción y actualización, pero sobre lo otro deberás estudiar tutoriales sencillos para empezar. Pero si quieres empezar con buen pie, debes entender lo del modelo relacional y sus características
  #3 (permalink)  
Antiguo 24/09/2012, 09:24
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jalisco, México
Mensajes: 38
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Duplicar celdas (campos)?

Bueno, veré que puedo hacer; de cualquier manera muchas (muchas) gracias :D

Etiquetas: campos, duplicar, relacionar, 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 13:58.