[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