[[Category:TABLAS]]
== Relaciones ==
[[VISTA:visproadic]]
== Estructura ==
*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del "Producto Propiamente Dicho".
*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.
*Los registros de elementos de productos puede no tener el "Producto Propiamente Dicho".
*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto "elemento compuesto" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.
*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para "elementos compuestos" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.
*Pueden repetirse el conjunto Producto-Elemento ya que por cada repetición se agrega un identificativo no visible.

== SQL ==
<pre>
CREATE TABLE `composicion` (
  `ProductoID` char(8) NOT NULL,
  `ElementoID` char(8) NOT NULL,
  `ComposicID` int(11) NOT NULL AUTO_INCREMENT,
  `ValorElemento` decimal(16,8) DEFAULT '1.00000000',
  `ElementoPM` int(1) DEFAULT '0',
  `OffsetVanoAncho` int(11) DEFAULT '0',
  `OffsetVanoAlto` int(11) DEFAULT '0',
  `CoefVanoAncho` decimal(16,8) DEFAULT '1.00000000',
  `CoefVanoAlto` decimal(16,8) DEFAULT '1.00000000',
  `ComposicOBS` varchar(25) DEFAULT NULL,
  PRIMARY KEY (`ProductoID`,`ElementoID`,`ComposicID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1$$
</pre>

== Bitácora ==
*20120904
**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.