

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Esquema y mapeo de tablas RDBMS
<a name="rdbms-schema"></a>

En el siguiente diagrama, se muestran las tablas y las relaciones del esquema RDBMS de origen.

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

Como se muestra en el diagrama anterior, la `production_apps` tabla tiene `version` columnas `id` y, que tienen una one-to-many relación con las tablas `production_app_properties` y`production_app_configs`. Por lo tanto, en el diseño de DynamoDB, `production_app_properties` las tablas `production_app_configs` y se incrustan dentro de, como se muestra en `production_app item` el siguiente código JSON. Como `production_app_properties` `production_app_configs` pueden tener varios valores, estas tablas se agregan como matrices en el código JSON. Las `test_apps` tablas `changed_apps` y se mapean de forma similar.

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

## Diseño de tabla única
<a name="single-tables"></a>

DynamoDB no mantiene relaciones; admite un esquema de tabla fijo. Como resultado, puede almacenar distintos tipos de elementos (como tablas SQL) en una sola tabla de DynamoDB, con un atributo `ItemType` () que identifica el tipo de elemento.

En DynamoDB, la combinación de claves de partición (PK) y claves de clasificación (SK) debe ser única, por lo que estas claves varían según el tipo de elemento. 

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

## Índices secundarios globales
<a name="gsi"></a>

Los índices ayudan a recuperar los datos con mayor rapidez y a mejorar el rendimiento de las aplicaciones. Para la aplicación de ejemplo, se crearon los siguientes índices. Los PKs y SKs se eligieron en función de la forma en que se podían identificar los distintos elementos.


****  

| **Nombre del índice** | **Descripción** | **Clave de partición (PK)** | **Clave de clasificación (SK)** | **Atributos proyectados** | 
| --- | --- | --- | --- | --- | 
| Version-index | Obtiene todas las aplicaciones de producción de una determinada. version | version |  | id, name | 
| Release-index | Obtiene todas las aplicaciones de prueba de una determinadarelease-id.  | release-id |  | id, name | 
| Change-index | Obtiene todas las aplicaciones (modificadas) asociadas a unchange-id. | change-id |  | id, modified-by, date | 