

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat tabel di Amazon Keyspaces
<a name="getting-started.tables"></a>

Di bagian ini, Anda membuat tabel menggunakan konsol,`cqlsh`, atau AWS CLI.

Tabel adalah tempat data Anda diatur dan disimpan. Kunci utama tabel Anda menentukan bagaimana data dipartisi dalam tabel Anda. Kunci utama terdiri dari kunci partisi yang diperlukan dan satu atau lebih kolom pengelompokan opsional. Nilai gabungan yang menyusun kunci utama harus unik di semua data tabel. Untuk informasi selengkapnya tentang tabel, lihat topik berikut:
+ Desain kunci partisi: [Cara menggunakan kunci partisi secara efektif di Amazon Keyspaces](bp-partition-key-design.md)
+ Bekerja dengan tabel: [Periksa status pembuatan tabel di Amazon Keyspaces](tables-create.md)
+ Pernyataan DDL dalam referensi bahasa CQL: [Tabel](cql.ddl.table.md)
+ Manajemen sumber daya tabel: [Mengelola sumber daya tanpa server di Amazon Keyspaces (untuk Apache Cassandra)](serverless_resource_management.md)
+ Pemantauan pemanfaatan sumber daya tabel: [Memantau Amazon Keyspaces dengan Amazon CloudWatch](monitoring-cloudwatch.md)
+ [Kuota untuk Amazon Keyspaces (untuk Apache Cassandra)](quotas.md)

Saat Anda membuat tabel, Anda menentukan yang berikut:
+ Nama tabel.
+ Nama dan tipe data dari setiap kolom dalam tabel.
+ Kunci utama untuk tabel.
  + **Kunci partisi** - Diperlukan
  + **Kolom pengelompokan** - Opsional

Gunakan prosedur berikut untuk membuat tabel dengan kolom tertentu, tipe data, kunci partisi, dan kolom pengelompokan.

## Menggunakan konsol
<a name="getting-started.tables.con"></a>

Prosedur berikut membuat tabel `book_awards` dengan kolom dan tipe data ini.

```
year           int
award          text
rank           int 
category       text
book_title     text
author         text
publisher      text
```

**Untuk membuat tabel menggunakan konsol**

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon Keyspaces di https://console.aws.amazon.com/keyspaces/ rumah.](https://console.aws.amazon.com/keyspaces/home)

1. Di panel navigasi, pilih **Keyspaces**.

1. Pilih `catalog` sebagai ruang kunci tempat Anda ingin membuat tabel ini.

1. Pilih **Buat tabel**.

1. Di kotak **Nama tabel**, masukkan **book\$1awards** sebagai nama untuk tabel Anda.

   **Kendala nama:**
   + Nama tidak bisa kosong.
   + Karakter yang diizinkan: karakter alfanumerik dan garis bawah (). `_`
   + Panjang maksimum adalah 48 karakter.

1. Di bagian **Kolom**, ulangi langkah-langkah berikut untuk setiap kolom yang ingin Anda tambahkan ke tabel ini.

   Tambahkan kolom dan tipe data berikut.

   ```
   year           int
   award          text
   rank           int 
   category       text
   book_title     text
   author         text
   publisher      text
   ```

   1. **Nama** — Masukkan nama untuk kolom.

      **Kendala nama:**
      + Nama tidak bisa kosong.
      + Karakter yang diizinkan: karakter alfanumerik dan garis bawah (). `_`
      + Panjang maksimum adalah 48 karakter.

   1. **Jenis** - Dalam daftar tipe data, pilih tipe data untuk kolom ini.

   1. Untuk menambahkan kolom lain, pilih **Tambahkan kolom**.

1. Pilih `award` dan `year` sebagai tombol partisi di bawah **Partition Key**. Kunci partisi diperlukan untuk setiap tabel. Kunci partisi dapat dibuat dari satu atau lebih kolom. 

