SlideShare una empresa de Scribd logo
1 de 34
Consejos para futuros instructores A/S Maia Shuster mshuster@artech.com.uy
Veremos… Aportes útiles para la hora de dictarsuscursos GeneXus Sugerencias Tips para enseñar fácil Errores más comunes que cometen los alumnos… y recomendaciones!
Diseño de transacciones
Diseño de transacciones Errores comunes: ,[object Object],(A1*  A2     (B1*      B2)
Diseño de transacciones Errores comunes: ,[object Object],(A1*  A2     (B1*      B2) (A1*  A2     (B1*      B2) B1* B2 +
Diseño de transacciones Errores comunes: ,[object Object]
 Se creantablasfísicas de más
 Se almacenandatosredundantes
Quedandefinidascomplejidadesinnecesarias,[object Object]
Alumnos que no tienen fijados ciertos conocimientos puntuales, que les serían de gran ayuda,[object Object]
Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #1 ProductId*ProductName ProviderId*ProviderName   (ProductId* ProductName) ProductId*ProductName   (ProviderId*     ProviderName) ProviderId*ProviderName ProductId*ProductName   (ProviderId*     ProviderName) ProviderId*ProviderName   (ProductId*     ProductName) ProductId*ProductName ProviderId*ProviderName ProviderId*ProductId*
Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #1 Tablas fisicasresultantes:
Diseño de transacciones Volviendo a esta duda de los alumnos…  ¿ Con solo definir esta trn, están modelando una relación M-N ? (A1*  A2     (B1*      B2)
Diseño de transacciones ENTERPRISE #2 2 ALTERNATIVAS DE DISEÑO DIFERENTES GENERAN TABLAS FÍSICAS DIFERENTES PROVIDER PRODUCT
Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #1: ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName CustomerId* CustomerName InvoiceId* InvoiceDate …. CustomerId CustomerName PROVIDER PRODUCT
Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #1: ProviderId* ProviderName ProductId ProductName ProductId* ProductName ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName PROVIDER PRODUCT PROVIDER PRODUCT
Diseño de transacciones ENTERPRISE #2 Nulls=Yes ALTERNATIVA #1: ALTERNATIVA #2: ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName  (ProductId* ProductName) PROVIDER PRODUCT
Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #2: ProviderId* ProviderName  (ProductId* ProductName) PROVIDER PRODUCT
Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #2 CUSTOMER INVOICE ¿ ALTERNATIVA #1 ? ¿ ALTERNATIVA #2 ? ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName  (ProductId* ProductName) CustomerId* CustomerName   (InvoiceId* InvoiceDate    ….) CustomerId* CustomerName InvoiceId* InvoiceDate …. CustomerId CustomerName ¿Cómo elegimos cuál?  Dependerá de la realidad a modelar…
Diseño de transacciones ENTERPRISE #2 CUSTOMER PHONE ¿ ALTERNATIVA #1 ? ¿ ALTERNATIVA #2 ? ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName  (ProductId* ProductName) CustomerId* CustomerName   (CustomerPhoneId* CustomerPhoneNumber) CustomerId* CustomerName PhoneId* PhoneNumber …. CustomerId CustomerName  PROVIDER PRODUCT
Diseño de transacciones ENTERPRISE #2 ¿ ALTERNATIVA #2 ? ¿ ALTERNATIVA #1 ? ProviderId* ProviderName  (ProductId* ProductName) ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName RELACIÓN 1-N “FUERTE”   o “RELACIONADO CON” RELACIÓN 1-N “DÉBIL”  O “PARTE DE”  PROVIDER PRODUCT
Diseño de transacciones Volviendo a esta duda de los alumnos… ¿ Cuál es la diferencia .. ? (A1*  A2     (B1*      B2) (A1*  A2     (B1*      B2) B1* B2 + A B B A 1-N “DÉBIL”
Diseño de transacciones Veamos un error más que cometen los alumnos… ,[object Object],Realidad a ser descripta:  Un médico en una fecha, solamente puede tener una consulta  Se le asigna un consultorio para atender Solución de alumno: DoctorId* DoctorName MedicalAppointmentDate* DoctorId* RoomId* DoctorName RoomDescription RoomFloor RoomId* RoomDescriptionRoomFloor
Diseño de transacciones Veamos un error común más… Para que alumno visualice su error de diseño  recomendamos esquematizarle  las tablas que se crean con datos
Diseño de transacciones A raíz de lo anterior, surge también explicar… ¿Claves primarias compuestas por conjunto  de atributos que determinan unicidad? ¿Claves primarias ficticias? MedicalAppointmentId * MedicalAppointmentDate DoctorId RoomId DoctorName RoomDescription RoomFloor MedicalAppointmentDate* DoctorId* RoomId DoctorName RoomDescription RoomFloor
Reglas en transaccionesy eventos de disparo
Reglas en transaccionesy eventos de disparo INTERACTIVAMENTE  REGLAS SIN EVENTO DE DISPARO REGLAS CON EVENTO DE DISPARO (ON …. )
Reglas en transaccionesy eventos de disparo Algunos errores comunes: ¿Hay atributos disponibles para pasar por parámetro en una invocación que tiene evento de disparo “onAfterComplete”? ¿No?  ¿Si? ¿De cuáles niveles?  Sí, del primer nivel
Reglas en transaccionesy eventos de disparo Algunos errores comunes: ¿Es correcto asignar valores a atributos…  … OnAfterComplete? … OnBeforeComplete?  No, ya es tarde..
Reglas en transaccionesy eventos de disparo Algunos errores comunes: Definiciones de reglas que involucran atributos del 2do nivel con eventos de disparo que no ocurren en dicho nivel
Aplicación del conceptode tabla extendida
Aplicación del conceptode tabla extendida Actualización directa de la tabla extendida En rules de transacciones En Foreach Foreach de más innecesarios Para navegar tablas que están disponibles en el contexto, por el concepto de tabla extendida
Acerca de enseñar fácil…
Sitio de capacitaciónhttp://training.genexus.com

Más contenido relacionado

Similar a 0007 consejo para_futuros_instructores_genexus

Consejos parafuturosinstructores mx-marzo2011
Consejos parafuturosinstructores mx-marzo2011Consejos parafuturosinstructores mx-marzo2011
Consejos parafuturosinstructores mx-marzo2011
GeneXus
 
Herramientas de Programación
Herramientas de ProgramaciónHerramientas de Programación
Herramientas de Programación
Jose Sanchez
 
Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...
Hernan Wilkinson
 
Clase 1 Itinerario
Clase 1 ItinerarioClase 1 Itinerario
Clase 1 Itinerario
vbalda
 
Si la gestión y desarrollo de requisitos es tan importante... ¿Por qué no la...
Si la gestión y desarrollo de requisitos es tan importante...  ¿Por qué no la...Si la gestión y desarrollo de requisitos es tan importante...  ¿Por qué no la...
Si la gestión y desarrollo de requisitos es tan importante... ¿Por qué no la...
Pepe
 
Planeación y QFD
Planeación y QFDPlaneación y QFD
Planeación y QFD
Raforeror
 
141 Gxplorer Proyectos Bi Factibles Montevideo Gx Xix V1
141 Gxplorer Proyectos Bi Factibles Montevideo Gx Xix V1141 Gxplorer Proyectos Bi Factibles Montevideo Gx Xix V1
141 Gxplorer Proyectos Bi Factibles Montevideo Gx Xix V1
GeneXus
 

Similar a 0007 consejo para_futuros_instructores_genexus (20)

Consejos parafuturosinstructores mx-marzo2011
Consejos parafuturosinstructores mx-marzo2011Consejos parafuturosinstructores mx-marzo2011
Consejos parafuturosinstructores mx-marzo2011
 
Herramientas de Programación
Herramientas de ProgramaciónHerramientas de Programación
Herramientas de Programación
 
Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...
 
Clase 1 Itinerario
Clase 1 ItinerarioClase 1 Itinerario
Clase 1 Itinerario
 
Meetup bdd & tdd: aprovecha_su_poder
Meetup bdd & tdd: aprovecha_su_poderMeetup bdd & tdd: aprovecha_su_poder
Meetup bdd & tdd: aprovecha_su_poder
 
Programación estructurada presentación
Programación estructurada presentaciónProgramación estructurada presentación
Programación estructurada presentación
 
Si la gestión y desarrollo de requisitos es tan importante... ¿Por qué no la...
Si la gestión y desarrollo de requisitos es tan importante...  ¿Por qué no la...Si la gestión y desarrollo de requisitos es tan importante...  ¿Por qué no la...
Si la gestión y desarrollo de requisitos es tan importante... ¿Por qué no la...
 
Valor ganado en un proyecto de desarrollo de software
Valor ganado en un proyecto de desarrollo de softwareValor ganado en un proyecto de desarrollo de software
Valor ganado en un proyecto de desarrollo de software
 
Planeación y QFD
Planeación y QFDPlaneación y QFD
Planeación y QFD
 
Principios de diseño de un prototipo oficial
Principios de diseño de un prototipo oficialPrincipios de diseño de un prototipo oficial
Principios de diseño de un prototipo oficial
 
Introducción al desarrollo guiado por pruebas
Introducción al desarrollo guiado por pruebasIntroducción al desarrollo guiado por pruebas
Introducción al desarrollo guiado por pruebas
 
Clase 23 - Presentacion.pptx
Clase 23 - Presentacion.pptxClase 23 - Presentacion.pptx
Clase 23 - Presentacion.pptx
 
Cas 2017 bdd-colaborando_de_verdad_con_negocio
Cas 2017 bdd-colaborando_de_verdad_con_negocioCas 2017 bdd-colaborando_de_verdad_con_negocio
Cas 2017 bdd-colaborando_de_verdad_con_negocio
 
Introducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentIntroducción a Behaviour Driven Development
Introducción a Behaviour Driven Development
 
141 Gxplorer Proyectos Bi Factibles Montevideo Gx Xix V1
141 Gxplorer Proyectos Bi Factibles Montevideo Gx Xix V1141 Gxplorer Proyectos Bi Factibles Montevideo Gx Xix V1
141 Gxplorer Proyectos Bi Factibles Montevideo Gx Xix V1
 
Estrategias Consolidadas para el Diseño
Estrategias Consolidadas para el DiseñoEstrategias Consolidadas para el Diseño
Estrategias Consolidadas para el Diseño
 
Presentacion Iii Congreso Santa Cruz3
Presentacion Iii Congreso Santa Cruz3Presentacion Iii Congreso Santa Cruz3
Presentacion Iii Congreso Santa Cruz3
 
conceptos-basicos-programacionES-ppt.ppt
conceptos-basicos-programacionES-ppt.pptconceptos-basicos-programacionES-ppt.ppt
conceptos-basicos-programacionES-ppt.ppt
 
Metodos y parametros UNAD
Metodos y parametros UNADMetodos y parametros UNAD
Metodos y parametros UNAD
 
Transaccion
TransaccionTransaccion
Transaccion
 

Más de GeneXus

Más de GeneXus (20)

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) Bots
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in Action
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuro
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y Plataformas
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivos
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industria
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 Students
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsive
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAP
 
Going mobile
Going mobileGoing mobile
Going mobile
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
 

0007 consejo para_futuros_instructores_genexus

  • 1. Consejos para futuros instructores A/S Maia Shuster mshuster@artech.com.uy
  • 2. Veremos… Aportes útiles para la hora de dictarsuscursos GeneXus Sugerencias Tips para enseñar fácil Errores más comunes que cometen los alumnos… y recomendaciones!
  • 4.
  • 5.
  • 6.
  • 9.
  • 10.
  • 11. Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #1 ProductId*ProductName ProviderId*ProviderName (ProductId* ProductName) ProductId*ProductName (ProviderId* ProviderName) ProviderId*ProviderName ProductId*ProductName (ProviderId* ProviderName) ProviderId*ProviderName (ProductId* ProductName) ProductId*ProductName ProviderId*ProviderName ProviderId*ProductId*
  • 12. Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #1 Tablas fisicasresultantes:
  • 13. Diseño de transacciones Volviendo a esta duda de los alumnos… ¿ Con solo definir esta trn, están modelando una relación M-N ? (A1* A2 (B1* B2)
  • 14. Diseño de transacciones ENTERPRISE #2 2 ALTERNATIVAS DE DISEÑO DIFERENTES GENERAN TABLAS FÍSICAS DIFERENTES PROVIDER PRODUCT
  • 15. Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #1: ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName CustomerId* CustomerName InvoiceId* InvoiceDate …. CustomerId CustomerName PROVIDER PRODUCT
  • 16. Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #1: ProviderId* ProviderName ProductId ProductName ProductId* ProductName ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName PROVIDER PRODUCT PROVIDER PRODUCT
  • 17. Diseño de transacciones ENTERPRISE #2 Nulls=Yes ALTERNATIVA #1: ALTERNATIVA #2: ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName (ProductId* ProductName) PROVIDER PRODUCT
  • 18. Diseño de transacciones ENTERPRISE #2 ALTERNATIVA #2: ProviderId* ProviderName (ProductId* ProductName) PROVIDER PRODUCT
  • 19. Diseño de transacciones PROVIDER PRODUCT ENTERPRISE #2 CUSTOMER INVOICE ¿ ALTERNATIVA #1 ? ¿ ALTERNATIVA #2 ? ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName (ProductId* ProductName) CustomerId* CustomerName (InvoiceId* InvoiceDate ….) CustomerId* CustomerName InvoiceId* InvoiceDate …. CustomerId CustomerName ¿Cómo elegimos cuál?  Dependerá de la realidad a modelar…
  • 20. Diseño de transacciones ENTERPRISE #2 CUSTOMER PHONE ¿ ALTERNATIVA #1 ? ¿ ALTERNATIVA #2 ? ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName ProviderId* ProviderName (ProductId* ProductName) CustomerId* CustomerName (CustomerPhoneId* CustomerPhoneNumber) CustomerId* CustomerName PhoneId* PhoneNumber …. CustomerId CustomerName  PROVIDER PRODUCT
  • 21. Diseño de transacciones ENTERPRISE #2 ¿ ALTERNATIVA #2 ? ¿ ALTERNATIVA #1 ? ProviderId* ProviderName (ProductId* ProductName) ProviderId* ProviderName ProductId* ProductName ProviderId ProviderName RELACIÓN 1-N “FUERTE” o “RELACIONADO CON” RELACIÓN 1-N “DÉBIL” O “PARTE DE” PROVIDER PRODUCT
  • 22. Diseño de transacciones Volviendo a esta duda de los alumnos… ¿ Cuál es la diferencia .. ? (A1* A2 (B1* B2) (A1* A2 (B1* B2) B1* B2 + A B B A 1-N “DÉBIL”
  • 23.
  • 24. Diseño de transacciones Veamos un error común más… Para que alumno visualice su error de diseño  recomendamos esquematizarle las tablas que se crean con datos
  • 25. Diseño de transacciones A raíz de lo anterior, surge también explicar… ¿Claves primarias compuestas por conjunto de atributos que determinan unicidad? ¿Claves primarias ficticias? MedicalAppointmentId * MedicalAppointmentDate DoctorId RoomId DoctorName RoomDescription RoomFloor MedicalAppointmentDate* DoctorId* RoomId DoctorName RoomDescription RoomFloor
  • 26. Reglas en transaccionesy eventos de disparo
  • 27. Reglas en transaccionesy eventos de disparo INTERACTIVAMENTE REGLAS SIN EVENTO DE DISPARO REGLAS CON EVENTO DE DISPARO (ON …. )
  • 28. Reglas en transaccionesy eventos de disparo Algunos errores comunes: ¿Hay atributos disponibles para pasar por parámetro en una invocación que tiene evento de disparo “onAfterComplete”? ¿No? ¿Si? ¿De cuáles niveles?  Sí, del primer nivel
  • 29. Reglas en transaccionesy eventos de disparo Algunos errores comunes: ¿Es correcto asignar valores a atributos… … OnAfterComplete? … OnBeforeComplete?  No, ya es tarde..
  • 30. Reglas en transaccionesy eventos de disparo Algunos errores comunes: Definiciones de reglas que involucran atributos del 2do nivel con eventos de disparo que no ocurren en dicho nivel
  • 31. Aplicación del conceptode tabla extendida
  • 32. Aplicación del conceptode tabla extendida Actualización directa de la tabla extendida En rules de transacciones En Foreach Foreach de más innecesarios Para navegar tablas que están disponibles en el contexto, por el concepto de tabla extendida
  • 33. Acerca de enseñar fácil…
  • 36. ¡Muchas gracias! A/S Maia Shuster mshuster@artech.com.uy

Notas del editor

  1. Hemos visto entonces 2 alternativas de diseño para representar una relación 1-N entre 2 actores de la realidad. ¿Cómo elegimos cuál diseñar?¡Eso dependerá de la realidad a modelar!Por ejemplo, como sabemos y hemos mencionado, entre los actores de la realidad: clientes y facturas la relación es 1-N puesto que 1 cliente tiene N facturas y 1 factura es de 1 cliente…… y para diseñar esa realidad jamás se nos ocurriría hacer un diseño 1-N del 2do estilo que vimos… es decir: en el 1er nivel Customers y en el 2do nivel Invoices….porque una factura debe poder identificarse y poder ubicarse con tan solo su nro de factura.Las facturas tienen existencia propia por si mismas, sus nros son irrepetibles, y con solo tener el nro de una factura, ya debo poder ubicarla. Entonces para la relación 1-N que hay entre los actores de la realidad: clientes y facturas, no hay duda alguna de que elegiríamos la 1er alternativa de diseño propuesta. Es decir, la que establece la relación entre Customer e Invoice mediante la clave foránea CustomerId en Invoice.