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.
Étape 2 : créer des tables, des index et des exemples de données dans un registre
Important
Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez Migrer un Amazon QLDB Ledger vers Amazon Aurora SQL Postgre
Lorsque votre QLDB registre Amazon est actif, vous pouvez commencer à créer des tableaux contenant les données relatives aux véhicules, à leurs propriétaires et à leurs informations d'enregistrement. Après avoir créé les tables et les index, vous pouvez les charger avec des données.
Au cours de cette étape, vous créez quatre tables dans le vehicle-registration
registre :
-
VehicleRegistration
-
Vehicle
-
Person
-
DriversLicense
Vous créez également les index suivants.
Nom de la table | Champ |
---|---|
VehicleRegistration |
VIN |
VehicleRegistration |
LicensePlateNumber |
Vehicle |
VIN |
Person |
GovId |
DriversLicense |
LicensePlateNumber |
DriversLicense |
PersonId |
Vous pouvez utiliser la QLDB console pour créer automatiquement ces tables avec des index et les charger avec des exemples de données. Vous pouvez également utiliser l'éditeur partiQL de la console pour exécuter manuellement chaque instruction partiQL. step-by-step
Pour créer des tables, des index et des exemples de données
-
Ouvrez la QLDB console Amazon à l'adresse https://console.aws.amazon.com/qldb
. -
Dans le volet de navigation, choisissez Getting started.
-
Sous l'option Automatique sur la carte de données de l'application Sample, choisissez
vehicle-registration
dans la liste des registres. -
Choisissez Charger un échantillon de données.
Si l'opération aboutit, la console affiche le message Sample data loaded.
Ce script exécute toutes les instructions en une seule transaction. Si une partie de la transaction échoue, chaque instruction est annulée et un message d'erreur approprié s'affiche. Vous pouvez réessayer l'opération après avoir résolu le problème.
Note
-
L'une des causes possibles de l'échec d'une transaction est la tentative de création de tables dupliquées. Votre demande de chargement d'échantillons de données échouera si l'un des noms de table suivants existe déjà dans votre registre :
VehicleRegistration
,Vehicle
Person
, etDriversLicense
.Essayez plutôt de charger ces exemples de données dans un registre vide.
-
Ce script exécute des instructions paramétrées.
INSERT
Ces instructions partiQL sont donc enregistrées dans vos blocs de journal avec des paramètres de liaison au lieu des données littérales. Par exemple, vous pouvez voir l'instruction suivante dans un bloc de journal, où le point d'interrogation (?
) est un espace réservé variable pour le contenu du document.INSERT INTO Vehicle ?
-
Vous insérez des documents dans VehicleRegistration
un PrimaryOwner
champ vide et dans DriversLicense
un PersonId
champ vide. Ensuite, vous renseignez ces champs avec le document attribué par le système à id
partir du tableau. Person
Astuce
Il est recommandé d'utiliser ce champ de id
métadonnées du document comme clé étrangère. Pour plus d’informations, consultez Interrogation des métadonnées d'un document.
Pour créer des tables, des index et des exemples de données
-
Ouvrez la QLDB console Amazon à l'adresse https://console.aws.amazon.com/qldb
. -
Dans le volet de navigation, choisissez l'éditeur PartiQL.
-
Choisissez le
vehicle-registration
registre. -
Commencez par créer quatre tables. QLDBprend en charge le contenu ouvert et n'applique pas le schéma. Vous ne spécifiez donc pas d'attributs ou de types de données.
Dans la fenêtre de l'éditeur de requêtes, entrez l'instruction suivante, puis choisissez Exécuter. Pour exécuter l'instruction, vous pouvez également utiliser le raccourci clavier Ctrl + Enter pour Windows ou Cmd + Return pour macOS. Pour plus de raccourcis clavier, voirRaccourcis clavier de l'éditeur PartiQL.
CREATE TABLE VehicleRegistration
Répétez cette étape pour chacune des opérations suivantes.
CREATE TABLE Vehicle
CREATE TABLE Person
CREATE TABLE DriversLicense
-
Créez ensuite des index qui optimisent les performances des requêtes pour chaque table.
Important
QLDBnécessite un index pour rechercher efficacement un document. Sans index, il QLDB faut effectuer une analyse complète du tableau lors de la lecture de documents. Cela peut entraîner des problèmes de performances sur de grandes tables, notamment des conflits de simultanéité et des délais d'expiration des transactions.
Pour éviter de scanner des tables, vous devez exécuter des instructions contenant une clause de
WHERE
prédicat à l'aide d'un opérateur d'égalité (=
ouIN
) sur un champ indexé ou un identifiant de document. Pour plus d’informations, consultez Optimisation des performances des requêtes.Dans la fenêtre de l'éditeur de requêtes, entrez l'instruction suivante, puis choisissez Exécuter.
CREATE INDEX ON VehicleRegistration (VIN)
Répétez cette étape pour les opérations suivantes.
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)
-
Après avoir créé vos index, vous pouvez commencer à charger des données dans vos tables. Au cours de cette étape, insérez dans le
Person
tableau des documents contenant des informations personnelles sur les propriétaires des véhicules suivis par le registre.Dans la fenêtre de l'éditeur de requêtes, entrez l'instruction suivante, puis choisissez Exécuter.
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' } >>
-
Remplissez ensuite le
DriversLicense
tableau avec des documents contenant les informations du permis de conduire de chaque propriétaire de véhicule.Dans la fenêtre de l'éditeur de requêtes, entrez l'instruction suivante, puis choisissez Exécuter.
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' : '' } >>
-
Maintenant, remplissez le
VehicleRegistration
tableau avec les documents d'immatriculation du véhicule. Ces documents incluent uneOwners
structure imbriquée qui stocke les propriétaires principaux et secondaires.Dans la fenêtre de l'éditeur de requêtes, entrez l'instruction suivante, puis choisissez Exécuter.
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' : [] } } >>
-
Enfin, complétez le
Vehicle
tableau avec des documents décrivant les véhicules enregistrés dans votre registre.Dans la fenêtre de l'éditeur de requêtes, entrez l'instruction suivante, puis choisissez Exécuter.
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' } >>
Vous pouvez ensuite utiliser SELECT
des instructions pour lire les données des tables du vehicle-registration
registre. Passez à Étape 3 : interroger les tables d'un registre.