1. Tambahkan `category` dan `rank` sebagai **kolom Clustering**. Kolom pengelompokan bersifat opsional dan menentukan urutan pengurutan dalam setiap partisi.

   1. Untuk menambahkan kolom pengelompokan, pilih **Tambahkan kolom pengelompokan**.

   1. Dalam daftar **Kolom**, pilih **kategori**. Dalam daftar **Urutan**, pilih **ASC** untuk mengurutkan dalam urutan menaik pada nilai di kolom ini. (Pilih **DESC** untuk urutan menurun.)

   1. Kemudian pilih **Tambahkan kolom pengelompokan** dan pilih **peringkat**.

1. Di bagian **Pengaturan tabel**, pilih **Pengaturan default**.

1. Pilih **Buat tabel**.

1. Verifikasi bahwa tabel Anda telah dibuat.

   1. Di panel navigasi, pilih **Tabel**.

   1. Konfirmasikan bahwa tabel Anda ada dalam daftar tabel.

   1. Pilih nama meja Anda.

   1. Konfirmasikan bahwa semua kolom dan tipe data Anda sudah benar.
**catatan**  
Kolom mungkin tidak tercantum dalam urutan yang sama dengan yang Anda tambahkan ke tabel. 

## Menggunakan CQL
<a name="getting-started.tables.cql"></a>

Prosedur ini membuat tabel dengan kolom dan tipe data berikut menggunakan CQL. `award`Kolom `year` dan adalah kunci partisi dengan `category` dan `rank` sebagai kolom pengelompokan, bersama-sama mereka membentuk kunci utama tabel.

```
year           int
award          text
rank           int 
category       text
book_title     text
author         text
publisher      text
```

**Untuk membuat tabel menggunakan CQL**

1. Buka AWS CloudShell dan sambungkan ke Amazon Keyspaces menggunakan perintah berikut. Pastikan untuk memperbarui *us-east-1* dengan Wilayah Anda sendiri.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

   Output dari perintah itu akan terlihat seperti ini.

   ```
   Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142
   [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
   Use HELP for help.
   cqlsh current consistency level is ONE.
   ```

1. Pada prompt keyspace (`cqlsh:keyspace_name>`), buat tabel Anda dengan memasukkan kode berikut ke jendela perintah Anda.

   ```
   CREATE TABLE catalog.book_awards (
      year int,
      award text,
      rank int, 
      category text,
      book_title text,
      author text, 
      publisher text,
      PRIMARY KEY ((year, award), category, rank)
      );
   ```
**catatan**  
`ASC`adalah urutan pengelompokan default. Anda juga dapat menentukan `DESC` urutan menurun. 

   Perhatikan bahwa `year` dan `award` adalah kolom kunci partisi. Kemudian, `category` dan `rank` adalah kolom pengelompokan yang diurutkan berdasarkan urutan naik ()`ASC`. Bersama-sama, kolom-kolom ini membentuk kunci utama tabel. 

1. Verifikasi bahwa tabel Anda telah dibuat.

   ```
   SELECT * from system_schema.tables WHERE keyspace_name='catalog.book_awards' ;
   ```

   Outputnya akan terlihat mirip dengan ini.

   ```
    keyspace_name | table_name | bloom_filter_fp_chance | caching | cdc | comment | compaction | compression | crc_check_chance | dclocal_read_repair_chance | default_time_to_live | extensions | flags | gc_grace_seconds | id | max_index_interval | memtable_flush_period_in_ms | min_index_interval | read_repair_chance | speculative_retry
   ---------------+------------+------------------------+---------+-----+---------+------------+-------------+------------------+----------------------------+----------------------+------------+-------+------------------+----+--------------------+-----------------------------+--------------------+--------------------+-------------------
   
   (0 rows)
   ```

