<div dir="ltr">ok, todas las claves artificiales entonces, para simplificar de movida...(ah, no, no me acordé de eso de diferentes sucursales mismo nro factura...)<div><br></div><div style>ok versión 2, y corregí lo de la tasa y las listas. Ahora puede haber más de una lista de precios :-)</div>
<div style><br></div><div style><br></div><div style><br></div><div style><br></div><div style><table border="0" cellpadding="0" cellspacing="0" width="756" style="border-collapse:collapse;width:569pt">
 <colgroup><col width="80" style="width:60pt">
 <col width="34" style="width:26pt">
 <col width="121" style="width:91pt">
 <col width="31" style="width:23pt">
 <col width="103" style="width:77pt">
 <col width="33" style="width:25pt">
 <col width="89" style="width:67pt">
 <col width="33" style="width:25pt">
 <col width="110" style="width:83pt">
 <col width="42" style="width:32pt">
 <col width="80" style="width:60pt">
 </colgroup><tbody><tr height="20" style="height:15pt">
  <td height="20" class="" width="80" style="height:15pt;width:60pt"><b>Clientes</b></td>
  <td width="34" style="width:26pt"></td>
  <td class="" width="121" style="width:91pt"><b>Facturas</b></td>
  <td width="31" style="width:23pt"></td>
  <td class="" colspan="2" width="136" style="width:102pt"><b>Detalle_Facturas</b></td>
  <td class="" colspan="2" width="122" style="width:92pt"><b>Categorías_Imp</b></td>
  <td class="" width="110" style="width:83pt"><b>Lista_Precios</b></td>
  <td class="" width="42" style="width:32pt"></td>
  <td class="" width="80" style="width:60pt"><b>Artículos</b></td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" class="" style="height:15pt">id</td>
  <td></td>
  <td class="">id</td>
  <td></td>
  <td class="">id</td>
  <td></td>
  <td class="">id</td>
  <td></td>
  <td class="">id</td>
  <td></td>
  <td class="">id</td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" class="" style="height:15pt">nombre</td>
  <td></td>
  <td class="">número</td>
  <td></td>
  <td class="">número_fac</td>
  <td></td>
  <td class="">nombre</td>
  <td></td>
  <td class="">id_artículo</td>
  <td></td>
  <td class="">descripción</td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" class="" style="height:15pt">apellido</td>
  <td></td>
  <td class="">id_sucursal</td>
  <td></td>
  <td class="">cód.artículo</td>
  <td></td>
  <td></td>
  <td></td>
  <td class="">precio</td>
  <td></td>
  <td class="">tasa_iva</td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" class="" style="height:15pt">dirección</td>
  <td></td>
  <td class="">fecha</td>
  <td></td>
  <td class="">desc.artículo</td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" class="" style="height:15pt">teléfono</td>
  <td></td>
  <td class="">id_forma_pago</td>
  <td></td>
  <td class="">precio.artículo</td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" class="" style="height:15pt">id_cat_imp</td>
  <td></td>
  <td class="">id_cliente</td>
  <td></td>
  <td class="">cant.artículo</td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" style="height:15pt"></td>
  <td></td>
  <td class="">nombre</td>
  <td></td>
  <td class="">tasa_iva</td><td></td>
  <td class=""><b>Sucursales</b></td>
  <td></td>
  <td class=""><b>Formas_Pago</b></td>
  <td></td>
  <td></td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" style="height:15pt"></td>
  <td></td>
  <td class="">apellido</td>
  <td></td>
  <td class="">cant.items</td>
  <td></td>
  <td class="">id</td>
  <td></td>
  <td class="">id</td>
  <td></td>
  <td></td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" style="height:15pt"></td>
  <td></td>
  <td class="">dirección</td>
  <td></td>
  <td class="">subtotal</td>
  <td></td>
  <td class="">nombre</td>
  <td></td>
  <td class="">descripción</td>
  <td></td>
  <td></td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" style="height:15pt"></td>
  <td></td>
  <td class="">teléfono</td>
  <td></td>
  <td></td>
  <td></td>
  <td class="">dirección</td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" style="height:15pt"></td>
  <td></td>
  <td class="">cat_imp</td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
 </tr>
 <tr height="20" style="height:15pt">
  <td height="20" style="height:15pt"></td>
  <td></td>
  <td class="">id_detalle_factura</td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
 </tr></tbody></table></div><div style><br></div><div style><br></div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">El 19 de junio de 2013 23:50, Leonardo Tadei - Pegasus Tech Supply <span dir="ltr"><<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hola Ariel,<br>
