[Php-avanzado] srs terminada y tablas

Lucas Nastri dex87.mdq en gmail.com
Lun Dic 28 23:39:27 ARST 2009


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
>
------------ 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/20091228/5a9670ba/attachment.htm 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : srs y tablas.rar
Tipo       : application/octet-stream
Tamaño     : 5503 bytes
Descripción: no disponible
Url        : http://www3.fi.mdp.edu.ar/cgi-bin/mailman/private/php-avanzado/attachments/20091228/5a9670ba/attachment.obj 


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