[Php-avanzado] Tablas y consulta

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Lun Sep 23 19:15:28 ART 2013


Hola Daniel,

	veamos lo de la normalización.
	La consulta te la responde en e-mail aparte, para no mezclar los temas:

El lun, 23-09-2013 a las 09:47 -0300, Daniel Billia escribió:
> Buenos días Leo te mando las tablas del proyecto y la normalización .

	La tabla Clientes no concuerda con los atributos en el diccionario:
ampliá el diccionario en la SRS para los atributos nuevos.
	Veo que en el Cliente, agregaste los datos de acceso. Esto es correcto.
Lo que no entiendo es de qué sirven los campos "msj" y "onkey": aclaralo
en el diccionario si son atributos del cliente o en la parte de
Requerimientos No Funcionales en caso de que sean del acceso.
	El campo rf_prov es incorrecto. No va. Obtenés la relación con la
Provincia a través de la tabla Ciudades. Ponerlo es incorrecto porque es
una repetición.

	La tabla "rubro" debería llamarse "rubros". Por convención los nombres
de las tablas van en plural.

	A la tabla Articulos, te conviene agregarle un índice unique a la
columna "codigo", para evitar datos repetidos; además el índice te
garantiza un acceso eficiente a los datos, ya que se buscarán por código
en varios casos. Lo mismo para el campo "detalle" salvo que si puede
haber artículos con el mismo nombre, el índice será de tipo index.
	Por qué la descripción es un entero???? Parece un error, ya que debería
ser varchar, char o text.
	Los campos "tipo_art", "modelo", "imagen", "descrip" y fecha no están
en la SRS. Sacalo de la tabla o agregalo a la SRS!
	Para la fecha, que supongo será la fecha de última actualización, usá
un tipo de campo timestamp

	Aparece una tabla Accesos que parece guardar un registro de las
conexiones de los clientes: agregá esto a la especificación!
	Idem para la tabla Consultas!

	La tabla Imagenes no tiene sentido. En la SRS los artículos no tienen
una imagen. Si vas a guardar las imágenes en la DB y es una imagen por
artículo, los campos con los datos van en la tabla Articulos. Si en
cambio un artículo puede tener más de una imagen, va en tabla aparte,
con una referencia al ID del artículo, y en la tabla Articulos no va
nada.

	La tabla Registo (que debería llamarse registros) no se justifica por
tu SRS. Sacá la tabla o ampliá la SRS!

	Hay una nota que dice que algunos campos son para usos futuros... en
ese caso, sacalos, y cuándo llegue el momento cambiá la estructura de
las tablas... es una complicación innecesaria tener estos campos, sobre
todo cuando aparecen como "no nulos", con lo que deberás agregarlos a
todos los INSERT 

	En el documento de la normalización aparece un campo HOST como parte
del Cliente, que no está en la tabla. No es una buena idea este
mecanismo para evitar duplicaciones, ya que casi todos acá tenemos IPs
dinámicas, por lo que la IP no tiene una relación fija con el usuario...
y si la tuviera dejás afuera a usuarios distintos de computadoras en la
misma red, que para el exterior, ambas tienen la misma IP.
	

	Corregí esto y seguimos!

> Un abrazo Daniel

	=mente


PD: me daría un poco de bronca saber que escribiste código basado en
estas tablas y no me las mandaste al principio, porque además de las
tablas vas a tener que hacer cambios en el software...

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.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