

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.

# Différences entre une base de données relationnelle (SQL) et DynamoDB lors de la lecture de données à partir d’une table
<a name="SQLtoNoSQL.ReadData"></a>

Avec SQL, vous utilisez l’instruction `SELECT` pour extraire une ou plusieurs lignes d’une table. Vous utilisez la clause `WHERE` pour déterminer les données qui vous sont renvoyées.

Cela est différent d’Amazon DynamoDB, qui propose les opérations suivantes pour la lecture de données :
+ `ExecuteStatement` récupère un ou plusieurs éléments d’une table. `BatchExecuteStatement` récupère plusieurs éléments de tables différentes en une seule opération. Ces deux opérations utilisent [PartiQL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html), un langage de requête compatible SQL.
+ `GetItem` – Extrait un élément unique d’une table. C’est le moyen le plus efficace de lire un élément unique, car il fournit un accès direct à l’emplacement physique de l’élément. (DynamoDB fournit également l’opération `BatchGetItem` permettant d’effectuer jusqu’à 100 appels `GetItem` en une seule opération.)
+ `Query` – Extrait tous les éléments ayant une clé de partition spécifique. Au sein de ces éléments, vous pouvez appliquer une condition à la clé de tri et récupérer uniquement un sous-ensemble des données. `Query` fournit un accès rapide et efficace aux partitions où les données sont stockées. (Pour plus d’informations, consultez [Partitions et distribution des données dans DynamoDB](HowItWorks.Partitions.md).)
+ `Scan` – Extrait tous les éléments de la table spécifiée. (Cette opération ne doit pas être utilisée avec les grandes tables, car elle peut consommer d’importantes quantités de ressources système.)

**Note**  
Avec une base de données relationnelle, vous pouvez utiliser l’instruction `SELECT` pour joindre les données de plusieurs tables et retourner les résultats. Les jointures sont fondamentales pour le modèle relationnel. Pour garantir l’efficacité des jointures, les performances de la base de données et de ses applications doivent être ajustées en permanence. DynamoDB est une base de données NoSQL non relationnelle qui ne prend pas en charge les jointures de tables. Au lieu de cela, les applications lisent les données d’une seule table à la fois. 

Les sections suivantes décrivent les différents cas d’utilisation de lecture des données et comment exécuter ces tâches avec une base de données relationnelle et avec DynamoDB.

**Topics**
+ [Différences dans la lecture d’un élément à l’aide de sa clé primaire](SQLtoNoSQL.ReadData.SingleItem.md)
+ [Différences dans l’interrogation d’une table](SQLtoNoSQL.ReadData.Query.md)
+ [Différences dans l’analyse d’une table](SQLtoNoSQL.ReadData.Scan.md)