

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Regra de análise da tabela de mapeamento de ID
<a name="analysis-rules-id-mapping-table"></a>

Em AWS Clean Rooms, uma *regra de análise de tabela de mapeamento de ID* não é uma regra de análise independente. Esse tipo de regra de análise é gerenciado AWS Clean Rooms e usado para unir dados de identidade diferentes para facilitar a consulta. A regra é adicionada automaticamente às tabelas de mapeamento de ID e não pode ser editada. Ela herda os comportamentos das outras regras de análise na colaboração, desde que essas regras de análise sejam homogêneas.

A regra de análise da tabela de mapeamento de ID reforça a segurança em uma tabela de mapeamento de ID. Usando a tabela de mapeamento de ID, ela impede que um membro da colaboração selecione ou inspecione diretamente a população sem sobreposição entre os conjuntos de dados dos dois membros. A regra de análise da tabela de mapeamento de ID é usada para proteger os dados confidenciais na tabela de mapeamento de ID quando usada implicitamente em consultas com outras regras de análise.

Com a regra de análise da tabela de mapeamento de ID, AWS Clean Rooms impõe uma sobreposição em ambos os lados da tabela de mapeamento de ID no SQL expandido. Isso permite executar as seguintes tarefas: 
+ Usar a sobreposição da tabela de mapeamento de ID em declarações JOIN.

  AWS Clean Rooms permite uma RIGHT junção INNERLEFT,, ou na tabela de mapeamento de ID se ela respeitar a sobreposição. Para proteger informações confidenciais de mapeamento, a tabela de mapeamento de ID deve estar sempre no lado inner "" de qualquer JOIN operação. Por exemplo, as seguintes JOIN operações são válidas:
  + table LEFT JOIN id\_mapping\_table
  + id\_mapping\_table RIGHT JOIN table
  + table INNER JOIN id\_mapping\_table

  As seguintes JOIN operações são inválidas:
  + id\_mapping\_table LEFT JOIN table
  + table RIGHT JOIN id\_mapping\_table

  Isso evita a exposição de registros de mapeamento que não têm correspondências correspondentes em seu conjunto de dados. Permitir tais operações poderia revelar informações confidenciais sobre os mapeamentos de dados de outros membros da colaboração.
+ Usar as colunas da tabela de mapeamento em declarações JOIN. 

  Não é possível usar as colunas da tabela de mapeamento nas seguintes declarações: SELECT, WHERE, HAVING, GROUP BY ou ORDER BY (a menos que as proteções sejam modificadas na associação de namespace de ID de origem ou na associação de namespace de ID de destino).
+ No SQL expandido, AWS Clean Rooms também oferece suporte OUTERJOIN, implícito JOIN e CROSSJOIN. Essas junções não podem atender aos requisitos de sobreposição. Em vez disso, AWS Clean Rooms usa `requireOverlap` para especificar em quais colunas devem ser unidas.

