[Php-avanzado] Normalización Trabajo Final
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mie Jul 10 10:46:23 ART 2013
Hola Ariel,
El dom, 07-07-2013 a las 03:28 -0300, Ariel Fernández escribió:
> Leo, ya casi tengo terminado el primer intento de normalización, pero
> te hago unas consultas sobre unos temas que me surgieron:
>
>
> La dirección la tengo que especificar separada ? es decir, nombre
> calle por un lado y altura por otro ?
La normalización siempre se valida contra el contexto.
En este caso, dado que el problema no requiere acceder a las
direcciones por un lado y a las alturas por otro, es válido considerar
que la dirección tenga calle y altura en un mismo campo.
El mismo criterio usaste para el teléfono, en que no diferenciaste por
ejemplo DDN, característica y número... cosa imprescindible para un
sistema de gestión de la empresa de telefonía.
> Y los nombres de los padres ? porque eso lo especifiqué como que va el
> nombre entero en un solo campo....
Eso me parece mejor separarlo, por lo mismo que separás el nombre del
alumno en apellido y nombre.
> Después, todos los atributos que tiene opciones predefinidas, los
> puedo especificar en las tablas como campos enum? los campos serían:
> tipos de dni, secciones, turnos, descripción de costos, concepto de
> pagos, sexo, y baja.
No.
Una consecuencia de la normalización es que, en caso de tener que
agregar un valor más, lo que hay que hacer es agregar un registro sin
cambiar la estructura del almacenamiento.
Agregar un registro es una tarea trivial, pero cambiar la estructura
requiere mínimamente parar el sistema.
Si usás campos enum, modificar algo (cambiar de nombre, agregar otro,
cambiarlo de idioma) se convierte en un cambio de estructura.
Adicionalmente, los valores ENUM son para concordar en caso de un INSER
o UPDATE, pero no tenés como obtener un listado de los valores (salvo
parseando una query que devuelva la estructura): de dónde sacarías los
datos para cargar las combos de la GUI?
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