ステップ 4: 台帳のドキュメントを変更する - Amazon Quantum 台帳データベース (Amazon QLDB)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 4: 台帳のドキュメントを変更する

重要

サポート終了通知: 既存のお客様は、07/31/2025 のサポート終了QLDBまで Amazon を使用できます。詳細については、「Amazon Ledger QLDB を Amazon Aurora Postgre に移行するSQL」を参照してください。

これで、操作するデータを取得できたので、Amazon のvehicle-registration台帳のドキュメントに変更を加えることができますQLDB。例えば、 を使用した Audi A5 VIN を考えてみましょう1N4AL11D75C109151。この車の最初の所有者は、ワシントン州シアトルの Raul Lewis という名前のドライバーです。

Raul がワシントン州エバレットに住む Brent Logan にこの車を売るとします。その後、Brent と Alexis Pena が結婚することになりました。Brent は共同所有者として車両登録に Alexis を追加したいと考えています。このステップでは、次のデータ操作言語 (DML) ステートメントは、これらのイベントを反映するために台帳で適切な変更を行う方法を示しています。

ヒント

ベストプラクティスとして、外部キーには、ドキュメントにシステムによって割り当てられた id を使用します。一意の識別子 (車両の などVIN) を意図したフィールドを定義できますが、ドキュメントの真の一意の識別子は ですid。このフィールドはドキュメントのメタデータに含まれており、コミット済みビュー (テーブルのシステム定義のビュー) でクエリを実行できます。

のビューの詳細については、QLDB「」を参照してください重要な概念。メタデータの詳細については、「ドキュメントのメタデータのクエリの実行」を参照してください。

ドキュメントに変更を加えるには
  1. https://console.aws.amazon.com/qldb で Amazon QLDBコンソールを開きます。

  2. ナビゲーションペイン内で [PartiQL エディタ] を選択します。

  3. vehicle-registration 台帳を選択します。

    注記

    コンソールの自動 [Load sample data] (サンプルデータをロード) 機能を使用して台帳を設定する場合は、ステップ 6 に進みます。

  4. サンプルデータをロードする INSERT ステートメントを手動で実行した場合は、次のステップに進みます。

    この車両の所有者として最初に Raul を登録するには、まず Person テーブルで、システムによって割り当てられたドキュメント id を検索することから始めます。このフィールドはドキュメントのメタデータに含まれており、テーブルのシステム定義のビュー (コミット済みビュー) でフィールドのクエリを実行できます。

    クエリエディタウィンドウで、以下のステートメントを入力し、[Run (実行)] を選択します。

    SELECT metadata.id FROM _ql_committed_Person AS p WHERE p.data.FirstName = 'Raul' and p.data.LastName = 'Lewis'

    プレフィックス _ql_committed_ は、Person テーブルのコミット済みビューにクエリを実行することを示す予約済みプレフィックスです。このビューでは、データは data フィールドにネストされており、メタデータは metadata フィールドにネストされています。

  5. 次に、この idUPDATE ステートメントで使用して、VehicleRegistration テーブル内の該当するドキュメントを変更します。次のステートメントを入力し、[Run (実行)] を選択します。

    UPDATE VehicleRegistration AS r SET r.Owners.PrimaryOwner.PersonId = '294jJ3YUoH1IEEm8GSabOs' --replace with your id WHERE r.VIN = '1N4AL11D75C109151'

    このステートメントを発行することで、Owners フィールドが変更されていることを確認します。

    SELECT r.Owners FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151'
  6. 車両の所有権をエバレットに住む Brent に譲渡するには、まず次のステートメントを使用して、Brent の idPerson テーブルで検索します。

    SELECT metadata.id FROM _ql_committed_Person AS p WHERE p.data.FirstName = 'Brent' and p.data.LastName = 'Logan'

    次に、この id を使用して、VehicleRegistration テーブルの PrimaryOwnerCity を更新します。

    UPDATE VehicleRegistration AS r SET r.Owners.PrimaryOwner.PersonId = '7NmE8YLPbXc0IqesJy1rpR', --replace with your id r.City = 'Everett' WHERE r.VIN = '1N4AL11D75C109151'

    このステートメントを発行して、PrimaryOwner フィールドと City フィールドを変更したことを確認します。

    SELECT r.Owners.PrimaryOwner, r.City FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151'
  7. 車の共同所有者として Alexis を追加するには、Alexis の Person id を検索します。

    SELECT metadata.id FROM _ql_committed_Person AS p WHERE p.data.FirstName = 'Alexis' and p.data.LastName = 'Pena'

    次に、次の FROM-INSERT DMLステートメントを使用して、これをidSecondaryOwnersリストに挿入します。

    FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' INSERT INTO r.Owners.SecondaryOwners VALUE { 'PersonId' : '5Ufgdlnj06gF5CWcOIu64s' } --replace with your id

    このステートメントを発行し、SecondaryOwners が変更されていることを確認します。

    SELECT r.Owners.SecondaryOwners FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151'

これらの変更を vehicle-registration 台帳で確認するには、「ステップ 5: ドキュメントのリビジョン履歴を表示する」を参照してください。