Adición de elementos de clave foránea a una tabla predeterminada

Una relación de clave foránea es una relación entre una columna ampliada en cualquier tabla de la base de datos de la aplicación y la tabla YFS_PERSON_INFO. Puede crear elementos de clave foránea para establecer la relación entre una columna ampliada y la tabla YFS_PERSON_INFO.

Acerca de esta tarea

Nota: Actualmente, YFS_PERSON_INFO es la única tabla que soporta una relación con extensiones de clave foránea dentro de la base de datos de la aplicación.

Procedimiento

  1. Copie el archivo <runtime_sandbox>/repository/entity/extensions/Extensions.xml.sample como archivo <install_dirruntime_sandbox>/extensions/global/entities/your_custom_filename.xml O modifique el archivo XML de extensión existente.
  2. Edite el archivo your_custom_filename.xml para añadir elementos de clave foránea tal como se muestra en el ejemplo siguiente para cada tabla que desee ampliar. Para obtener una descripción de los atributos XML, consulte la tabla que sigue al ejemplo.
    <!-- element exposed to create foreign key relationship --> 
    <DBSchema>
     <Entities>
        <Entity TableName="REQUIRED">
         .
         .
          <!-- element exposed to create relationship with PERSON_INFO table -->
             <ForeignKeys>
               <ForeignKey ParentTableName="YFS_PERSON_INFO" 
                 XMLName="YFSName1" >
                   <Attribute ColumnName="REQUIRED" 
                    ParentColumnName="PERSON_INFO_KEY" />
                 </ForeignKey>
               <ForeignKey ParentTableName="YFS_PERSON_INFO" 
                 XMLName="YFSName2" >
                   <Attribute ColumnName="REQUIRED" 
                    ParentColumnName="PERSON_INFO_KEY" />
               </ForeignKey>
               .
               .
             </ForeignKeys>
           .
           .
        </Entity>
       </Entities>
    </DBSchema>

    Atributo

    Descripción

    Entidad

    TableName

    Nombre de la tabla a la que se añaden los elementos de clave foránea. Por ejemplo, YFS_ITEM.

    Entity/ForeignKeys/ForeignKey

    ParentTableName

    Nombre de la tabla padre de este elemento de clave foránea.

    Nota: Este valor debe ser YFS_PERSON_INFO, que es la única tabla que soporta actualmente las relaciones de claves foráneas.

    XMLName

    Puede especificar la representación XML del nombre de elemento. Debe empezar por el prefijo de la entidad padre. Por ejemplo, si el prefijo de ParentTableName es YFS, entonces el XMLName debe empezar por YFS.

    De forma predeterminada, se da por sentado que es el nombre de la tabla padre.

    Entity/ForeignKeys/ForeignKey/Attribute

    ColumnName

    Especifica el nombre de columna ampliada de la entidad.

    ParentColumnName

    El nombre de columna de la tabla YFS_PERSON_INFO que tiene una relación de elemento de clave foránea.

  3. Cree una etiqueta ForeignKey para cada relación de clave foránea que desee añadir.
  4. Puede que varios elementos de clave foránea estén relacionados con la misma tabla padre.
  5. Amplíe las plantillas de API correspondientes para incluir los elementos de clave foránea siguiendo las instrucciones de Ampliación de plantillas de API.
  6. Compile y despliegue las ampliaciones.