[Php-avanzado] Tablas tesis Leandro Schereik
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Sab Mar 13 13:33:36 ARST 2010
Hola Leandro,
El vie, 12-03-2010 a las 18:57 +0000, Leandro Schereik escribió:
> Hola Leo: te paso las tablas de la tesis.
Una recomendación general: sé más generoso con los tamaños de los
campos. Por ej, con 30 caracteres para un email, te quedás corto, igual
que para apellido y nombre, porque si es una empresa el "apellido" va a
ser largo.
Para rutas de archivos 128 por lo menos.
Te intercalo comentarios:
> tblusuarios
> ----------
Estos son los usuarios? y dónde están los Clientes?
Si estos son los Clientes, el nombre no es descriptivo, pero: dónde
están los Administradores?
Vos me dirás "los distingo por tipo_usuario", pero de un Cliente
necesitás la CUIT, la dirección y otros datos, pero de un administrador
no... pareciera faltar una tabla.
> id int(11)
> nombre varchar(30)
> ape varchar(30)
> tel varchar(30)
> email varchar(30)
> usuario varchar(20)
> pass varchar(20)
> tipo_usuario varchar(1) (1-admin, 2-comprador)
>
>
> tblarticulos
> ----------
>
> id int(11)
> id_categoria int(11)
> nombre varchar(30)
> precio float
> stock int(11)
> estado varchar(1)
> imagen1 varchar(50)
> imagen2 varchar(50)
> imagen3 varchar(50)
Te faltaría una tabla de Estados para los Artículos, para separar el
nombre del estado del código. Esta tabla generalmente no tiene una
interfaz para ABM, pero te evita que tengas que poner por todo el código
if ($reg['estado'] == 'B') { $estado = "Producto dado de baja"; }
Respecto a las 3 imágenes, como tu requerimiento dice que serán 3, así
está bien normalizado, ateniéndonos a la discusión de "hasta dónde
debemos normalizar".
> tblcategorias
> ------------
>
> id int(11)
> nombre varchar(30)
>
>
>
> tblventas
> ---------
>
> id int(11)
> id_articulo int(11)
> id_usuario int(11)
> fecha date
> monto float
> cantidad int(11)
Mmmm... hay acá varias observaciones: por un lado, el registro de las
ventas es "una foto" del momento de la venta. Con este almacenamiento,
cuando cambies el nombre de un artículo o la imagen, vas a "cambiar el
pasado". Lo mismo para los "usuarios" que parece que son en realidad el
Cliente.
También, si esto es para cada artículo vendido, la fecha y el cliente
son una repetición, y un almacenamiento con repeticiones no está
normalizado.
Recordá cuando planteábamos en el curso esto, con una tabla de
"cabecera" y otra de "detalles" de la factura.
> Saludos
=mente!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Pegasus Tech Supply
Tel: (+54)(+223) 471-2880
La Salle 1131 - Mar del Plata - Argentina
http://www.pegasusnet.com.ar / http://blog.pegasusnet.com.ar
http://www.prometeustech.com.ar / http://www.grupopegasus.com
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado