[Php-avanzado] srs terminada y tablas

Lucas Nastri dex87.mdq en gmail.com
Mie Dic 30 20:15:05 ARST 2009


Hola Leo, lo único que voy a cambiar de la SRS es que los empleados y los
usuarios no van a ser los mismos. Entonces de ésta manera, pongo los datos
mesa, toma, cierre y boleta en la tabla usuarios ya que uso esos datos para
saber a que sistema puede acceder cada empleado. Y también en la tabla
usuarios voy a poner el id de la tabla categoría, porque según la categoría
que tenga el usuario voy a poder acceder a los sistemas o no.

Espero haberme explicado bien.
Feliz 2010. Un abrazo.
Lucas.

El 30 de diciembre de 2009 16:25, Leonardo Tadei - Pegasus Tech Supply <
leonardot en pegasusnet.com.ar> escribió:

> Hola Lucas,
>
>        por lo que me estás diciendo, estás cambiando (no mucho, pero
> cambiando) lo que hace el sistema.
>        Ahora los Empleados (no los Usuarios, que son otra cosa) tendría una
> Mesa, lo que implica gestionar las Mesas disponibles para el sistema.
>        También ese "toma", "cierre" y "boleta" que aparecen ahora.
>
>        La relación en el sistema entre los Usuarios y los Empleados es muy
> simple: a un Usuario, con su clave y pass, le asignás un Empleado (y no
> al revés)... aún así los Usuarios siguen sin ser un requerimeinto
> funcional, en cambio los Empleados sí lo son porque tienen
> funcionalidades dentro del sistema.
>
>        También estás en las tablas relacionado el Tipo de Trámite con el
> Código de Trámite, pero tu SRS no dice nada al respecto y los trata como
> requerimientos independientes.
>
>        En resumen, si no reformulás tu SRS, no puedo saber si están bien
> normalizadas o no tus tablas...
>
>        Saludos!!!
>
> El lun, 28-12-2009 a las 22:39 -0300, Lucas Nastri escribió:
> > Hola Leo, te cuento que finalmente decidí NO tratar a los empleados
> > como los usuarios, y por eso había creado una tabla usuarios ...
> >
> > >Usuarios:
> > >id              int
> > >nick            varchar(30)
> > >pass            varchar(30)
> >
> > >       Eh! Pero si el Empleado tiene nick y pass, para qué sirve la
> > tabla de
> > >Usuarios???
> >
> > me olvidé de borrar el nick y el pass de la tabla empleados (me pasó
> > por copiar y pegar).
> >
> >
> > >Qué son mesa, toma, cierre y boleta?
> > >       No me doy cuenta para que requerimeinto funcional o no
> > funcional sirven
> > >estos datos...
> >
> > Éstos datos los voy a mover a la tabla usuarios. Me sirven para saber
> > a que sistema puede acceder el empleado y de tipo de dato le pongo
> > VARCHAR(2), porque voy a asignarle 'SI' o 'NO', según corresponga
> > cuando se dé de alta el usuario.
> >
> >
> > >Estudios:
> > >id              int
> > >nivel           varchar(20)
> > >titulo          varchar(20)
> >
> > >       El espacio para título es muy corto... sé más generoso con
> > esto que el
> > >disco es barato!!!
> >
> > jaja, eso me causó gracia, pero tenés razón, le voy a asignar una
> > longitud mayor.
> >
> >
> > >Ciudadanos:
> > >id              int             (PK)
> > >dni             varchar(9)      (ÚNICO)
> >
> > >       por qué el DNI es varchar y ni int(9)???
> >
> > Le puse varchar porque no voy a realizar ninguna operación matemática
> > con el dni. Es más conveniente ponerlo como entero?.
> >
> >
> > >Tipo_tramite:
> > >id              int             (PK)
> > >tipo            varchar(15)
> > >precio          int
> > >id_codtram      int
> >
> > >Codigo_tramite:
> > >id              int             (PK)
> > >codigo          char
> >
> > >       Mmmm... esto matchea 1 a 1 los Tipos de Trámite con el Código
> > de
> > >Trámite, pero no parece ajustarse a tus necesidades. Si no entiendo
> > mal,
> > >un Tipo de Trámite es "nuevo ejemplar" y este puede tener el código
> > 52 o
> > >5240 si es con cambio de domicilio, pero tus tablas no permiten
> > asociar
> > >dos códigos a un tipo de trámite.
> > >       Por otra parte, y a juzgar con los precios, parece que una
> > persona que
> > >hace un nuevo ejemplar y un cambio de domicilio juntos en realidad
> > hace
> > >y paga dos trámites... como si tuvieras solo dos códigos de trámite
> > en
> > >vez de tres como indica tu SRS.
> >
> > En realidad yo tengo que indicar el tipo de trámite, que puede ser:
> > Nuevo Ejemplar                                           --->   Código
> > 52
> > Cambio de Domicilio                                    --->   Código
> > 40
> > Nuevo Ejemplar + Cambio de Domicilio         --->   Código 52 40
> >
> > Y también indicar el código del trámite, que lo indico con una
> > consulta SQL ya que al tener el id del código en la tabla de los tipos
> > de trámites accedo directamente al código.
> >
> >
> > Te mando la srs y las tablas con los cambios que me marcaste.
> > Muchas gracias Leo, feliz 2010.
> >
> > El 26 de diciembre de 2009 23:52, Leonardo Tadei - Pegasus Tech Supply
> > <leonardot en pegasusnet.com.ar> escribió:
> >         Hola Lucas!
> >
> >         El jue, 24-12-2009 a las 22:56 -0300, Lucas Nastri escribió:
> >         > Hola Leo!, tenés razón, seguro me olvidé de adjuntarlo. Ahí
> >         te lo
> >         > mando.
> >
> >
> >                Copio y pego las tablas para hacerte algunas consultas
> >         y comentarios:
> >
> >         Tablas para la base de datos del sistema:
> >
> >         Categorias:
> >         id              int             (PK)
> >         puesto          varchar(15)
> >
> >
> >         Empleados:
> >         id              int             (PK)
> >         dni             varchar(9)      (ÚNICO)
> >         ape             varchar(30)
> >         nom             varchar(30)
> >         fnac            date
> >         nick            varchar(20)
> >         pass            varchar(20)
> >         mesa            varchar(2)
> >         toma            varchar(2)
> >         cierre          varchar(2)
> >         boleta          varchar(2)
> >
> >                Qué son mesa, toma, cierre y boleta?
> >                No me doy cuenta para que requerimeinto funcional o no
> >         funcional sirven
> >         estos datos...
> >
> >         id_cat          int
> >
> >                Deberías a agregar al requerimiento no funcional la
> >         categoría del
> >         usuario, o al funcional la categoría del empleado. Si no,
> >         parece que
> >         este dato sobra.
> >                (temo que ahora te encuentres con la dificultad de
> >         haber tomado tan
> >         temprano la decisión de diseño de que los empleados y los
> >         usuarios sean
> >         la misma cosa)
> >
> >
> >         Usuarios:
> >         id              int
> >         nick            varchar(30)
> >         pass            varchar(30)
> >
> >                Eh! Pero si el Empleado tiene nick y pass, para qué
> >         sirve la tabla de
> >         Usuarios???
> >
> >         Provincias:
> >         id              int
> >         nombre          varchar(20)
> >
> >
> >         Partidos:
> >         id              int
> >         nombre          varchar(20)
> >         id_prov         int
> >
> >
> >         Localidades:
> >         id              int
> >         nombre          varchar(20)
> >         id_part         int
> >
> >
> >         Estudios:
> >         id              int
> >         nivel           varchar(20)
> >         titulo          varchar(20)
> >
> >                El espacio para título es muy corto... sé más generoso
> >         con esto que el
> >         disco es barato!!!
> >
> >         Ocupaciones:
> >         id              int
> >         nom             varchar(20)
> >
> >
> >         Ciudadanos:
> >         id              int             (PK)
> >         dni             varchar(9)      (ÚNICO)
> >
> >                por qué el DNI es varchar y ni int(9)???
> >
> >         ape             varchar(30)
> >         nom             varchar(30)
> >
> >                Poné más grandes ape y nom porque 30 se te acaban
> >         enseguida!
> >
> >         fnac            date
> >         sexo            char
> >         telefono        varchar(18)
> >         id_estudios     int
> >         id_ocupacion    int
> >         id_localidad    int
> >
> >
> >         Tipo_tramite:
> >         id              int             (PK)
> >         tipo            varchar(15)
> >         precio          int
> >         id_codtram      int
> >
> >         Codigo_tramite:
> >         id              int             (PK)
> >         codigo          char
> >
> >                Mmmm... esto matchea 1 a 1 los Tipos de Trámite con el
> >         Código de
> >         Trámite, pero no parece ajustarse a tus necesidades. Si no
> >         entiendo mal,
> >         un Tipo de Trámite es "nuevo ejemplar" y este puede tener el
> >         código 52 o
> >         5240 si es con cambio de domicilio, pero tus tablas no
> >         permiten asociar
> >         dos códigos a un tipo de trámite.
> >                Por otra parte, y a juzgar con los precios, parece que
> >         una persona que
> >         hace un nuevo ejemplar y un cambio de domicilio juntos en
> >         realidad hace
> >         y paga dos trámites... como si tuvieras solo dos códigos de
> >         trámite en
> >         vez de tres como indica tu SRS.
> >
> >
> >         Estado_tramite:
> >         id              int             (PK)
> >         estado          varchar(12)
> >
> >
> >         Tramites:
> >         id              int             (PK)
> >         num_boleta      varchar(18)
> >         id_ciudadano    int
> >         id_tipotram     int
> >         id_estadotram   int
> >         id_empleado     int
> >         domicilio       varchar(50)
> >         domicilio_nuevo varchar(50)
> >
> >
> >                Todo lo no observad se ve bien.
> >                Me desorienta el tema de los tipos y códigos de
> >         trámite: o no son una
> >         relación "1 a 1" o son la misma cosa y no requieren dos tablas
> >         ni dos
> >         especificaciones...
> >
> >                Saludos!
> >         --
> >
> >
> >         Leonardo Tadei
> >         leonardot en pegasusnet.com.ar
> >         http://blog.pegasusnet.com.ar
> >         Firma pública:
> >         http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> >
> >         _______________________________________________
> >         Php-avanzado mailing list
> >         Php-avanzado en pato2.fi.mdp.edu.ar
> >         http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >
> >
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> --
>
>
> 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
>
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/private/php-avanzado/attachments/20091230/fe4bc694/attachment-0001.htm 


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