Incluindo elementos de chave estrangeira em uma tabela padrão

Um relacionamento de chave estrangeira é um relacionamento entre uma coluna estendida em qualquer tabela de banco de dados de aplicativo e a tabela YFS_PERSON_INFO. É possível criar elementos de chave estrangeira para estabelecer relacionamento ente uma coluna estendida e a tabela YFS_PERSON_INFO.

Sobre esta tarefa

Nota: atualmente, o YFS_PERSON_INFO é a única tabela que suporta um relacionamento com extensões de chave estrangeira no banco de dados do aplicativo.

Procedimento

  1. Copie o arquivo <runtime_sandbox>/repository/entity/extensions/Extensions.xml.sample como <install_dirruntime_sandbox>/extensions/global/entities/your_custom_filename.xml ou modifique seu arquivo XML de extensão existente.
  2. Editar o arquivo your_custom_filename.xml para incluir elementos de chave estrangeira conforme mostrado no exemplo a seguir para cada tabela que você deseja estender. Para uma descrição dos atributos XML, consulte a tabela após o exemplo.
    <!-- 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

    Descrição

    Entidade

    TableName

    Nome da tabela para a qual os elementos de chave estrangeira são incluídos. Por exemplo, YFS_ITEM..

    Entity/ForeignKeys/ForeignKey

    ParentTableName

    O nome da tabela-pai para esse elemento de chave estrangeira.

    Nota: Esse valor deve ser YFS_PERSON_INFO, que é a única tabela que atualmente suporta relacionamentos de chave estrangeira..

    XMLName

    É possível especificar a representação XML do nome do elemento. Ela deve começar com o prefixo da entidade-pai. Por exemplo, se ParentTableName for prefixado com YFS, então o XMlName deve começar com YFS.

    Por padrão, o nome da tabela-pai é assumido.

    Entity/ForeignKeys/ForeignKey/Attribute

    ColumnName

    Especifica o nome de coluna estendido da Entidade.

    ParentColumnName

    O nome da coluna da YFS_PERSON_INFO que possui uma relacionamento de elemento de chave estrangeira.

  3. Crie uma tag ForeignKey para cada relacionamento de chave estrangeira que você deseja incluir
  4. Diversos elementos de chave estrangeira podem ser relacionados à mesma tabela-pai.
  5. Estenda os modelos de API correspondentes para incluir os elementos de chave estrangeira seguindo as instruções em Estendendo Modelos de API.
  6. Construa e implemente as suas extensões.