[Php-avanzado] Normalización
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mie Jul 11 23:01:27 ART 2012
Hola David,
técnicamente hablando, MyISAM puede coexistir con INNOdb. El server de
la FI soporta estos formatos y varios más también.
No hay diferencia a la hora de escribir las consultas.
INNOdb soporta características tales como store procedures, triggers,
integridad referencia, y claves foráneas.
En el curso no se llegan a ver estos temas, así que si vos no usás
esto, podría ser sin problemas todo MyISAM. El formato MyISAM al
soportar menos características, es ligeramente más rápido.
Así en general y por prolijidad, lo mejor es que todas las tablas estén
en el mismo formato
Seguimos!
El mié, 11-07-2012 a las 20:34 -0300, David Barraud escribió:
> Hola Leo, te hago una consulta que no me surgió cuando te escribí hace
> un rato.
> El otro día actualicé el Mysql y phpmyadmin, de paso cambiaron la
> apariencia del phpmyadmin y está muy buena y es más fácil de trabajar.
> Lo que me queda la duda es que anteriormente las tablas con las que
> trabajé fueron creadas con MyISAM y las nuevas las está creando con
> innoDB.
> Necesito saber si es mejor trabajar con una, con la otra o
> coexistiendo ambas.
> Estube leyendo sobre las ventajas y desventajas de ámbos pero quiero
> saber si en el servidor de la universidad corren las dos.
> Por lo pronto estoy dejando a todas las tablas con MyISAM.
> Muchas gracias
>
> El 10 de julio de 2012 17:31, Leonardo Tadei - Pegasus Tech Supply
> <leonardot en pegasusnet.com.ar> escribió:
> Hola David,
>
> te respondo intercalado:
>
> El dom, 08-07-2012 a las 15:19 -0300, David Barraud escribió:
> > Hola Leo, te paso las correcciones hechas con los detalles
> que me
> > pediste.
> >
> >
> > Normalización
> >
> > #departamentos
> >
> > id_depto
> >
> > depto_nombre
> >
> >
> >
> > #categorias
> >
> > id_categoria
> >
> > nombre
> >
> >
> >
> > #insumos
> >
> > id_producto
> >
> > id_categoria
> >
> > imagen
> >
> > nombre
> >
> >
> >
> > #RemitosAltaStock
> >
> > id_remito_alta
> >
> > fecha
> >
> >
> >
> > #RemitosAltaStockDetalle
> >
> > id_alta_detalle
> >
> > id_remito_alta
> >
> > id_producto
> >
> > nombre
> >
> > cantidad
> >
> >
> >
> > #RemitosBajaStock
> >
> > id_remito_baja
> >
> > fecha
> >
> >
> >
> > #RemitosBajaStockDetalle
> >
> > id_baja_detalle
> >
> > id_remito_baja
> >
> > id_producto
> >
> > nombre
> >
> > cantidad
> >
> > motivo
>
>
>
> Hasta acá está bien.
>
> > #solicitudes
> >
> > id_solicitud
> >
> > id_depto
> >
> > depto_nombre
> >
> > id_estado
> >
> > id_remito_baja
>
>
> El campo id_remito_baja es incorrecto. La Solicitud de
> reparación no
> tiene que hacer referencias al Remito de Baja.
> La propia Solicitud de Reparación _es_ la baja de los
> insumos usados.
>
> > fecha_inicio
> >
> > fecha_fin
> >
> > problema
> >
> > solucion
> >
> >
> >
> > #solicitudesDetalles
> >
> > Id_solicitud_detalle
> >
> > Id_solicitud
> >
> > Id_producto
> >
> > nombre
> >
> > cantidad
> >
> >
> >
> > #estados
> >
> > id_estado
> >
> > estado
>
>
> El resto está bien.
> Te falta(n) la(s) tabla(s) para implementar los RNF
>
> No queda constancia de quién hace la Solicitud de
> Reparación? Me parece
> recordar que estaba en versiones anteriores de tu SRS... pero
> tal vez me
> esté confundiendo de trabajo final.
>
> Resumiendo: sin ese campo y agregando como se guardan
> los usuarios esto
> está listo.
>
> Saludos!
>
>
> PD: hoy recibí otro mensaje igual a este, así que también lo
> damos por
> contestado.
>
>
> > El 6 de julio de 2012 00:32, Leonardo Tadei - Pegasus Tech
> Supply
> > <leonardot en pegasusnet.com.ar> escribió:
> > Hola David,
> >
> >
> > El jue, 05-07-2012 a las 15:44 -0300, David Barraud
> escribió:
> > > Bien, entonces me faltaría una tabla en
> #solicitudes que me
> > guarde los
> > > insumos que se usan para cada solicitud
> >
> >
> > Me parece que decís bien, pero por las dudas
> lo vuelvo
> > a expresar acá:
> > las Solicitudes normalizadas quedan en dos tablas,
> una con la
> > "cabecera"
> > de la solicitud, y otra con el "detalle" en dónde
> constan los
> > insumos.
> >
> > Si te fijás, los comprobantes de altas y de
> bajas son
> > casi iguales,
> > salvo que la "cabecera" es más chica (y los de baja
> tienen el
> > motivo
> > como parte de los detalles).
> >
> > > y el cálculo del stock de los insumos sería la
> sumatoria de
> > las Alta
> > > de Stock - baja de stock - baja de stock en las
> solicitudes.
> >
> >
> > Correcto!
> >
> > > Si estoy en lo correcto decime si estas tablas
> quedarían de
> > esta
> > > manera:
> >
> >
> > Mmm... más o menos así. La idea está bien,
> pero te
> > falta pulir un par
> > de detalles:
> >
> > 1) Los nombre de las tablas en plural, y lo de los
> campos en
> > singular.
> > Parece una pavada pero es de veras importante para
> no
> > confundirte.
> > 2) Si tenés id_depto, como tu RF1 dice que se
> gestionan,
> > tenés que
> > guardar acá el nombre del departamento, porque si
> después se
> > cambia o se
> > borra, no tenés que cambiar las Solicitudes ya
> generadas.
> > Nota: No pasa lo mismo con id_estado, porque no se
> gestiona.
> > 3) La tabla de detalles se ve bien. A nivel de
> nomenclatura,
> > es un poco
> > confuso porque el "remito" es la solicitud entera,
> así que uno
> > esperaría
> > que la palabra "remito", si está, esté en la primer
> tabla. Si
> > una tabla
> > se llama "Solicitudes", la otra podría llamarse algo
> como
> > "SolicitudesDetalles" o "SolicitudesItems", es decir
> un nombre
> > que
> > denote que depende de la primera y que no tiene
> sentido sin
> > ella.
> > Yo empiezo todo con "Solicitudes...", pero esto es
> de viejo
> > mañoso,
> > porque después el ver las tablas alfabéticamente se
> ven juntas
> > las
> > relacionadas, y no con otras tablas en el medio,
> pero sería un
> > nombre
> > más correcto "ItemsSolicitud" o
> "DetallesSolicitud"... más
> > correcto pero
> > incómodo.
> > Mientras sea claro y explícito, llamalas como
> quieras. Que una
> > diga
> > "Remito" y la otra no, desentona, pero no es que en
> nombres de
> > tablas o
> > de campos haya cosas "mal" si son representativas.
> >
> > Saludos!
> >
>
>
>
> --
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Blog: http://blog.pegasusnet.com.ar
> Firma pública:
> http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Pegasus Tech Supply
Tel: (+54)(+223) 471-2880
La Salle 1131 - Mar del Plata - Argentina
http://www.pegasusnet.com.ar
http://www.grupopegasus.com
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado