

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á.

# Tipo aninhados
<a name="s_Nested-data-type"></a>

AWS Clean Rooms suporta consultas envolvendo dados com tipos de dados aninhados, especificamente os tipos de coluna AWS Glue STRUCT, ARRAY e MAP. Somente a regra de análise personalizada oferece suporte a tipos de dados aninhados.

Notavelmente, tipos de dados aninhados não estão em conformidade com a estrutura rígida e tabular do modelo de dados relacional de bancos de dados SQL. 

Os tipos de dados aninhados contêm tags que fazem referência a entidades distintas nos dados. Eles podem conter valores complexos, como matrizes, estruturas aninhadas e outras estruturas complexas associadas a formatos de serialização, como JSON. Os tipos de dados aninhados são compatíveis com até 1 MB de dados aninhados em um campo ou objeto aninhados.

**Topics**
+ [Tipo de MATRIZ](array_type.md)
+ [Tipo de MAP](map_type.md)
+ [Tipo STRUCT](struct_type.md)
+ [Exemplos de tipos de dados aninhados](s_nested-data-type-examples.md)

# Tipo de MATRIZ
<a name="array_type"></a>

Use o tipo ARRAY para representar valores que compreendem uma sequência de elementos com o tipo de`elementType`. 

```
array(elementType, containsNull)
```

Use `containsNull` para indicar se os elementos em um tipo ARRAY podem ter `null` valores.

# Tipo de MAP
<a name="map_type"></a>

Use o tipo MAP para representar valores que compreendem um conjunto de pares de valores-chave. 

```
map(keyType, valueType, valueContainsNull)
```

`keyType`: o tipo de dados das chaves 

`valueType`: o tipo de dados dos valores

Não é permitido que as chaves tenham `null` valores. Use `valueContainsNull` para indicar se os valores de um valor do tipo MAP podem ter `null` valores.

# Tipo STRUCT
<a name="struct_type"></a>

Use o tipo STRUCT para representar valores com a estrutura descrita por uma sequência de StructFields (campos). 

```
struct(name, dataType, nullable)
```

StructField(nome, tipo de dados, anulável): representa um campo em a. StructType 

`dataType`: os dados digitam um campo

`name`: o nome de um campo

Use `nullable` para indicar se os valores desses campos podem ter `null` valores.

# Exemplos de tipos de dados aninhados
<a name="s_nested-data-type-examples"></a>

Para o tipo `struct<given:varchar, family:varchar>`, há dois nomes de atributos: `given` e `family`, cada um correspondendo a um valor `varchar`.

Para o tipo `array<varchar>`, a matriz é especificada como uma lista de `varchar`. 

O tipo `array<struct<shipdate:timestamp, price:double>>` se refere a uma lista de elementos com tipo `struct<shipdate:timestamp, price:double>`. 

O tipo de dados `map` se comporta como um `array` de `structs`, em que o nome do atributo de cada elemento na matriz é indicado por `key` e mapeado para um `value`. 

**Example**  
Por exemplo, o tipo `map<varchar(20), varchar(20)>` é tratado como `array<struct<key:varchar(20), value:varchar(20)>>`, onde `key` e `value` se referem aos atributos do mapa nos dados subjacentes.   
Para obter informações sobre como AWS Clean Rooms habilitar a navegação em matrizes e estruturas, consulte[Navegação](query-nested-data.md#navigation).  
Para obter informações sobre como AWS Clean Rooms habilitar a iteração em matrizes navegando na matriz usando a cláusula FROM de uma consulta, consulte. [Desaninhar consultas](query-nested-data.md#unnesting-queries)