[Php-avanzado] tablas normalizadas
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Jue Jul 30 02:37:57 ART 2009
Hola Favio,
El mié, 29-07-2009 a las 12:59 -0300, Favio Lazzarini escribió:
> Aca van las tablas
De las tablas, con que mandes las estructuras es suficiente. Te digo
por si le tenés cargados muchos datos y el mail queda más grande de lo
que la lista admite.
TABLE `cat_impositiva`
Te sugiero que no uses un enum para la descripción: da más problemas
que soluciones. Además es una tabla en la que el usuario no debería
poder agregar ni sacar nada, así que da lo mismo ya que va precargada.
TABLE `clientes`
cuit puede perfectamente ser un int(11) en vez de un bigint.
Todos los datos son obligatiorios??? Y si no tenés el teléfono o e
mail?
Te conviene definir CUIT como único, así te saltan los repetidos al
cargarlos.
TABLE `compras`
No te hace falta el nro o algún dato más?
`id_pove` es el id del proveedor?
TABLE `det_compras`
Si `id_pove` es el id del proveedor, el de acá sobra...
TABLE `det_facturas`
estás perdiendo la descripción del artículo si la editás en el
inventario.
`nom_prod` no parece ir acá.
TABLE `facturas`
`id_fpago` es Forma de Pago o es Fecha de Pago?
TABLE `pagos` y TABLE `det_pagos` tienen algo que no me cierra. Se
registra un pago y después se registra el detalle de un pago? Puede un
pago tener varios detalles? qué significa que los tenga?
TABLE `paices`
Arrggg... mis ojos... es paiSes ;-)
TABLE `productos`
si va el `id_iva` entonces el `iva` no tiene sentido...
TABLE `proveedores`
seguro que todos no nulos?
De nuevo, hacé único CUIT o la dupla ape,nom para evitar que se carguen
repetidos.
Tango maś dudas que certezas, pero esto es por cómo armaste el glosario
de la SRS. En clase o por acá las resolvemos.
Los datos de las cabeceras de los comprobantes están pobres: no tienen
tipo de comprobante, nro con formato fiscal (aunque no lo uses ahora
esto puede facturar de verdad en un futuro), etc.
En la SRS las boletas tiene remito, pero por acá no los veo...
Tampoco se ve como con este almacenamiento cumplís con el requerimiento
12
A todos los int poneles por lo menos 11 digitos. Si no se acaban en
seguida y no ocupan más.
También sé más generoso con los varchar.
La parte que me duele es que posiblemente al acomodar las tablas tengas
que modificar código que ya funciona... pero bueno, supongo que lo
tomarás como un prototipo en un ciclo de vida del software evolutivo.
> Saludos favio
=mente!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.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