Transformar Claves Foráneas [Guía de Usuario de Enterprise Architect]

Top Previous Next

Transformar Claves Foráneas

button_main button_prev button_next

Clave Foránea es un caso especial donde no sólo un conector es creado - también debería listar las columnas involucradas en la transformación. Aparte, las etiquetas especificadas en el conector son realmente creados en la operación de clave foránea en la Clase fuente, y puede agregar un propiedad de cascada:

 

cascade="update","delete"

Ejemplo

Este ejemplo es desde la plantilla de Conector de transformación DDL. Para la plantilla:

 

ForeignKey

{

%TRANSFORM_REFERENCE("FK1",connectorGUID)%

Source

{

%TRANSFORM_REFERENCE("LinkTable",connectorGUID)%

name=%qt%%connectorDestElemName%%qt%

Column

{

name=%qt%%CONVERT_NAME(connectorDestElemName, "Pascal Case","Camel Case")%ID%qt%

type=%qt%%CONVERT_TYPE(genOptDefaultDatabase,"Integer")%%qt%

}

}

Target

{

%TRANSFORM_REFERENCE("Table",connectorDestElemGUID)%

Column

{

name=%qt%%CONVERT_NAME(connectorDestElemName, "Pascal Case","Camel Case")%ID%qt%

type=%qt%%CONVERT_TYPE(genOptDefaultDatabase,"Integer")%%qt%

}

}

}

 

 

This code is generated for a Foreign Key:

 

ForeignKey

{

XRef{namespace="DDL" name="FK1" source="{18ED24EA-0669-499c-A066-FABEE6772ED1}"}

Source

{

XRef{namespace="DDL" name="Table" source="{CC6A084C-9B56-4a1e-8196-C66A74E59B66}"}

name="FK_account"

multiplicity="0..*"

Column

{

name="account"

type="INTEGER"

}

}

Target

{

XRef{namespace="DDL" name="Table" source="{791AEAB5-7831-4d2a-92C7-198C10B31AF0}"}

multiplicity="1"

Column

{

name="accountID"

type="INTEGER"

}

}

}