[Php-avanzado] srs terminada y tablas
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Dom Dic 27 00:52:42 ARST 2009
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
Más información sobre la lista de distribución Php-avanzado