

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

# Langkah 2: Buat tabel, indeks, dan data sampel dalam buku besar
<a name="getting-started-step-2"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Saat buku besar QLDB Amazon Anda aktif, Anda dapat mulai membuat tabel untuk data tentang kendaraan, pemiliknya, dan informasi pendaftarannya. Setelah membuat tabel dan indeks, Anda dapat memuatnya dengan data.

Pada langkah ini, Anda membuat empat tabel di `vehicle-registration` buku besar:
+ `VehicleRegistration`
+ `Vehicle`
+ `Person`
+ `DriversLicense`

Anda juga membuat indeks berikut.


****  

| Nama tabel | Bidang | 
| --- | --- | 
| VehicleRegistration | VIN | 
| VehicleRegistration | LicensePlateNumber | 
| Vehicle | VIN | 
| Person | GovId | 
| DriversLicense | LicensePlateNumber | 
| DriversLicense | PersonId | 

Anda dapat menggunakan konsol QLDB untuk secara otomatis membuat tabel ini dengan indeks dan memuatnya dengan data sampel. [Atau, Anda dapat menggunakan editor **PartiQL** di konsol untuk menjalankan setiap pernyataan PartiQL secara manual.](ql-reference.md) step-by-step

## Opsi otomatis
<a name="getting-started-step-2.con-auto"></a>

**Untuk membuat tabel, indeks, dan data sampel**

