consejos parafuturosinstructores mx-marzo2011

38
Consejos para futuros instructores A/S Maia Shuster [email protected]

Upload: genexus

Post on 12-Aug-2015

327 views

Category:

Sports


0 download

TRANSCRIPT

Page 1: Consejos parafuturosinstructores mx-marzo2011

Consejos para futuros

instructoresA/S Maia Shuster

[email protected]

Page 2: Consejos parafuturosinstructores mx-marzo2011

Veremos…

Aportes útiles para la hora de dictar sus cursos GeneXus

Tips para enseñar fácil

Errores más comunes que cometen los alumnos… y recomendaciones!

Sugerencias

Page 3: Consejos parafuturosinstructores mx-marzo2011

Acerca de enseñar fácil…

Page 4: Consejos parafuturosinstructores mx-marzo2011

Enseñar fácil = un arte

Explicar ordenadamente

Cuidado con la velocidad

Usar palabras fáciles

Describir qué se va a mostrar, antes de resolverlo

Mostrar paso a paso..

Page 5: Consejos parafuturosinstructores mx-marzo2011

Enseñar fácil = un arte

Emplear términos adecuados…

Page 6: Consejos parafuturosinstructores mx-marzo2011

Errores y dudas más comunes…

Page 7: Consejos parafuturosinstructores mx-marzo2011

Tema: Diseño de transacciones

Page 8: Consejos parafuturosinstructores mx-marzo2011

Errores comunes:

• Alumnos que no terminan de entender diferencia:

