[Php-avanzado] SRS + Normalizacion
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Jue Ene 16 20:51:06 ART 2014
Hola Gabriel,
El jue, 16-01-2014 a las 16:48 -0300, Gabriel Lenti escribió:
> Hola Leo,
>
>
> Sin dudas ha sido muy educativo el proceso.. Sobre el final creo que
> mi cabeza comenzo por fin a vislumbrar como plantear el problema sin
> pensar automaticamente en su solucion, jeje! ;)
> Muchas gracias por la paciencia requerida en las correcciones!!
Me dicen esto para quedar bien conmigo... es el equivalente digital de
la manzana lustrada al profe ;-)
> Adjunto una version retocada de la SRS, me habia olvidado de agregar
> el estado de cuenta a Investigador.
Ok. Guardo esta versión para futura referencia.
> Tambien va una primera version de las tablas, con las cuales tengo
> varias dudas ya:
>
>
> -En la tabla investigadores, seria correcto ahora reemplazar nombre y
> apellido por aun referencia al autor que los contiene?
>
>
> investigadores
> id [pk]
> nick
> passwd
> id_autor [fk]
> email
> url_foto
> puesto_eng
> ficha_eng
> puesto_spa
> ficha_spa
> nivel_acceso
Mmmmm... es muy rebuscado!
Te cuento la versión simple, porque llegar hasta ahí en iteraciones por
mail va a ser tedioso: Creá una tabla "TipoAutor" con dos campos
"investigador" y "colaborador" por ejemplo.
Agregale a Investigadores una referencia TipoAutor y no hace falta la
tabla Autores. Los Autores tienen los datos que les sobran vacíos.
Con esto te queda toda la gente junta, reducís las repeticiones y
simplificás el almacenamiento y el código.
> -las tablas donde tengo datos en dos idiomas, seria mejor desglosarlas
> en dos tablas haciendo referencia al idioma?
>
>
> proyectos
> id [pk]
> posicion
>
>
> datos_proyecto
> id [pk]
> id_proyecto [fk]
> id_idioma [fk]
> titulo
> descripcion
> detalle
No es que sea mejor: es lo que exige la normalización.
> Gracias nuevamente y saludos!
>
>
> PD: para versiones futuras, me gustaria utilizar algun formato mas
> grafico como el que uso Pehuen, que se visualiza mucho mejor. Alguna
> recomendacion de software a ultilizar?
PHPMyAdmin cuando creás DB INNODB tiene un editor visual de tablas que
exporta a PNG.
Como software para graficar estas cosas y varias más tenés DIA. Viene
con casi toda distribución de GNU/Linux.
Vamos a la normalización:
Como decís arriba, los datos de cada proyecto habría que separarlos por
idiomas. Tu versión no está mal si solo existirán estos dos idiomas,
porque si no cambian no hay como justificar el trabajo. Pregunta: querés
seguir así o querés plantearlo para N idiomas???
Te anticipo que si es para N idiomas, todas las tablas en las que
aparecen referencias al idioma se desdoblan en dos para una relación
1-N...
Cómo seguimos?
--
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