1. [Buka konsol QLDB Amazon di /qldb. https://console.aws.amazon.com](https://console.aws.amazon.com/qldb)

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

1. Di bawah **Opsi otomatis** pada kartu **data aplikasi Sampel**, pilih `vehicle-registration` dalam daftar buku besar.

1. Pilih **Muat data sampel**.

   Jika operasi selesai dengan sukses, konsol akan menampilkan pesan **Sampel data dimuat**.

   Skrip ini menjalankan semua pernyataan dalam satu transaksi. Jika ada bagian dari transaksi yang gagal, setiap pernyataan dibatalkan, dan pesan kesalahan yang sesuai ditampilkan. Anda dapat mencoba kembali operasi setelah mengatasi masalah apa pun.
**catatan**  
Salah satu kemungkinan penyebab kegagalan transaksi adalah mencoba membuat tabel duplikat. Permintaan Anda untuk memuat data sampel akan gagal jika salah satu nama tabel berikut sudah ada di buku besar Anda:`VehicleRegistration`,, `Vehicle``Person`, dan`DriversLicense`.  
Sebagai gantinya, coba muat data sampel ini dalam buku besar kosong.
Skrip ini menjalankan pernyataan berparameter`INSERT`. Jadi, pernyataan PartiQL ini dicatat di blok jurnal Anda dengan parameter pengikat, bukan data literal. Misalnya, Anda mungkin melihat pernyataan berikut di blok jurnal, di mana tanda tanya (`?`) adalah placeholder variabel untuk isi dokumen.  

     ```
     INSERT INTO Vehicle ?
     ```

## Opsi manual
<a name="getting-started-step-2.con"></a>

Anda memasukkan dokumen ke dalam `VehicleRegistration` dengan `PrimaryOwner` bidang kosong, dan masuk `DriversLicense` dengan `PersonId` bidang kosong. Kemudian, Anda mengisi bidang ini dengan dokumen yang ditetapkan sistem `id` dari tabel. `Person`

**Tip**  
Sebagai praktik terbaik, gunakan bidang `id` metadata dokumen ini sebagai kunci asing. Untuk informasi selengkapnya, lihat [Meminta metadata dokumen](working.metadata.md).

**Untuk membuat tabel, indeks, dan data sampel**

1. [Buka konsol QLDB Amazon di /qldb. https://console.aws.amazon.com](https://console.aws.amazon.com/qldb)

1. Di panel navigasi, pilih editor **PartiQL**.

1. Pilih `vehicle-registration` buku besar.

1. Mulailah dengan membuat empat tabel. QLDB mendukung konten terbuka dan tidak menerapkan skema, sehingga Anda tidak menentukan atribut atau tipe data.

   Di jendela editor kueri, masukkan pernyataan berikut, lalu pilih **Jalankan**. Untuk menjalankan pernyataan, Anda juga dapat menggunakan pintasan keyboard Ctrl \$1 Enter untuk Windows, atau Cmd \$1 Return untuk macOS. Untuk pintasan keyboard lainnya, lihat[Pintasan keyboard editor PartiQL](console_QLDB.md#console_QLDB.partiql-editor-shortcuts).

   ```
   CREATE TABLE VehicleRegistration
   ```

   Ulangi langkah ini untuk masing-masing hal berikut.

   ```
   CREATE TABLE Vehicle
   ```

   ```
   CREATE TABLE Person
   ```

   ```
   CREATE TABLE DriversLicense
   ```

1. Selanjutnya, buat indeks yang mengoptimalkan kinerja kueri untuk setiap tabel.
**penting**  
QLDB membutuhkan indeks untuk mencari dokumen secara efisien. Tanpa indeks, QLDB perlu melakukan pemindaian tabel lengkap saat membaca dokumen. Hal ini dapat menyebabkan masalah kinerja pada tabel besar, termasuk konflik konkurensi dan batas waktu transaksi.  
Untuk menghindari pemindaian tabel, Anda harus menjalankan pernyataan dengan klausa `WHERE` predikat menggunakan operator *kesetaraan* (`=`atau`IN`) pada bidang yang diindeks atau ID dokumen. Untuk informasi selengkapnya, lihat [Mengoptimalkan kinerja kueri](working.optimize.md).

   Di jendela editor kueri, masukkan pernyataan berikut, lalu pilih **Jalankan**.

   ```
   CREATE INDEX ON VehicleRegistration (VIN)
   ```

   Ulangi langkah ini untuk yang berikut ini.

   ```
   CREATE INDEX ON VehicleRegistration (LicensePlateNumber)
   ```

   ```
   CREATE INDEX ON Vehicle (VIN)
   ```

   ```
   CREATE INDEX ON Person (GovId)
   ```

   ```
   CREATE INDEX ON DriversLicense (LicensePlateNumber)
   ```

   ```
   CREATE INDEX ON DriversLicense (PersonId)
   ```

1. Setelah membuat indeks Anda, Anda dapat mulai memuat data ke dalam tabel Anda. Pada langkah ini, masukkan dokumen ke dalam `Person` tabel dengan informasi pribadi tentang pemilik kendaraan yang dilacak buku besar.

   Di jendela editor kueri, masukkan pernyataan berikut, lalu pilih **Jalankan**.

   ```
   INSERT INTO Person
   << {
       'FirstName' : 'Raul',
       'LastName' : 'Lewis',
       'DOB' : `1963-08-19T`,
       'GovId' : 'LEWISR261LL',
       'GovIdType' : 'Driver License',
       'Address' : '1719 University Street, Seattle, WA, 98109'
   },
   {
       'FirstName' : 'Brent',
       'LastName' : 'Logan',
       'DOB' : `1967-07-03T`,
       'GovId' : 'LOGANB486CG',
       'GovIdType' : 'Driver License',
       'Address' : '43 Stockert Hollow Road, Everett, WA, 98203'
   },
   {
       'FirstName' : 'Alexis',
       'LastName' : 'Pena',
       'DOB' : `1974-02-10T`,
       'GovId' : '744 849 301',
       'GovIdType' : 'SSN',
       'Address' : '4058 Melrose Street, Spokane Valley, WA, 99206'
   },
   {
       'FirstName' : 'Melvin',
       'LastName' : 'Parker',
       'DOB' : `1976-05-22T`,
       'GovId' : 'P626-168-229-765',
       'GovIdType' : 'Passport',
       'Address' : '4362 Ryder Avenue, Seattle, WA, 98101'
   },
   {
       'FirstName' : 'Salvatore',
       'LastName' : 'Spencer',
       'DOB' : `1997-11-15T`,
       'GovId' : 'S152-780-97-415-0',
       'GovIdType' : 'Passport',
       'Address' : '4450 Honeysuckle Lane, Seattle, WA, 98101'
   } >>
   ```

1. Kemudian, isi `DriversLicense` tabel dengan dokumen yang menyertakan informasi SIM untuk setiap pemilik kendaraan.

   Di jendela editor kueri, masukkan pernyataan berikut, lalu pilih **Jalankan**.

   ```
   INSERT INTO DriversLicense
   << {
       'LicensePlateNumber' : 'LEWISR261LL',
       'LicenseType' : 'Learner',
       'ValidFromDate' : `2016-12-20T`,
       'ValidToDate' : `2020-11-15T`,
       'PersonId' : ''
   },
   {
       'LicensePlateNumber' : 'LOGANB486CG',
       'LicenseType' : 'Probationary',
       'ValidFromDate' : `2016-04-06T`,
       'ValidToDate' : `2020-11-15T`,
       'PersonId' : ''
   },
   {
       'LicensePlateNumber' : '744 849 301',
       'LicenseType' : 'Full',
       'ValidFromDate' : `2017-12-06T`,
       'ValidToDate' : `2022-10-15T`,
       'PersonId' : ''
   },
   {
       'LicensePlateNumber' : 'P626-168-229-765',
       'LicenseType' : 'Learner',
       'ValidFromDate' : `2017-08-16T`,
       'ValidToDate' : `2021-11-15T`,
       'PersonId' : ''
   },
   {
       'LicensePlateNumber' : 'S152-780-97-415-0',
       'LicenseType' : 'Probationary',
       'ValidFromDate' : `2015-08-15T`,
       'ValidToDate' : `2021-08-21T`,
       'PersonId' : ''
   } >>
   ```

1. Sekarang, isi `VehicleRegistration` tabel dengan dokumen registrasi kendaraan. Dokumen-dokumen ini termasuk `Owners` struktur bersarang yang menyimpan pemilik primer dan sekunder.

   Di jendela editor kueri, masukkan pernyataan berikut, lalu pilih **Jalankan**.

   ```
   INSERT INTO VehicleRegistration
   << {
       'VIN' : '1N4AL11D75C109151',
       'LicensePlateNumber' : 'LEWISR261LL',
       'State' : 'WA',
       'City' : 'Seattle',
       'PendingPenaltyTicketAmount' : 90.25,
       'ValidFromDate' : `2017-08-21T`,
       'ValidToDate' : `2020-05-11T`,
       'Owners' : {
           'PrimaryOwner' : { 'PersonId': '' },
           'SecondaryOwners' : []
       }
   },
   {
       'VIN' : 'KM8SRDHF6EU074761',
       'LicensePlateNumber' : 'CA762X',
       'State' : 'WA',
       'City' : 'Kent',
       'PendingPenaltyTicketAmount' : 130.75,
       'ValidFromDate' : `2017-09-14T`,
       'ValidToDate' : `2020-06-25T`,
       'Owners' : {
           'PrimaryOwner' : { 'PersonId': '' },
           'SecondaryOwners' : []
       }
   },
   {
       'VIN' : '3HGGK5G53FM761765',
       'LicensePlateNumber' : 'CD820Z',
       'State' : 'WA',
       'City' : 'Everett',
       'PendingPenaltyTicketAmount' : 442.30,
       'ValidFromDate' : `2011-03-17T`,
       'ValidToDate' : `2021-03-24T`,
       'Owners' : {
           'PrimaryOwner' : { 'PersonId': '' },
           'SecondaryOwners' : []
       }
   },
   {
       'VIN' : '1HVBBAANXWH544237',
       'LicensePlateNumber' : 'LS477D',
       'State' : 'WA',
       'City' : 'Tacoma',
       'PendingPenaltyTicketAmount' : 42.20,
       'ValidFromDate' : `2011-10-26T`,
       'ValidToDate' : `2023-09-25T`,
       'Owners' : {
           'PrimaryOwner' : { 'PersonId': '' },
           'SecondaryOwners' : []
       }
   },
   {
       'VIN' : '1C4RJFAG0FC625797',
       'LicensePlateNumber' : 'TH393F',
       'State' : 'WA',
       'City' : 'Olympia',
       'PendingPenaltyTicketAmount' : 30.45,
       'ValidFromDate' : `2013-09-02T`,
       'ValidToDate' : `2024-03-19T`,
       'Owners' : {
           'PrimaryOwner' : { 'PersonId': '' },
           'SecondaryOwners' : []
       }
   } >>
   ```

1. Terakhir, isi `Vehicle` tabel dengan dokumen yang menjelaskan kendaraan yang terdaftar di buku besar Anda.

   Di jendela editor kueri, masukkan pernyataan berikut, lalu pilih **Jalankan**.

   ```
   INSERT INTO Vehicle
   << {
       'VIN' : '1N4AL11D75C109151',
       'Type' : 'Sedan',
       'Year' : 2011,
       'Make' : 'Audi',
       'Model' : 'A5',
       'Color' : 'Silver'
   },
   {
       'VIN' : 'KM8SRDHF6EU074761',
       'Type' : 'Sedan',
       'Year' : 2015,
       'Make' : 'Tesla',
       'Model' : 'Model S',
       'Color' : 'Blue'
   },
   {
       'VIN' : '3HGGK5G53FM761765',
       'Type' : 'Motorcycle',
       'Year' : 2011,
       'Make' : 'Ducati',
       'Model' : 'Monster 1200',
       'Color' : 'Yellow'
   },
   {
       'VIN' : '1HVBBAANXWH544237',
       'Type' : 'Semi',
       'Year' : 2009,
       'Make' : 'Ford',
       'Model' : 'F 150',
       'Color' : 'Black'
   },
   {
       'VIN' : '1C4RJFAG0FC625797',
       'Type' : 'Sedan',
       'Year' : 2019,
       'Make' : 'Mercedes',
       'Model' : 'CLK 350',
       'Color' : 'White'
   } >>
   ```

Selanjutnya, Anda dapat menggunakan `SELECT` pernyataan untuk membaca data dari tabel di `vehicle-registration` buku besar. Lanjut ke [Langkah 3: Kueri tabel dalam buku besar](getting-started-step-3.md).