

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Schema e mappatura delle tabelle RDBMS
<a name="rdbms-schema"></a>

Il diagramma seguente mostra le tabelle e le relazioni nello schema RDBMS di origine.

 ![RDMS schema](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/modernization-rdbms-dynamodb/images/rdbms-table.png) 

Come illustrato nel diagramma precedente, la `production_apps` tabella presenta `version` colonne che hanno una one-to-many relazione con le tabelle `id` and. `production_app_properties` `production_app_configs` Pertanto, nella progettazione di DynamoDB, `production_app_properties` le tabelle `production_app_configs` and sono incorporate all'interno `production_app item` di, come illustrato nel seguente codice JSON. Poiché `production_app_properties` `production_app_configs` possono avere più valori, queste tabelle vengono aggiunte come matrici nel codice JSON. Le `test_apps` tabelle `changed_apps` e sono mappate in modo simile.

 ![Mapping from RDMS schema to DynamoDB](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/modernization-rdbms-dynamodb/images/table-mapping.png) 

## Progettazione tabella singola
<a name="single-tables"></a>

DynamoDB non mantiene relazioni; supporta uno schema a tabella fisso. Di conseguenza, è possibile memorizzare diversi tipi di elementi (come le tabelle SQL) in una singola tabella DynamoDB, con un attributo `ItemType` () che identifica il tipo di elemento.

In DynamoDB, la combinazione di chiavi di partizione (PK) e chiavi di ordinamento (SK) deve essere unica, quindi queste chiavi variano in base al tipo di elemento. 

 ![Single table design in DynamoDB](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/modernization-rdbms-dynamodb/images/single-table-design.png) 

## Indici secondari globali
<a name="gsi"></a>

Gli indici aiutano a recuperare i dati più velocemente e a migliorare le prestazioni delle applicazioni. Per l'applicazione di esempio, sono stati creati i seguenti indici. I PKs e SKs sono stati scelti in base al modo in cui gli elementi potevano essere identificati.


****  

| **Nome dell'indice** | **Descrizione** | **Chiave di partizione (PK)** | **Chiave di ordinamento (SK)** | **Attributi\_proiettati** | 
| --- | --- | --- | --- | --- | 
| Version-index | Ottiene tutte le applicazioni di produzione per un determinato periodo. version | version |  | id, name | 
| Release-index | Ottiene tutte le applicazioni di test per un determinato periodorelease-id.  | release-id |  | id, name | 
| Change-index | Ottiene tutte le applicazioni (modificate) associate achange-id. | change-id |  | id, modified-by, date | 