<br>
        sí, se va complicando... y no sabés lo que es esto "ahí afuera" ;-)<br>
<br>
        Bueno, respecto a esto:<br>
<br>
- respecto de las claves: o todas artificiales o todas naturales. Dalo<br>
mismo cuales, pero todas del mismo tipo, porque si no metés la pata o te<br>
complicás la vida (por ejemplo, te diste cuenta que Facturas necesita<br>
una clave natural de dos campos, porque diferentes sucursales tendrán la<br>
misma numeración de facturas?)<br>
- la versión 2 es la correcta, porque en la 1 una factura no puede tener<br>
más de un item!<br>
- la tasa de iva es algo que tiene el Artículo, y no la Categoría<br>
Impositiva. No tenías por qué saberlo, pero por eso esto es un curso ;-)<br>
- la tabla Lista_Precios está muy mal: no permite que un Artículo tenga<br>
más de un precio, y esta es justamente la idea de tener muchas listas de<br>
precios.<br>
- lo de basarte en los ejemplos que vimos en clase es correcto: el<br>
almacenamiento no tiene que "cambiar el pasado".<br>
<br>
        Saludos!<br>
<br>
<br>
El mié, 19-06-2013 a las 22:13 -0300, Ariel Fernández escribió:<br>
<div class="HOEnZb"><div class="h5">> Bueno Leo...se va complicando eh, acá el primer intento del ejercicio<br>
> 5:<br>
><br>
><br>
><br>
> Clientes<br>
><br>
> Facturas<br>
><br>
> Categorías_Imp<br>
><br>
> Lista_Precios<br>
><br>
> Artículos<br>
> id<br>
><br>
> número<br>
><br>
> id<br>
><br>
> código_art<br>
><br>
> código<br>
> nombre<br>
><br>
> id_sucursal<br>
><br>
> nombre<br>
><br>
> precio<br>
><br>
> descripción<br>
> apellido<br>
><br>
> fecha<br>
><br>
> tasa_iva<br>
><br>
><br>
><br>
><br>
> dirección<br>
><br>
> id_forma_pago<br>
><br>
><br>
><br>
><br>
><br>
><br>
> teléfono<br>
><br>
> id_cliente<br>
><br>
><br>
><br>
><br>
><br>
><br>
> id_cat_imp<br>
><br>
> nombre<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> apellido<br>
><br>
> Sucursales<br>
><br>
> Formas_Pago<br>
><br>
><br>
><br>
><br>
> dirección<br>
><br>
> id<br>
><br>
> id<br>
><br>
><br>
><br>
><br>
> teléfono<br>
><br>
> nombre<br>
><br>
> descripción<br>
><br>
><br>
><br>
><br>
> cat_imp<br>
><br>
> dirección<br>
><br>
><br>
><br>
><br>
><br>
><br>
> tasa_iva<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> cód.artículo<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> desc.artículo<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> precio.artículo<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> cant.artículo<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> cant.items<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> subtotal<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> No estoy usando en todos clave artificial porque las naturales<br>
> alcanzan como en artículos, lista_precios y facturas....se puede?<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> Después, no sé si es del todo correcto, pero me pareció que podía<br>
> separar lo que es detalle de factura, en otra tabla, y me quedaría<br>
> así:<br>
><br>
><br>
><br>
><br>
> Clientes<br>
><br>
> Facturas<br>
><br>
> Detalle_Facturas<br>
> Categorías_Imp<br>
> Lista_Precios<br>
><br>
> Artículos<br>
> id<br>
><br>
> número<br>
><br>
> id<br>
><br>
> id<br>
><br>
> código_art<br>
><br>
> código<br>
> nombre<br>
><br>
> id_sucursal<br>
><br>
> número_fac<br>
><br>
> nombre<br>
><br>
> precio<br>
><br>
> descripción<br>
> apellido<br>
><br>
> fecha<br>
><br>
> cód.artículo<br>
><br>
> tasa_iva<br>
><br>
><br>
><br>
><br>
> dirección<br>
><br>
> id_forma_pago<br>
><br>
> desc.artículo<br>
><br>
><br>
><br>
><br>
><br>
><br>
> teléfono<br>
><br>
> id_cliente<br>
><br>
> precio.artículo<br>
><br>
><br>
><br>
><br>
><br>
><br>
> id_cat_imp<br>
><br>
> nombre<br>
><br>
> cant.artículo<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> apellido<br>
><br>
> cant.items<br>
><br>
> Sucursales<br>
><br>
> Formas_Pago<br>
><br>
><br>
><br>
><br>
> dirección<br>
><br>
> subtotal<br>
><br>
> id<br>
><br>
> id<br>
><br>
><br>
><br>
><br>
> teléfono<br>
><br>
><br>
><br>
> nombre<br>
><br>
> descripción<br>
><br>
><br>
><br>
><br>
> cat_imp<br>
><br>
><br>
><br>
> dirección<br>
><br>
><br>
><br>
><br>
><br>
><br>
> tasa_iva<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> id_detalle_factura<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> en ambos casos, me basé en el ejemplo que vimos en clase, el de los<br>
> cupones del estacionamiento, porque si se quiere reimprimir una<br>
> factura, no tienen por qué cambiar los datos, por eso los estoy<br>
> almacenando en tabla Facturas en un caso, y en tablas Facturas y<br>
> Detalle_Facturas en el otro.<br>
><br>
><br>
> El 18 de junio de 2013 22:08, Leonardo Tadei - Pegasus Tech Supply<br>
> <<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a>> escribió:<br>
>         El mar, 18-06-2013 a las 21:41 -0300, Ariel Fernández<br>
>         escribió:<br>
>         > para el ejercicio 5<br>
>         ><br>
>         ><br>
>         ><br>
>         > 5) Crear las tablas necesarias en tercera forma normal para<br>
>         guardar<br>
>         > los<br>
>         > siguientes datos: Nombre, Apellido, Dirección, Teléfono,<br>
>         Categoría<br>
>         > Impositiva, Lista de Precios, Cod Artículo, Nombre Artículo,<br>
>         Precio,<br>
>         > Tasa de IVA, Nro de Sucursal, Nro de Factura, Fecha,<br>
>         Cliente, Cant de<br>
>         > Articulos, Artículos, Forma de Pago.<br>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         > en Cliente sería el número de cliente, no?<br>
><br>
><br>
>                 El Cliente sería lo que sea que la normalización<br>
>         arroje como el<br>
>         almacenamiento del cliente.<br>
><br>
>         > y Artículos qué sería ? porque me parece que ya está puesto<br>
>         en Nombre<br>
>         > Artículo y Cód Artículo<br>
><br>
><br>
>                 Idem!<br>
><br>
>                 Tené presente que un cambio en los datos "no tiene que<br>
>         cambiar el<br>
>         pasado"...<br>
><br>
>         --<br>
>         Leonardo Tadei<br>
>         <a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a><br>
>         Web: <a href="http://leonardo.tadei.com.ar" target="_blank">http://leonardo.tadei.com.ar</a><br>
>         Firma pública:<br>
>         <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
><br>
>         _______________________________________________<br>
>         Php-avanzado mailing list<br>
>         <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
>         <a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
><br>
><br>
> _______________________________________________<br>
> Php-avanzado mailing list<br>
> <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
> <a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
<br>
--<br>
Leonardo Tadei<br>
<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a><br>
Web: <a href="http://leonardo.tadei.com.ar" target="_blank">http://leonardo.tadei.com.ar</a><br>
Firma pública: <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
<br>
_______________________________________________<br>
Php-avanzado mailing list<br>
<a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
<a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
</div></div></blockquote></div><br></div>