[Php-avanzado] SRS -2- Jose Lo Piccolo
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Jue Dic 10 16:23:55 ARST 2009
El jue, 10-12-2009 a las 13:48 -0300, Jose Lo Piccolo escribió:
> Leo:
>
> Te paso la SRS modificada y debajo la normalización para ver que te parece.
La SRS está Ok.
Buenísimo que ya tengas la normalización!
Te respondo intercalado:
Una observación general: estás manejando varios "tipos" con un char
dándole sentido semántico al valor, en vez de relacionarlo con una
tabla.
A veces es buena idea, a veces es mala idea, y a veces podés no cumplír
un requerimiento.
> ------------------------------------------------------------------------
>
> NORMALIZACIÓN DE TABLAS
>
> _*EMPRESAS*_ (empresas)
>
> id integer
>
> razon_social char(50)
>
> domicilio_postal char(50)
>
> telefono char(30)
>
> email_empresa char(60)
>
> email_admin char(60)
>
> contacto char(30)
Sé más generoso con los tamaños de razón social, domicilio, contacto y
e-mail. Después no te alcanzan y es un lío.
Esto hacelo extensivo a todas las tablas...
> _*
> USUARIOS*_ (usuarios)
>
> id integer
>
> usuario char(10)
>
> clave char(10)
>
> nombre char(30)
>
> email char(60)
>
> tipo char(1) (<1> Administrador <2> Usuario Normal)
>
> estado char(1) (<1> Activo <2> Inactivo)
>
> id_empresa integer
>
>
> _*SECCIONES*_ (secciones)
>
> id integer
>
> id_empresa integer
>
> nombre char(30)
>
> descri texto
>
>
> _*TIPOS*_ (tiposbien)
>
> id integer
>
> id_empresa integer
>
> descri char(50)
>
>
> _*BIENES*_ (bienes)
>
> id integer
>
> id_tipobien integer
>
> id_empresa integer
>
> id_seccion integer Sección actual
>
> nombre char(50)
>
> descri texto
>
> fecha_ingreso date
>
> nuevo_usado char(1) (<N> Nuevo <U> Usado)
Esto debería estar en otra tabla, no fijo como dato.
Es solo descriptivo y tal vez quieras agregar en el futuro "reparado",
"amortizado", etc.
> proveedor char(50)
>
> marca char(30)
>
> modelo char(20)
>
> estado char(1) (<A> Activo <P> Pendiente <I> Inactivo)
>
> path_foto char(255)
>
> costo decimal(12,2)
>
> email char(1) (<S> Si Envia email <N> No envia email)
Para esto es mejor un boolean... no se me ocurre que sirva ningún valor
distinto de "sí" y "no"... pero a nivel de la normalización no está mal.
> fecha_baja date
>
>
> _*EVENTOS*_ (eventos)
>
> id_bien integer
>
> fecha date
>
> tipo_evento char(1) (<1> Envio a Reparacion <2> Reparado <3> Actualización)
Esto va en una tabla de "Tipos de Eventos" y acá solo el id.
>
> descri texto
>
> detalle_envio char(60)
>
> id_usuario integer
>
> costo decimal(12,2)
>
>
> _*BAJAS*_ (bajas)
>
> id_bien integer
>
> fecha date
>
> motivo char(60)
>
> id_usuario integer
Una tabla para esto???
Por qué no fecha de baja y motivo como campos del bien de uso, que
estarán NULL mientras está activo?
No veo que nada de esto no dependa de la clave primaria
>
> _*CAMBIOS SECCIONES*_ (cambiosec)
>
> id_bien integer
>
> fecha date
>
> id_seccion_nueva integer
>
> descri char(50)
>
> Nota: al dar de alta un bien de uso, se alimentará esta tabla con los
> datos de la sección actual y así llevar el registro de todas las
> secciones por las cual va pasando un bien de uso.
Ok.
No veo ninguna otra cosa... seguimos más tarde!
> ------------------------------------------------------------------------
>
> Saludos
=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