

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Schéma et mappage des tables RDBMS
<a name="rdbms-schema"></a>

Le schéma suivant montre les tables et les relations dans le schéma RDBMS source.

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

Comme le montre le schéma précédent, le `production_apps` tableau comporte `id` des `version` colonnes, qui ont une one-to-many relation avec les `production_app_configs` tables `production_app_properties` et. Par conséquent, dans la conception DynamoDB, `production_app_properties` les tables `production_app_configs` et sont intégrées dans le, comme indiqué dans `production_app item` le code JSON suivant. Comme `production_app_properties` elles `production_app_configs` peuvent avoir plusieurs valeurs, ces tables sont ajoutées sous forme de tableaux dans le code JSON. Les `test_apps` tables `changed_apps` et sont mappées de la même manière.

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

## Conception à une seule table
<a name="single-tables"></a>

DynamoDB ne maintient pas de relations ; il prend en charge un schéma de table fixe. Par conséquent, vous pouvez stocker différents types d'éléments (tels que des tables SQL) dans une seule table DynamoDB, avec un attribut `ItemType` () qui identifie le type d'élément.

Dans DynamoDB, la combinaison des clés de partition (PK) et des clés de tri (SK) doit être unique. Ces clés varient donc en fonction du type d'élément. 

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

## Index secondaires globaux
<a name="gsi"></a>

Les index permettent de récupérer les données plus rapidement et d'améliorer les performances des applications. Pour l'exemple d'application, les index suivants ont été créés. Les PKs et SKs ont été choisis en fonction de la manière dont les différents éléments pouvaient être identifiés.


****  

| **Nom de l'index** | **Description** | **Clé de partition (PK)** | **Clé de tri (SK)** | **Attributs projetés** | 
| --- | --- | --- | --- | --- | 
| Version-index | Obtient toutes les applications de production pour une donnéeversion. | version |  | id, name | 
| Release-index | Obtient toutes les applications de test pour une donnéerelease-id.  | release-id |  | id, name | 
| Change-index | Obtient toutes les applications (modifiées) associées à unchange-id. | change-id |  | id, modified-by, date | 