(A1* A2 (B1* B2)

(A1* A2 (B1* B2)

+

B1*B2

Tema: Diseño de transacciones

Page 9: Consejos parafuturosinstructores mx-marzo2011

Errores comunes:

• Alumnos que definen transacciones de más:

Se crean tablas físicas de más

Se almacenan datos redundantes

Quedan definidas complejidades innecesarias

Tema: Diseño de transacciones

Page 10: Consejos parafuturosinstructores mx-marzo2011

Errores comunes:

• Alumnos que definen componentes de más en las claves

• Alumnos que no tienen fijados ciertos conocimientos puntuales, que les serían de gran ayuda

Tema: Diseño de transacciones

Page 11: Consejos parafuturosinstructores mx-marzo2011

Propuesta para enseñar fácil este tema:

ENTERPRISE #1 ENTERPRISE #2

PROVIDER PRODUCTPROVIDER PRODUCT

Tema: Diseño de transacciones

Page 12: Consejos parafuturosinstructores mx-marzo2011

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*

Tema: Diseño de transacciones

Page 13: Consejos parafuturosinstructores mx-marzo2011

PROVIDER PRODUCT

ENTERPRISE #1

TABLAS FISICAS RESULTANTES:ProductId* ProductName

ProviderId* ProviderName

ProviderId* ProductId*

Tema: Diseño de transacciones

Page 14: Consejos parafuturosinstructores mx-marzo2011

ENTERPRISE #2

PROVIDER PRODUCT

2 ALTERNATIVAS DE DISEÑO DIFERENTES

GENERAN TABLAS FÍSICAS DIFERENTES

Tema: Diseño de transacciones

Page 15: Consejos parafuturosinstructores mx-marzo2011

ProviderId*ProviderName

ProductId*ProductNameProviderIdProviderName

ALTERNATIVA #1:

CustomerId*CustomerName

InvoiceId*InvoiceDate….CustomerIdCustomerName

ENTERPRISE #2

PROVIDER PRODUCT

Tema: Diseño de transacciones

Page 16: Consejos parafuturosinstructores mx-marzo2011

ProviderId*ProviderName

ProductId*ProductNameProviderIdProviderName

ALTERNATIVA #1:

ProviderId*ProviderNameProductIdProductName

ProductId*ProductName

PROVIDER PRODUCT

ENTERPRISE #2

PROVIDER PRODUCT

Tema: Diseño de transacciones

Page 17: Consejos parafuturosinstructores mx-marzo2011

ProviderId*ProviderName (ProductId* ProductName)

ALTERNATIVA #2:

ProviderId*ProviderName

ProductId*ProductNameProviderIdProviderName

ProviderId* ProviderName

ProviderId* ProductId* ProductName

ProviderId* ProviderName

ProductId* ProductName ProviderId

ALTERNATIVA #1:

Prop. Nullable = YesENTERPRISE #2

PROVIDER PRODUCT

Tema: Diseño de transacciones

Page 18: Consejos parafuturosinstructores mx-marzo2011

ENTERPRISE #2

ProviderId*ProviderName (ProductId* ProductName)

ALTERNATIVA #2:

ProviderId* ProviderName

1 Peter Smith

2 Susan Brown

ProviderId* ProductId* ProductName

1 1 Coke Zero

1 2 …

2 1 Budweiser Beer

2 2 …

PROVIDER PRODUCT

Tema: Diseño de transacciones

Page 19: Consejos parafuturosinstructores mx-marzo2011

PROVIDER PRODUCT

ProviderId*ProviderName (ProductId* ProductName)

¿ ALTERNATIVA #2 ?

ProviderId*ProviderName

ProductId*ProductNameProviderIdProviderName

¿ ALTERNATIVA #1 ?

¿Cómo elegimos cuál?

Dependerá de la realidad a modelar…

CustomerId*CustomerName (InvoiceId* InvoiceDate ….)

CustomerId*CustomerName

InvoiceId*InvoiceDate….CustomerIdCustomerName

CUSTOMER INVOICEENTERPRISE #2

Tema: Diseño de transacciones

Page 20: Consejos parafuturosinstructores mx-marzo2011

PROVIDER PRODUCT

ProviderId*ProviderName (ProductId* ProductName)

¿ ALTERNATIVA #2 ?

ProviderId*ProviderName

ProductId*ProductNameProviderIdProviderName

¿ ALTERNATIVA #1 ?

CustomerId*CustomerName (CustomerPhoneId* CustomerPhoneNumber)

CustomerId*CustomerName

PhoneId*PhoneNumber….CustomerIdCustomerName

CUSTOMER PHONEENTERPRISE #2

Tema: Diseño de transacciones

Page 21: Consejos parafuturosinstructores mx-marzo2011

PROVIDER PRODUCT

ProviderId*ProviderName (ProductId* ProductName)

ProviderId*ProviderName

ProductId*ProductNameProviderIdProviderName

RELACIÓN 1-N “FUERTE” o

“RELACIONADO CON”

RELACIÓN 1-N “DÉBIL” O

“PARTE DE”

¿ ALTERNATIVA #2 ?¿ ALTERNATIVA #1 ?

ENTERPRISE #2

Tema: Diseño de transacciones

Page 22: Consejos parafuturosinstructores mx-marzo2011

Volviendo a esta duda de los alumnos…

¿ Cuál es la diferencia .. ?

(A1* A2 (B1* B2)

(A1* A2 (B1* B2)

+

B1*B2

A B

1-N “DÉBIL”

A B

Tema: Diseño de transacciones

Page 23: Consejos parafuturosinstructores mx-marzo2011

Veamos un error más que cometen los alumnos…

Realidad a ser descripta: Un médico en una fecha, solamente puede tener una consulta Se le asigna un consultorio para atender

DoctorId*DoctorName

MedicalAppointmentDate*DoctorId*RoomId*DoctorNameRoomDescriptionRoomFloor

RoomId*RoomDescriptionRoomFloor

Solución de alumno:

• Definen claves primarias con componentes de más…

Tema: Diseño de transacciones

Page 24: Consejos parafuturosinstructores mx-marzo2011

MedicalAppointmentDate* DoctorId* RoomId*

10/10/2010 1 1

10/10/2010 1 2

10/10/2010 1 3

Para que alumno visualice su error de diseño

DoctorId* DoctorName

1 Jack Miller2 John Brown

RoomId* RoomDescription RoomFloor

1 … 1

2 … 1

3 … 2

esquematizarle las tablas que se crean + datos de prueba

Tema: Diseño de transacciones

Page 25: Consejos parafuturosinstructores mx-marzo2011

A raíz de lo anterior, surge también explicar…

¿Claves primarias compuestas por conjunto de atributos que determinan unicidad? ¿Claves primarias ficticias?

MedicalAppointmentDate*DoctorId*RoomIdDoctorNameRoomDescriptionRoomFloor

MedicalAppointmentId *MedicalAppointmentDateDoctorIdRoomIdDoctorNameRoomDescriptionRoomFloor

Tema: Diseño de transacciones

Page 26: Consejos parafuturosinstructores mx-marzo2011

Tema: Subtipos

Page 27: Consejos parafuturosinstructores mx-marzo2011

• Asusta..

Tema: Subtipos

• Tiene fama de complejo..

• Sin embargo..

¡ Los subtipos permiten representar en GeneXus casos que se dan en la realidad !

nada en GeneXus es complejo

Page 28: Consejos parafuturosinstructores mx-marzo2011

Ejemplo + Explicación fácil :

Tema: Subtipos

PurchaseOrderId*PurchaseOrderDateProviderIdProviderName (ProductId* ProductName ProductPrice ProviderId ProviderName PurchaseOrderLineQuantity)

ProviderId*ProviderName

ProductId*ProductNameProductPriceProviderIdProviderName

Page 29: Consejos parafuturosinstructores mx-marzo2011

Ejemplo + Explicación fácil :

Tema: Subtipos

PurchaseOrderId*PurchaseOrderDateProviderIdProviderName (ProductId* ProductName ProductPrice PurchasOrderLineProviderId PurchasOrderLineProviderName PurchaseOrderLineQuantity)

ProviderId*ProviderName

ProductId*ProductNameProductPriceProviderIdProviderName

¿Solución adecuada?

No

Page 30: Consejos parafuturosinstructores mx-marzo2011

Ejemplo + Explicación fácil :

Tema: Subtipos

PurchaseOrderId*PurchaseOrderDatePurchasOrderProviderIdPurchaseOrderProviderName (ProductId* ProductName ProductPrice ProviderId ProviderName PurchaseOrderLineQuantity)

ProviderId*ProviderName

ProductId*ProductNameProductPriceProviderIdProviderName

Solución

Page 31: Consejos parafuturosinstructores mx-marzo2011

Tema: Reglas en transacciones

y eventos de disparo

Page 32: Consejos parafuturosinstructores mx-marzo2011

REGLAS CON EVENTO DE DISPARO (ON …. )

REGLAS SIN EVENTO DE DISPARO

INTERACTIVAMENTE

Tema: Reglas en transacciones y eventos de disparo

Page 33: Consejos parafuturosinstructores mx-marzo2011

Algunos errores comunes:

¿En una invocación que tiene evento de disparo “on AfterComplete”, es posible enviar atributos por parámetro?

¿No? ¿Si?¿De cuáles niveles?

Sí, del primer nivel

Tema: Reglas en transacciones y eventos de disparo

Page 34: Consejos parafuturosinstructores mx-marzo2011

¿Es correcto asignar valores a atributos… … On AfterComplete?… On BeforeComplete?

Algunos errores comunes:

Tema: Reglas en transacciones y eventos de disparo

No, ya es tarde

Page 35: Consejos parafuturosinstructores mx-marzo2011

Tema: Aplicación del concepto de taba extendida

Page 36: Consejos parafuturosinstructores mx-marzo2011

Actualización directa de la tabla extendida

En rules de transaccionesEn For each

Tema: Aplicación del concepto de tabla extendida

Page 37: Consejos parafuturosinstructores mx-marzo2011

Sitio de capacitaciónhttp://training.genexus.com

Page 38: Consejos parafuturosinstructores mx-marzo2011

¡Muchas gracias!

A/S Maia [email protected]