Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Perbedaan dalam membaca item menggunakan kunci utamanya
Salah satu pola akses umum untuk basis data adalah untuk membaca satu item dari tabel. Anda harus menentukan kunci primer dari item yang Anda inginkan.
Membaca item menggunakan kunci utamanya dengan SQL
DiSQL, Anda akan menggunakan SELECT
pernyataan untuk mengambil data dari tabel. Anda dapat meminta satu kolom atau lebih dalam hasil (atau semuanya, jika Anda menggunakan operator *
). Klausa WHERE
menentukan baris mana yang dikembalikan.
Berikut ini adalah pernyataan SELECT
untuk mengambil satu baris dari tabel Music. Klausa WHERE
menentukan nilai-nilai kunci primer.
SELECT *
FROM Music
WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'
Anda dapat memodifikasi kueri ini untuk mengambil hanya subset dari kolom.
SELECT AlbumTitle, Year, Price
FROM Music
WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'
Perhatikan bahwa kunci utama untuk tabel ini terdiri dari Artis dan SongTitle.
Membaca item menggunakan kunci primernya di DynamoDB
Di Amazon DynamoDB, Anda dapat menggunakan API DynamoDB atau PartiQL SQL (bahasa kueri yang kompatibel) untuk membaca item dari tabel.
- DynamoDB API
-
Dengan API DynamoDB, Anda menggunakan PutItem
operasi untuk menambahkan item ke tabel.
DynamoDB menyediakan operasi GetItem
untuk mengambil item dengan kunci primernya. GetItem
sangat efisien karena menyediakan akses langsung ke lokasi fisik item. (Untuk informasi selengkapnya, lihat Partisi dan distribusi data di DynamoDB.)
Secara default, GetItem
mengembalikan seluruh item dengan semua atribut.
{
TableName: "Music",
Key: {
"Artist": "No One You Know",
"SongTitle": "Call Me Today"
}
}
Anda dapat menambahkan parameter ProjectionExpression
untuk mengembalikan hanya beberapa atribut.
{
TableName: "Music",
Key: {
"Artist": "No One You Know",
"SongTitle": "Call Me Today"
},
"ProjectionExpression": "AlbumTitle, Year, Price"
}
Perhatikan bahwa kunci utama untuk tabel ini terdiri dari Artis dan SongTitle.
Operasi GetItem
DynamoDB sangat efisien. Ini menggunakan nilai-nilai kunci primer untuk menentukan lokasi penyimpanan yang tepat dari item yang bersangkutan, dan mengambilnya langsung dari sana. SQLSELECT
Pernyataan ini juga efisien, dalam hal mengambil item dengan nilai kunci primer.
SQLSELECT
Pernyataan ini mendukung berbagai jenis kueri dan pemindaian tabel. DynamoDB menyediakan fungsionalitas serupa dengan operasi Query
dan Scan
, yang dijelaskan dalam Perbedaan dalam menanyakan tabel dan Perbedaan dalam memindai tabel.
SQLSELECT
Pernyataan dapat melakukan gabungan tabel, memungkinkan Anda untuk mengambil data dari beberapa tabel pada saat yang sama. Gabungan paling efektif di mana tabel basis data dinormalisasi dan hubungan antara tabel jelas. Namun, jika Anda menggabungkan terlalu banyak tabel dalam satu performa aplikasi pernyataan SELECT
dapat terpengaruh. Anda dapat mengatasi masalah tersebut dengan menggunakan replikasi basis data, tampilan terwujud, atau penulisan ulang kueri.
DynamoDB adalah basis data non-relasional dan tidak mendukung gabungan tabel. Jika Anda memigrasikan aplikasi yang ada dari basis data relasional ke DynamoDB, Anda perlu mendenormalisasi model data Anda untuk menghapus kebutuhan gabungan.
- PartiQL for DynamoDB
-
Dengan PartiQL, Anda menggunakan operasi ExecuteStatement
untuk membaca item dari tabel, menggunakan pernyataan Select
PartiQL.
SELECT AlbumTitle, Year, Price
FROM Music
WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'
Perhatikan bahwa kunci utama untuk tabel ini terdiri dari Artis dan SongTitle.
Pernyataan pilih PartiQL dapat digunakan juga pada tabel Kueri atau Pindai DynamoDB
Untuk contoh kode menggunakan Select
dan ExecuteStatement
, lihat Pernyataan pemilihan PartiQL untuk DynamoDB.