[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