Lecture d'un élément à l'aide de sa clé primaire - Amazon DynamoDB

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.

Lecture d'un élément à l'aide de sa clé primaire

Un modèle d'accès commun aux bases de données consiste à lire un seul élément d'une table. Vous devez spécifier la clé primaire de l'élément que vous voulez.

Lecture d'un élément à partir de sa clé primaire avec SQL

En SQL, l'extraction de données d'une table s'effectue à l'aide de l'instruction SELECT. Vous pouvez demander une ou plusieurs colonnes du résultat (ou la totalité, si vous utilisez l'opération *). La clause WHERE détermine les lignes à retourner.

L'instruction SELECT suivante permet d'extraire une seule ligne de la table Music. La clause WHERE spécifie les valeurs de clé primaire.

SELECT * FROM Music WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'

Vous pouvez modifier cette requête pour récupérer uniquement un sous-ensemble des colonnes.

SELECT AlbumTitle, Year, Price FROM Music WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'

Notez que la clé primaire de ce tableau est composée de Artist et SongTitle.

Lecture d'un élément à partir de sa clé primaire dans DynamoDB

Dans Amazon DynamoDB, vous pouvez lire un élément à partir d'une table à l'aide de l'API DynamoDB ou de PartiQL (langage de requête compatible SQL).

DynamoDB API

Avec l'API DynamoDB, vous utilisez l'opération PutItem pour ajouter un élément à une table.

DynamoDB propose l'opération GetItem pour extraire un élément à partir de sa clé primaire. L'opération GetItem est très efficace, car elle donne directement accès à l'emplacement physique de l'élément. (Pour plus d’informations, consultez Partitions et distribution des données.)

Par défaut, GetItem retourne l'élément entier avec tous ses attributs.

{ TableName: "Music", Key: { "Artist": "No One You Know", "SongTitle": "Call Me Today" } }

Vous pouvez ajouter un paramètre ProjectionExpression pour renvoyer uniquement certains des attributs.

{ TableName: "Music", Key: { "Artist": "No One You Know", "SongTitle": "Call Me Today" }, "ProjectionExpression": "AlbumTitle, Year, Price" }

Notez que la clé primaire de ce tableau est composée de Artist et SongTitle.

L'opération GetItem de DynamoDB est très efficace. Elle utilise les valeurs de clé primaire pour déterminer l'emplacement exact de stockage de l'élément en question et le récupère directement de cet emplacement. L'instruction SQL SELECT est efficace de la même façon, en ce qui concerne la récupération d'éléments par valeurs de clé primaire.

L'instruction SQL SELECT prend en charge de nombreux types de requêtes et d'analyses de table. DynamoDB propose une fonctionnalité similaire avec ses opérations Query et Scan, qui sont décrites dans Interrogation d'une table et Analyse d'une table.

L'instruction SQL SELECT permet d'effectuer des jointures de tables, ce qui vous permet de récupérer les données de plusieurs tables à la fois. Les jointures sont plus efficaces lorsque les tables de base de données sont normalisées et que les relations entre les tables sont claires. Toutefois, si vous joignez un trop grand nombre de tables dans une instruction SELECT, les performances de l'application peuvent en être affectées. Vous pouvez contourner ces problèmes en utilisant la réplication de base de données, les vues matérialisées ou les réécritures de requête.

DynamoDB est une base de données non relationnelle ne prenant pas en charge les jointures de tables. Si vous migrez une application existante à partir d'une base de données relationnelle vers DynamoDB, vous devez dénormaliser votre modèle de données pour éliminer la nécessité de jointures.

Note

Pour obtenir des exemples de code qui utilisent GetItem, consultez Mise en route avec DynamoDB et les kits AWS SDK.

PartiQL for DynamoDB

Avec PartiQL, vous utilisez l'opération ExecuteStatement pour lire un élément d'une table, à l'aide de l'instruction PartiQL Select.

SELECT AlbumTitle, Year, Price FROM Music WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'

Notez que la clé primaire de ce tableau est composée de Artist et SongTitle.

Note

L'instruction PartiQL select permet également d'interroger ou d'analyser une table DynamoDB

Pour des exemples de code utilisant Select et ExecuteStatement, consultez Instructions PartiQL de sélection pour DynamoDB.