1. Verifikasi struktur tabel Anda.

   ```
   SELECT * FROM system_schema.columns WHERE keyspace_name = 'catalog' AND table_name = 'book_awards';
   ```

   Output dari pernyataan ini akan terlihat mirip dengan contoh ini.

   ```
    keyspace_name | table_name  | column_name | clustering_order | column_name_bytes      | kind          | position | type
   ---------------+-------------+-------------+------------------+------------------------+---------------+----------+------
          catalog | book_awards |        year |             none |             0x79656172 | partition_key |        0 |  int
          catalog | book_awards |       award |             none |           0x6177617264 | partition_key |        1 | text
          catalog | book_awards |    category |              asc |     0x63617465676f7279 |    clustering |        0 | text
          catalog | book_awards |        rank |              asc |             0x72616e6b |    clustering |        1 |  int
          catalog | book_awards |      author |             none |         0x617574686f72 |       regular |       -1 | text
          catalog | book_awards |  book_title |             none | 0x626f6f6b5f7469746c65 |       regular |       -1 | text
          catalog | book_awards |   publisher |             none |   0x7075626c6973686572 |       regular |       -1 | text
   
   (7 rows)
   ```

   Konfirmasikan bahwa semua kolom dan tipe data seperti yang Anda harapkan. Urutan kolom mungkin berbeda dari pada `CREATE` pernyataan.

## Menggunakan AWS CLI
<a name="getting-started.tables.cli"></a>

Prosedur ini membuat tabel dengan kolom dan tipe data berikut menggunakan AWS CLI. `award`Kolom `year` dan membentuk kunci partisi dengan `category` dan `rank` sebagai kolom pengelompokan.

```
year           int
award          text
rank           int 
category       text
book_title     text
author         text
publisher      text
```

**Untuk membuat tabel menggunakan AWS CLI**

Perintah berikut membuat tabel dengan nama *book\$1awards*. Kunci partisi tabel terdiri dari kolom `year` dan `award` dan kunci pengelompokan terdiri dari kolom `category` dan`rank`, kedua kolom pengelompokan menggunakan urutan urutan menaik. (Untuk memudahkan pembacaan, perintah tabel buat di bagian ini dipecah menjadi baris terpisah.) `schema-definition`

1. Anda dapat membuat tabel menggunakan pernyataan berikut.

   ```
   aws keyspaces create-table --keyspace-name 'catalog' \
                         --table-name 'book_awards' \
                         --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int},
               {name=category,type=text}, {name=author,type=text},{name=book_title,type=text},{name=publisher,type=text}],
               partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]'
   ```

   Perintah ini menghasilkan output berikut.

   ```
   {
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards"
   }
   ```

1. Untuk mengonfirmasi metadata dan properti tabel, Anda dapat menggunakan perintah berikut.

   ```
   aws keyspaces get-table --keyspace-name 'catalog' --table-name 'book_awards'
   ```

   Perintah ini mengembalikan output berikut.

   ```
   {
       "keyspaceName": "catalog",
       "tableName": "book_awards",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards",
       "creationTimestamp": "2024-07-11T15:12:55.571000+00:00",
       "status": "ACTIVE",
       "schemaDefinition": {
           "allColumns": [
               {
                   "name": "year",
                   "type": "int"
               },
               {
                   "name": "award",
                   "type": "text"
               },
               {
                   "name": "category",
                   "type": "text"
               },
               {
                   "name": "rank",
                   "type": "int"
               },
               {
                   "name": "author",
                   "type": "text"
               },
               {
                   "name": "book_title",
                   "type": "text"
               },
               {
                   "name": "publisher",
                   "type": "text"
               }
           ],
           "partitionKeys": [
               {
                   "name": "year"
               },
               {
                   "name": "award"
               }
           ],
           "clusteringKeys": [
               {
                   "name": "category",
                   "orderBy": "ASC"
               },
               {
                   "name": "rank",
                   "orderBy": "ASC"
               }
           ],
           "staticColumns": []
       },
       "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": "2024-07-11T15:12:55.571000+00:00"
       },
       "encryptionSpecification": {
           "type": "AWS_OWNED_KMS_KEY"
       },
       "pointInTimeRecovery": {
           "status": "DISABLED"
       },
       "defaultTimeToLive": 0,
       "comment": {
           "message": ""
       },
       "replicaSpecifications": []
   }
   ```

Untuk melakukan operasi CRUD (membuat, membaca, memperbarui, dan menghapus) pada data dalam tabel Anda, lanjutkan ke[Membuat, membaca, memperbarui, dan menghapus data (CRUD) menggunakan CQL di Amazon Keyspaces](getting-started.dml.md).