[Php-avanzado] leo consulta sobre ejercicio normalización

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Jue Jun 20 18:05:48 ART 2013


Hola Ariel,

	Una versión mucho mejor!


El jue, 20-06-2013 a las 00:09 -0300, Ariel Fernández escribió:
> ok, todas las claves artificiales entonces, para simplificar de
> movida...(ah, no, no me acordé de eso de diferentes sucursales mismo
> nro factura...)

	Como quieras, siempre y cuando sean siempre las mismas.

> ok versión 2, y corregí lo de la tasa y las listas. Ahora puede haber
> más de una lista de precios :-)


	No veo como puede haber más de una lista de precios :-(

	En Facturas, no va id_detalle_factura, porque si no podés tener solo un
detalle.
	En Detalle_Facturas, no hay referencia a Facturas, y el subtotal es una
repetición (se calcula multiplicando la cantidad por el precio)


> Clientes
> 
> Facturas
> 
> Detalle_Facturas
> Categorías_Imp
> Lista_Precios
> 
> Artículos
> id
> 
> id
> 
> id
> 
> id
> 
> id
> 
> id
> nombre
> 
> número
> 
> número_fac
> 
> nombre
> 
> id_artículo
> 
> descripción
> apellido
> 
> id_sucursal
> 
> cód.artículo
> 
> 
> 
> precio
> 
> tasa_iva
> dirección
> 
> fecha
> 
> desc.artículo
> 
> 
> 
> 
> 
> 
> teléfono
> 
> id_forma_pago
> 
> precio.artículo
> 
> 
> 
> 
> 
> 
> id_cat_imp
> 
> id_cliente
> 
> cant.artículo
> 
> 
> 
> 
> 
> 
> 
> 
> nombre
> 
> tasa_iva
> 
> Sucursales
> 
> Formas_Pago
> 
> 
> 
> 
> apellido
> 
> cant.items
> 
> id
> 
> id
> 
> 
> 
> 
> dirección
> 
> subtotal
> 
> nombre
> 
> descripción
> 
> 
> 
> 
> teléfono
> 
> 
> 
> dirección
> 
> 
> 
> 
> 
> 
> cat_imp
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> id_detalle_factura
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> El 19 de junio de 2013 23:50, Leonardo Tadei - Pegasus Tech Supply
> <leonardot en pegasusnet.com.ar> escribió:
>         Hola Ariel,
>         
>                 sí, se va complicando... y no sabés lo que es esto
>         "ahí afuera" ;-)
>         
>                 Bueno, respecto a esto:
>         
>         - respecto de las claves: o todas artificiales o todas
>         naturales. Dalo
>         mismo cuales, pero todas del mismo tipo, porque si no metés la
>         pata o te
>         complicás la vida (por ejemplo, te diste cuenta que Facturas
>         necesita
>         una clave natural de dos campos, porque diferentes sucursales
>         tendrán la
>         misma numeración de facturas?)
>         - la versión 2 es la correcta, porque en la 1 una factura no
>         puede tener
>         más de un item!
>         - la tasa de iva es algo que tiene el Artículo, y no la
>         Categoría
>         Impositiva. No tenías por qué saberlo, pero por eso esto es un
>         curso ;-)
>         - la tabla Lista_Precios está muy mal: no permite que un
>         Artículo tenga
>         más de un precio, y esta es justamente la idea de tener muchas
>         listas de
>         precios.
>         - lo de basarte en los ejemplos que vimos en clase es
>         correcto: el
>         almacenamiento no tiene que "cambiar el pasado".
>         
>                 Saludos!
>         
>         
>         El mié, 19-06-2013 a las 22:13 -0300, Ariel Fernández
>         escribió:
>         > Bueno Leo...se va complicando eh, acá el primer intento del
>         ejercicio
>         > 5:
>         >
>         >
>         >
>         > Clientes
>         >
>         > Facturas
>         >
>         > Categorías_Imp
>         >
>         > Lista_Precios
>         >
>         > Artículos
>         > id
>         >
>         > número
>         >
>         > id
>         >
>         > código_art
>         >
>         > código
>         > nombre
>         >
>         > id_sucursal
>         >
>         > nombre
>         >
>         > precio
>         >
>         > descripción
>         > apellido
>         >
>         > fecha
>         >
>         > tasa_iva
>         >
>         >
>         >
>         >
>         > dirección
>         >
>         > id_forma_pago
>         >
>         >
>         >
>         >
>         >
>         >
>         > teléfono
>         >
>         > id_cliente
>         >
>         >
>         >
>         >
>         >
>         >
>         > id_cat_imp
>         >
>         > nombre
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > apellido
>         >
>         > Sucursales
>         >
>         > Formas_Pago
>         >
>         >
>         >
>         >
>         > dirección
>         >
>         > id
>         >
>         > id
>         >
>         >
>         >
>         >
>         > teléfono
>         >
>         > nombre
>         >
>         > descripción
>         >
>         >
>         >
>         >
>         > cat_imp
>         >
>         > dirección
>         >
>         >
>         >
>         >
>         >
>         >
>         > tasa_iva
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > cód.artículo
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > desc.artículo
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > precio.artículo
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > cant.artículo
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > cant.items
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > subtotal
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > No estoy usando en todos clave artificial porque las
>         naturales
>         > alcanzan como en artículos, lista_precios y facturas....se
>         puede?
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > Después, no sé si es del todo correcto, pero me pareció que
>         podía
>         > separar lo que es detalle de factura, en otra tabla, y me
>         quedaría
>         > así:
>         >
>         >
>         >
>         >
>         > Clientes
>         >
>         > Facturas
>         >
>         > Detalle_Facturas
>         > Categorías_Imp
>         > Lista_Precios
>         >
>         > Artículos
>         > id
>         >
>         > número
>         >
>         > id
>         >
>         > id
>         >
>         > código_art
>         >
>         > código
>         > nombre
>         >
>         > id_sucursal
>         >
>         > número_fac
>         >
>         > nombre
>         >
>         > precio
>         >
>         > descripción
>         > apellido
>         >
>         > fecha
>         >
>         > cód.artículo
>         >
>         > tasa_iva
>         >
>         >
>         >
>         >
>         > dirección
>         >
>         > id_forma_pago
>         >
>         > desc.artículo
>         >
>         >
>         >
>         >
>         >
>         >
>         > teléfono
>         >
>         > id_cliente
>         >
>         > precio.artículo
>         >
>         >
>         >
>         >
>         >
>         >
>         > id_cat_imp
>         >
>         > nombre
>         >
>         > cant.artículo
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > apellido
>         >
>         > cant.items
>         >
>         > Sucursales
>         >
>         > Formas_Pago
>         >
>         >
>         >
>         >
>         > dirección
>         >
>         > subtotal
>         >
>         > id
>         >
>         > id
>         >
>         >
>         >
>         >
>         > teléfono
>         >
>         >
>         >
>         > nombre
>         >
>         > descripción
>         >
>         >
>         >
>         >
>         > cat_imp
>         >
>         >
>         >
>         > dirección
>         >
>         >
>         >
>         >
>         >
>         >
>         > tasa_iva
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > id_detalle_factura
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > en ambos casos, me basé en el ejemplo que vimos en clase, el
>         de los
>         > cupones del estacionamiento, porque si se quiere reimprimir
>         una
>         > factura, no tienen por qué cambiar los datos, por eso los
>         estoy
>         > almacenando en tabla Facturas en un caso, y en tablas
>         Facturas y
>         > Detalle_Facturas en el otro.
>         >
>         >
>         > El 18 de junio de 2013 22:08, Leonardo Tadei - Pegasus Tech
>         Supply
>         > <leonardot en pegasusnet.com.ar> escribió:
>         >         El mar, 18-06-2013 a las 21:41 -0300, Ariel
>         Fernández
>         >         escribió:
>         >         > para el ejercicio 5
>         >         >
>         >         >
>         >         >
>         >         > 5) Crear las tablas necesarias en tercera forma
>         normal para
>         >         guardar
>         >         > los
>         >         > siguientes datos: Nombre, Apellido, Dirección,
>         Teléfono,
>         >         Categoría
>         >         > Impositiva, Lista de Precios, Cod Artículo, Nombre
>         Artículo,
>         >         Precio,
>         >         > Tasa de IVA, Nro de Sucursal, Nro de Factura,
>         Fecha,
>         >         Cliente, Cant de
>         >         > Articulos, Artículos, Forma de Pago.
>         >         >
>         >         >
>         >         >
>         >         >
>         >         >
>         >         > en Cliente sería el número de cliente, no?
>         >
>         >
>         >                 El Cliente sería lo que sea que la
>         normalización
>         >         arroje como el
>         >         almacenamiento del cliente.
>         >
>         >         > y Artículos qué sería ? porque me parece que ya
>         está puesto
>         >         en Nombre
>         >         > Artículo y Cód Artículo
>         >
>         >
>         >                 Idem!
>         >
>         >                 Tené presente que un cambio en los datos "no
>         tiene que
>         >         cambiar el
>         >         pasado"...
>         >
>         >         --
>         >         Leonardo Tadei
>         >         leonardot en pegasusnet.com.ar
>         >         Web: http://leonardo.tadei.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
>         Web: http://leonardo.tadei.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
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