A estrutura e a sintaxe de consulta aceitas são definidas em [Estrutura e sintaxe da consulta da tabela de mapeamento de ID](#id-mapping-table-query-controls).

Os parâmetros da regra de análise, definidos em [Controles de consulta de regras de análise da tabela de mapeamento de ID](#parameters-id-mapping-query-controls), incluem controles de consulta e controles de resultados de consulta. Seus controles de consulta incluem a capacidade de exigir a sobreposição da tabela de mapeamento de ID nas declarações JOIN (ou seja, `requireOverlap`).

**Topics**
+ [Estrutura e sintaxe da consulta da tabela de mapeamento de ID](#id-mapping-table-query-controls)
+ [Controles de consulta de regras de análise da tabela de mapeamento de ID](#parameters-id-mapping-query-controls)
+ [Estrutura predefinida da regra de análise da tabela de mapeamento de ID](#id-mapping-table-predefined-structure)
+ [Regra de análise da tabela de mapeamento de ID: exemplo](#id-mapping-table-example)

## Estrutura e sintaxe da consulta da tabela de mapeamento de ID
<a name="id-mapping-table-query-controls"></a>

As consultas em tabelas que têm uma regra de análise da tabela de mapeamento de ID devem seguir a sintaxe abaixo.

```
--{{select_list_expression}}
SELECT 
provider.data_col, consumer.data_col 

--{{table_expression}}
FROM provider

JOIN idMappingTable idmt ON provider.id = idmt.sourceId

JOIN consumer ON consumer.id = idmt.targetId
```

### Tabelas de colaboração
<a name="collab-table-structure"></a>

As tabelas a seguir representam tabelas configuradas que existem em uma AWS Clean Rooms colaboração. A coluna **id** nas tabelas **cr\_drivers\_license** e **cr\_insurance** representa uma coluna que corresponde à tabela de mapeamento de ID.

**cr\_drivers\_license**


|  |  |  | 
| --- |--- |--- |
| id | nome\_do\_motorista | estado\_de\_registro | 
| 1 | Eduard | TX | 
| 2 | Dana | MA | 
| 3 | Gweneth | IL | 

**cr\_insurance**


|  |  |  | 
| --- |--- |--- |
| id | e-mail do tomador da apólice | número\_do\_apólice | 
| a | eduardo@internal.company.com | 17f9d04e-f5be-4426-bdc4-250ed59c6529 | 
| b | gwen@internal.company.com | 3f0092db-2316-48a8-8d44-09cf8f6e6c64 | 
| c | rosa@internal.company.com | d7692e84-3d3c-47b8-b46d-a0d5345f0601 | 

### Tabela de mapeamento de ID
<a name="id-mapping-table-structure"></a>

A tabela a seguir representa uma tabela de mapeamento de ID existente que corresponde às tabelas **cr\_drivers\_license** e **cr\_insurance**. Nem todas as entradas serão válidas IDs para ambas as tabelas de colaboração.


|  |  | 
| --- |--- |
| cr\_drivers\_license\_id | ID do seguro do carro | 
| 1 | a | 
| 2 | nulo | 
| 3 | b | 
| nulo | c | 

A regra de análise da tabela de mapeamento de ID só permite que as consultas sejam realizadas no conjunto de dados sobrepostos, que teria a seguinte aparência:


|  |  |  |  |  |  | 
| --- |--- |--- |--- |--- |--- |
| cr\_drivers\_license\_id | ID do seguro do carro | nome\_do\_motorista | estado\_de\_registro | e-mail do tomador da apólice | número\_do\_apólice | 
| 1 | a | Eduard | TX | eduardo@internal.company.com | 17f9d04e-f5be-4426-bdc4-250ed59c6529 | 
| 3 | b | Gweneth | IL | gwen@internal.company.com | 3f0092db-2316-48a8-8d44-09cf8f6e6c64 | 

### Consultas de exemplo
<a name="id-mapping-table-example-queries"></a>

Os seguintes exemplos mostram locais válidos para as junções da tabela de mapeamento de ID:

```
-- Single ID mapping table
SELECT
    [ select_items ]FROM
    cr_drivers_license cr_dl
    [ INNER | LEFT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id
    [ INNER | RIGHT ] JOIN cr_insurance cr_in            ON idmt.cr_insurance_id       = cr_in.id
;
-- Single ID mapping table (Subquery)
SELECT
    [ select_items ]FROM (
    SELECT
        [ select_items ]
    FROM
        cr_drivers_license cr_dl
        [ INNER | LEFT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id
        [ INNER | RIGHT ] JOIN cr_insurance cr_in            ON idmt.cr_insurance_id       = cr_in.id
)
;
-- Single ID mapping table (CTE)
WITH
    matched_ids AS (
        SELECT
            [ select_items ]
        FROM
            cr_drivers_license cr_dl
            [ INNER | LEFT ] JOIN cr_identity_mapping_table idmt ON idmt.cr_drivers_license_id = cr_dl.id
            [ INNER | RIGHT ] JOIN cr_insurance cr_in            ON idmt.cr_insurance_id       = cr_in.id
    )SELECT
    [ select_items ]FROM
    matched_ids
;
```

### Considerações
<a name="id-mapping-table-considerations"></a>

Em relação à estrutura e à sintaxe de consultas da tabela de mapeamento de ID, lembre-se de que:
+ Não é possível editá-las.
+ Elas são aplicadas à tabela de mapeamento de ID por padrão.
+ Elas usam uma associação de namespace de ID de origem e de destino na colaboração. 
+ A tabela de mapeamento de ID é configurada por padrão para fornecer proteções padrão para a coluna que se origina do namepsace de ID. É possível modificar essa configuração para que a coluna que se origina do namespace de ID (`sourceID` ou `targetID`) seja permitida em qualquer lugar na consulta. Para obter mais informações, consulte [Namespaces de ID em AWS Clean Rooms](working-with-id-namespaces.md).
+ A regra de análise da tabela de mapeamento de ID herda as restrições SQL das outras regras de análise na colaboração.

## Controles de consulta de regras de análise da tabela de mapeamento de ID
<a name="parameters-id-mapping-query-controls"></a>

Com os controles de consulta da tabela de mapeamento de ID, AWS Clean Rooms controla como as colunas em sua tabela são usadas para consultar a tabela. Por exemplo, ele controla quais colunas são usadas para unir e quais colunas precisam de sobreposição. A regra de análise da tabela de mapeamento de ID também inclui um recurso que possibilite que o `sourceID`, o `targetID` ou ambos sejam projetados sem exigir JOIN. 

A tabela a seguir explica cada controle.


| Controle | Definição | Usage | 
| --- | --- | --- | 
| joinColumns | As colunas que o membro que pode consultar pode usar na declaração INNER JOIN. | Não é possível usar joinColumns em nenhuma outra parte da consulta além de INNER JOIN.Para obter mais informações, consulte [Controles de junção](analysis-rules-aggregation.md#join-controls). | 
| dimensionColumns  | As colunas (se houver) que o membro que pode consultar pode usar nas declarações SELECT e GROUP BY.  | A `dimensionColumn` pode ser usada em SELECT e em GROUP BY.<br />A `dimensionColumn` pode ser exibida como `joinKeys`. <br />Você só poderá usar `dimensionColumns` na cláusula JOIN se especificá-la entre colchetes. | 
| queryContraints:RequireOverlap | As colunas na tabela de mapeamento de ID que devem ser unidas para que a consulta possa ser realizada. | Essas colunas devem ser usadas para unir (JOIN) a tabela de mapeamento de ID e uma tabela de colaboração. | 

## Estrutura predefinida da regra de análise da tabela de mapeamento de ID
<a name="id-mapping-table-predefined-structure"></a>

A estrutura predefinida de uma regra de análise da tabela de mapeamento de ID vem com proteções padrão que são aplicadas ao `sourceID` e ao `targetID`. Isso significa que a coluna com proteções aplicadas deve ser usada em consultas.

É possível configurar a regra de análise da tabela de mapeamento de ID das seguintes maneiras:
+ O `sourceID` e o `targetID` protegidos

  Nessa configuração, o `sourceID` e o `targetID` não podem ser projetados. O `sourceID` e `targetID` devem ser usados em uma JOIN quando a tabela de mapeamento de ID é referida.
+ Somente o `targetID` protegido

  Nessa configuração, o `targetID` não pode ser projetado. O `targetID` deve ser usado em uma JOIN quando a tabela de mapeamento de ID é referida. O `sourceID` pode ser usado na consulta.
+ Somente o `sourceID` protegido

  Nessa configuração, o `sourceID` não pode ser projetado. O `sourceID` deve ser usado em uma JOIN quando a tabela de mapeamento de ID é referida. O `targetID` pode ser usado na consulta.
+ Nem o `sourceID` nem o `targetID` protegidos

  Nessa configuração, a tabela de mapeamento de ID não está sujeita a nenhuma imposição específica que possa ser usada na consulta.

O exemplo a seguir mostra uma estrutura predefinida para uma regra de análise da tabela de mapeamento de ID com as proteções padrão aplicadas ao `sourceID` e ao `targetID`. Neste exemplo, a regra de análise da tabela de mapeamento de ID só permite uma INNER JOIN nas colunas `sourceID` e `targetID`. 

```
{
  "joinColumns": [
    "source_id",
    "target_id"
  ],
  "queryConstraints": [
    {
      "requireOverlap": {
        "columns": [
          "source_id",
          "target_id"
        ]
      }
    }
  ],
  "dimensionColumns": [] // columns that can be used in SELECT and JOIN
}
```

O exemplo a seguir mostra uma estrutura predefinida para uma regra de análise da tabela de mapeamento de ID com as proteções padrão aplicadas ao `targetID`. Neste exemplo, a regra de análise da tabela de mapeamento de ID só permite uma INNER JOIN na coluna `sourceID`. 

```
{
  "joinColumns": [
    "source_id",
    "target_id"
  ],
  "queryConstraints": [
    {
      "requireOverlap": {
        "columns": [
          "target_id"
        ]
      }
    }
  ],
  "dimensionColumns": [
    "source_id"
  ]
}
```

O exemplo a seguir mostra uma estrutura predefinida para uma regra de análise da tabela de mapeamento de ID com as proteções padrão aplicadas ao `sourceID`. Neste exemplo, a regra de análise da tabela de mapeamento de ID só permite uma INNER JOIN na coluna `targetID`. 

```
{
  "joinColumns": [
    "source_id",
    "target_id"
  ],
  "queryConstraints": [
    {
      "requireOverlap": {
        "columns": [
          "source_id"
        ]
      }
    }
  ],
  "dimensionColumns": [
    "target_id"
  ]
}
```

O exemplo a seguir mostra uma estrutura predefinida para uma regra de análise da tabela de mapeamento de ID sem as proteções aplicadas ao `sourceID` ou ao `targetID`. Neste exemplo, a regra de análise da tabela de mapeamento de ID permite uma INNER JOIN nas colunas `sourceID` e `targetID`. 

```
{
  "joinColumns": [
    "source_id",
    "target_id"
  ],
  "queryConstraints": [
    {
      "requireOverlap": {
        "columns": []
      }
    }
  ],
  "dimensionColumns": [
    "source_id",
    "target_id"
  ]
}
```

## Regra de análise da tabela de mapeamento de ID: exemplo
<a name="id-mapping-table-example"></a>

Em vez de escrever uma longa declaração em cascata que faça referência a Informações de Identificação Pessoal (PII), por exemplo, as empresas podem usar a regra de análise da tabela de mapeamento de ID para usar a transcodificação multipartidária. LiveRamp O exemplo a seguir demonstra como você pode colaborar AWS Clean Rooms usando a regra de análise da tabela de mapeamento de ID.

A Empresa A é uma anunciante que tem dados de clientes e de vendas, os quais serão usados como fonte. A empresa A também realiza a transcodificação em nome das partes na colaboração e traz as LiveRamp credenciais.

A Empresa B é uma editora que tem dados de eventos, os quais serão usados como destino.

**nota**  
Tanto a Empresa A quanto a Empresa B podem fornecer credenciais de LiveRamp transcodificação e realizar a transcodificação.

Para criar uma colaboração que possibilite a análise da tabela de mapeamento de ID em colaboração, as empresas fazem o seguinte:

1. A empresa A cria uma colaboração e cria uma associação. Ela adiciona a Empresa B, que também cria uma associação na colaboração.

1. A empresa A associa uma fonte de namespace de ID existente ou cria uma nova AWS Entity Resolution usando o console. AWS Clean Rooms 

   A Empresa A cria uma tabela configurada com seus dados de vendas e uma coluna com chave no `sourceId` na tabela de mapeamento de ID.

   A origem do namespace de ID fornece dados para transcodificação.

1. A empresa B associa um destino de namespace de ID existente ou cria um novo AWS Entity Resolution usando o console. AWS Clean Rooms 

   A Empresa B cria uma tabela configurada com os respectivos dados de evento e uma coluna com chave no `targetId` na tabela de mapeamento de ID.

   O destino do namespace de ID não fornece dados para transcodificação, apenas metadados em torno da configuração. LiveRamp 

1. A Empresa A descobre os dois namespaces de ID associados à colaboração e cria e preenche uma tabela de mapeamento de ID.

1. A Empresa A realiza uma consulta nos dois conjuntos de dados unindo-os na tabela de mapeamento de ID.

   ```
   --- this would be valid for Custom or List
   SELECT provider.data_col, consumer.data_col
   FROM provider
     JOIN idMappingTable-123123123123-myMappingWFName idmt 
        ON provider.id = idmt.sourceId
     JOIN consumer 
        ON consumer.id = idmt.targetId
   ```