[Php-avanzado] Normalización...

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Mie Oct 23 19:38:54 ART 2013


Hola Daniel,

El mié, 23-10-2013 a las 19:21 -0300, Daniel Billia escribió:
> Buenas Leo en la tabla de consulta el codigo del articulo es  "rf_art"
> es el index del articulo ,

	No, el rf_art es el ID del artículo.
	El código es el que aparece en la tabla en el campo "codigo".
	Lo planteaste como dos cosas distintas.
	Esta es tu tabla de Articulos:

CREATE TABLE IF NOT EXISTS `articulos` (
  `id_art` int(11) NOT NULL AUTO_INCREMENT,
  `codigo` varchar(20) NOT NULL,
  `detalle` varchar(50) NOT NULL,
  `tipo_art` varchar(35) NOT NULL,
  `marca` int(11) NOT NULL,
  `modelo` varchar(40) NOT NULL,
  `rubro` int(11) NOT NULL,
  `imagen` int(11) NOT NULL,
  `descrip` int(11) NOT NULL,
  `precio` float NOT NULL,
  `fecha` timestamp NOT NULL,
  PRIMARY KEY (`id_art`)
)


>  el codigo del articulo no se usa como referencia de busqueda

	La cuestión no es por referencias ni por búsquedas, es porque los
artículos pueden variar o desaparecer.
	Esto implica que si yo te hago una consulta hoy del artículo
ID=13, COD=A456, DETALLE="Cerradura Yale" y luego se cambian estos datos
en la tabla de Artículos, por ejemplo a ID=13, COD=B567,
DETALLE="Cerradura Yale" cuando veas mi Consulta va a aparecer con los
datos cambiados.
	Y esto no es todo: si borrás el artículo con el ID=13, en este ejemplo,
la consulta queda sin referencia a ningún artículo existente y la única
forma de reconocerlo es por lo guardado en Consultas... por eso te decía
de guardar al menos el código, el detalle y el precio, para poder
reconocerlo, pero tal vez quieras guardar más datos en la Consulta
pensando en este escenario.
	Un almacenamiento que cambia el pasado es incorrecto.


> Saludos...

	=mente!


PD: solo se trata de aplicar la Normalización...

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado