Consejos parafuturosinstructores mx-marzo2011

427 views

Published on

Published in: Sports, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
427
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Consejos parafuturosinstructores mx-marzo2011

  1. 1. Consejos para futuros instructores<br />A/S Maia Shuster<br />mshuster@genexus.com <br />
  2. 2. Veremos…<br />Aportes útiles<br />para la hora de dictarsuscursos GeneXus<br />Sugerencias<br />Tips para enseñar fácil<br />Errores más comunes que cometen los alumnos… y recomendaciones!<br />
  3. 3. Acerca de enseñar fácil…<br />
  4. 4. Enseñar fácil = un arte<br />Explicar ordenadamente<br />Usar palabras fáciles<br />Describir qué se va a mostrar, antes de resolverlo<br />Cuidado con la velocidad<br />Mostrar paso a paso..<br />
  5. 5. Enseñar fácil = un arte<br />Emplear términos adecuados…<br />
  6. 6. Errores y dudas más comunes…<br />
  7. 7. Tema: Diseño de transacciones<br />
  8. 8. Tema: Diseño de transacciones<br />Errores comunes:<br /><ul><li>Alumnos que no terminan de entender diferencia:</li></ul>(A1*<br /> A2<br /> (B1*<br /> B2)<br />(A1*<br /> A2<br /> (B1*<br /> B2)<br />B1*<br />B2<br />+<br />
  9. 9. Tema: Diseño de transacciones<br />Errores comunes:<br /><ul><li>Alumnos que definen transacciones de más:
  10. 10. Se creantablasfísicas de más
  11. 11. Se almacenandatosredundantes
  12. 12. Quedandefinidascomplejidadesinnecesarias</li></li></ul><li>Tema: Diseño de transacciones<br />Errores comunes:<br /><ul><li>Alumnos que definen componentes de más en las claves
  13. 13. Alumnos que no tienen fijados ciertos conocimientos puntuales, que les serían de gran ayuda</li></li></ul><li>Tema: Diseño de transacciones<br />Propuesta para enseñar fácil este tema:<br />ENTERPRISE #1<br />ENTERPRISE #2<br />PROVIDER<br />PRODUCT<br />PROVIDER<br />PRODUCT<br />
  14. 14. Tema: Diseño de transacciones<br />PROVIDER<br />PRODUCT<br />ENTERPRISE #1<br />ProductId*ProductName<br />ProviderId*ProviderName<br /> (ProductId*<br />ProductName)<br />ProductId*ProductName<br /> (ProviderId* <br />ProviderName)<br />ProviderId*ProviderName<br />ProductId*ProductName<br /> (ProviderId* <br />ProviderName)<br />ProviderId*ProviderName<br /> (ProductId* <br />ProductName)<br />ProductId*ProductName<br />ProviderId*ProviderName<br />ProviderId*ProductId*<br />
  15. 15. Tema: Diseño de transacciones<br />PROVIDER<br />PRODUCT<br />ENTERPRISE #1<br />Tablas fisicasresultantes:<br />
  16. 16. Tema: Diseño de transacciones<br />ENTERPRISE #2<br />2 ALTERNATIVAS DE DISEÑO DIFERENTES<br />GENERAN TABLAS FÍSICAS DIFERENTES<br />PROVIDER<br />PRODUCT<br />
  17. 17. Tema: Diseño de transacciones<br />ENTERPRISE #2<br />ALTERNATIVA #1:<br />ProviderId*<br />ProviderName<br />ProductId*<br />ProductName<br />ProviderId<br />ProviderName<br />CustomerId*<br />CustomerName<br />InvoiceId*<br />InvoiceDate<br />….<br />CustomerId<br />CustomerName<br />PROVIDER<br />PRODUCT<br />
  18. 18. Tema: Diseño de transacciones<br />ENTERPRISE #2<br />ALTERNATIVA #1:<br />ProviderId*<br />ProviderName<br />ProductId<br />ProductName<br />ProductId*<br />ProductName<br />ProviderId*<br />ProviderName<br />ProductId*<br />ProductName<br />ProviderId<br />ProviderName<br />PROVIDER<br />PRODUCT<br />PROVIDER<br />PRODUCT<br />
  19. 19. Tema: Diseño de transacciones<br />Prop. Nullable = Yes<br />ENTERPRISE #2<br />ALTERNATIVA #1:<br />ALTERNATIVA #2:<br />ProviderId*<br />ProviderName<br />ProductId*<br />ProductName<br />ProviderId<br />ProviderName<br />ProviderId*<br />ProviderName<br /> (ProductId*<br />ProductName)<br />PROVIDER<br />PRODUCT<br />
  20. 20. Tema: Diseño de transacciones<br />ENTERPRISE #2<br />ALTERNATIVA #2:<br />ProviderId*<br />ProviderName<br /> (ProductId*<br />ProductName)<br />PROVIDER<br />PRODUCT<br />
  21. 21. Tema: Diseño de transacciones<br />PROVIDER<br />PRODUCT<br />ENTERPRISE #2<br />CUSTOMER<br />INVOICE<br />¿ ALTERNATIVA #1 ?<br />¿ ALTERNATIVA #2 ?<br />ProviderId*<br />ProviderName<br />ProductId*<br />ProductName<br />ProviderId<br />ProviderName<br />ProviderId*<br />ProviderName<br /> (ProductId*<br />ProductName)<br />CustomerId*<br />CustomerName<br /> (InvoiceId*<br />InvoiceDate<br /> ….)<br />CustomerId*<br />CustomerName<br />InvoiceId*<br />InvoiceDate<br />….<br />CustomerId<br />CustomerName<br />¿Cómo elegimos cuál?<br /><br />Dependerá de la realidad a modelar…<br />
  22. 22. Tema: Diseño de transacciones<br />ENTERPRISE #2<br />CUSTOMER<br />PHONE<br />¿ ALTERNATIVA #1 ?<br />¿ ALTERNATIVA #2 ?<br />ProviderId*<br />ProviderName<br />ProductId*<br />ProductName<br />ProviderId<br />ProviderName<br />ProviderId*<br />ProviderName<br /> (ProductId*<br />ProductName)<br />CustomerId*<br />CustomerName<br /> (CustomerPhoneId*<br />CustomerPhoneNumber)<br />CustomerId*<br />CustomerName<br />PhoneId*<br />PhoneNumber<br />….<br />CustomerId<br />CustomerName<br /><br />PROVIDER<br />PRODUCT<br />
  23. 23. Tema: Diseño de transacciones<br />ENTERPRISE #2<br />¿ ALTERNATIVA #2 ?<br />¿ ALTERNATIVA #1 ?<br />ProviderId*<br />ProviderName<br /> (ProductId*<br />ProductName)<br />ProviderId*<br />ProviderName<br />ProductId*<br />ProductName<br />ProviderId<br />ProviderName<br />RELACIÓN 1-N “FUERTE” <br />o<br />“RELACIONADO CON”<br />RELACIÓN 1-N “DÉBIL” <br />O<br />“PARTE DE” <br />PROVIDER<br />PRODUCT<br />
  24. 24. Tema: Diseño de transacciones<br />Volviendo a esta duda de los alumnos…<br />¿ Cuál es la diferencia .. ?<br />(A1*<br /> A2<br /> (B1*<br /> B2)<br />(A1*<br /> A2<br /> (B1*<br /> B2)<br />B1*<br />B2<br />+<br />A<br />B<br />B<br />A<br />1-N “DÉBIL” <br />
  25. 25. Tema: Diseño de transacciones<br />Veamos un error más que cometen los alumnos…<br /><ul><li>Definenclaves primarias con componentes de más…</li></ul>Realidad a ser descripta:<br /> Un médico en una fecha, solamente puede tener una consulta<br /> Se le asigna un consultorio para atender<br />Solución de alumno:<br />DoctorId*<br />DoctorName<br />MedicalAppointmentDate*<br />DoctorId*<br />RoomId*<br />DoctorName<br />RoomDescription<br />RoomFloor<br />RoomId*<br />RoomDescriptionRoomFloor<br />
  26. 26. Tema: Diseño de transacciones<br />Para que alumno visualice su error de diseño<br /><ul><li>esquematizarle las tablas que se</li></ul> crean + datos de prueba<br />
  27. 27. Tema: Diseño de transacciones<br />A raíz de lo anterior, surge también explicar…<br />¿Claves primarias compuestas por conjunto<br /> de atributos que determinan unicidad?<br />¿Claves primarias ficticias?<br />MedicalAppointmentId *<br />MedicalAppointmentDate<br />DoctorId<br />RoomId<br />DoctorName<br />RoomDescription<br />RoomFloor<br />MedicalAppointmentDate*<br />DoctorId*<br />RoomId<br />DoctorName<br />RoomDescription<br />RoomFloor<br />
  28. 28. Tema: Subtipos<br />
  29. 29. Tema: Subtipos<br /><ul><li>Asusta..
  30. 30. Tiene fama de complejo..
  31. 31. Sin embargo.. </li></ul>nada en GeneXus es complejo<br />¡ Los subtipos permiten representar en GeneXuscasosque se dan en la realidad !<br />
  32. 32. Tema: Subtipos<br />Ejemplo + Explicación fácil :<br />ProviderId*<br />ProviderName<br />PurchaseOrderId*<br />PurchaseOrderDate<br />ProviderId<br />ProviderName<br /> (ProductId*<br />ProductName<br />ProductPrice<br />ProviderId<br />ProviderName<br />PurchaseOrderLineQuantity)<br />ProductId*<br />ProductName<br />ProductPrice<br />ProviderId<br />ProviderName<br />
  33. 33. Tema: Subtipos<br />Ejemplo + Explicación fácil :<br />ProviderId*<br />ProviderName<br />PurchaseOrderId*<br />PurchaseOrderDate<br />ProviderId<br />ProviderName<br /> (ProductId*<br />ProductName<br />ProductPrice<br />PurchasOrderLineProviderId<br />PurchasOrderLineProviderName<br />PurchaseOrderLineQuantity)<br />ProductId*<br />ProductName<br />ProductPrice<br />ProviderId<br />ProviderName<br />¿Solución adecuada?<br />No<br />
  34. 34. Tema: Subtipos<br />Ejemplo + Explicación fácil :<br />Solución<br />ProviderId*<br />ProviderName<br />PurchaseOrderId*<br />PurchaseOrderDate<br />PurchasOrderProviderId<br />PurchaseOrderProviderName<br /> (ProductId*<br />ProductName<br />ProductPrice<br />ProviderId<br />ProviderName<br />PurchaseOrderLineQuantity)<br />ProductId*<br />ProductName<br />ProductPrice<br />ProviderId<br />ProviderName<br />
  35. 35. Tema: Reglas en transacciones y eventos de disparo<br />
  36. 36. Tema: Reglas en transacciones y eventos de disparo<br />REGLAS SIN EVENTO DE DISPARO<br />INTERACTIVAMENTE<br />REGLAS CON EVENTO DE DISPARO (ON …. )<br />
  37. 37. Tema: Reglas en transacciones y eventos de disparo<br />Algunos errores comunes:<br />¿En una invocación que tiene evento de disparo “onAfterComplete”, es posible enviar atributos por parámetro?<br />¿No? <br />¿Si?<br />¿De cuáles niveles?<br /> Sí, del primer nivel<br />
  38. 38. Tema: Reglas en transacciones y eventos de disparo<br />Algunos errores comunes:<br />¿Es correcto asignar valores a atributos… <br />… OnAfterComplete?<br />… OnBeforeComplete?<br /> No, ya es tarde<br />
  39. 39. Tema: Aplicación del concepto de taba extendida<br />
  40. 40. Tema: Aplicación del concepto de tabla extendida<br />Actualización directa de la tabla extendida<br />En rules de transacciones<br />En Foreach<br />
  41. 41. Sitio de capacitaciónhttp://training.genexus.com<br />
  42. 42. ¡Muchas gracias!<br />A/S Maia Shuster<br />mshuster@genexus.com <br />

×