Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Paso 2: crear tablas, índices y datos de muestra en un libro mayor
importante
Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte Migración de un Amazon QLDB Ledger a Amazon Aurora SQL Postgre
Cuando tu QLDB libro mayor de Amazon esté activo, podrás empezar a crear tablas con datos sobre los vehículos, sus propietarios y su información de registro. Tras crear las tablas y los índices, puede cargarlos con datos.
En este paso, creará cuatro tablas en el libro mayor vehicle-registration
:
-
VehicleRegistration
-
Vehicle
-
Person
-
DriversLicense
También se crean los siguientes índices.
Nombre de la tabla | Campo |
---|---|
VehicleRegistration |
VIN |
VehicleRegistration |
LicensePlateNumber |
Vehicle |
VIN |
Person |
GovId |
DriversLicense |
LicensePlateNumber |
DriversLicense |
PersonId |
Puedes usar la QLDB consola para crear automáticamente estas tablas con índices y cargarlas con datos de ejemplo. O bien, puedes usar el editor PartiQL de la consola para ejecutar manualmente cada sentencia PartiQL. step-by-step
Cree tablas, índices y datos de muestra
-
Abre la QLDB consola de Amazon en https://console.aws.amazon.com/qldb.
-
En el panel de navegación, elija Introducción.
-
En la Opción automática de la tarjeta de datos de aplicación de muestra, seleccione
vehicle-registration
de la lista de libros mayores. -
Elija Cargar datos de muestra.
Si la operación finaliza correctamente, la consola muestra el mensaje Se cargaron los datos de muestra.
Este script ejecuta todas las instrucciones en una sola transacción. Si alguna parte de la transacción falla, se revierten todas las instrucciones y se muestra el mensaje de error correspondiente. Puede volver a intentar la operación después de solucionar cualquier problema.
nota
-
Una posible causa del error de una transacción es intentar crear tablas duplicadas. La solicitud para cargar datos de muestra no se realizará correctamente si alguno de los siguientes nombres de tabla ya existe en el libro mayor:
VehicleRegistration
,Vehicle
,Person
yDriversLicense
.En su lugar, intente cargar estos datos de muestra en un libro mayor vacío.
-
Este script ejecuta instrucciones
INSERT
parametrizadas. Por lo tanto, estas instrucciones de PartiQL se registran en los bloques de su diario con parámetros de enlace en lugar de los datos literales. Por ejemplo, es posible que vea la siguiente instrucción en un bloque de diario, donde el signo de interrogación (?
) es un marcador de posición variable para el contenido del documento.INSERT INTO Vehicle ?
-
Los documentos se insertan en VehicleRegistration
con un campo PrimaryOwner
vacío y en DriversLicense
con un campo PersonId
vacío. Más adelante, se rellenan estos campos con el id
del documento de la tabla Person
asignado por el sistema.
sugerencia
Como práctica recomendada, utilice este campo de metadatos del id
del documento como clave externa. Para obtener más información, consulte Consulta de los metadatos del documento.
Cree tablas, índices y datos de muestra
-
Abre la QLDB consola de Amazon en https://console.aws.amazon.com/qldb.
-
En el panel de navegación, elija Editor PartiQL.
-
Elija el libro mayor
vehicle-registration
. -
Comience por crear cuatro tablas. QLDBadmite contenido abierto y no aplica el esquema, por lo que no se especifican atributos ni tipos de datos.
En la ventana del editor de consultas, introduzca la siguiente instrucción, y a continuación elija Ejecutar. Para ejecutar la instrucción también puede utilizar el atajo de teclado Ctrl +Enter para Windows o Cmd+Return para macOS. Para obtener más atajos de teclado, consulte Atajos de teclado del editor PartiQL.
CREATE TABLE VehicleRegistration
Repita este paso para cada una de las siguientes.
CREATE TABLE Vehicle
CREATE TABLE Person
CREATE TABLE DriversLicense
-
A continuación, cree índices que optimicen el rendimiento de las consultas para cada tabla.
importante
QLDBrequiere un índice para buscar un documento de manera eficiente. Sin un índice, QLDB necesita escanear una tabla completa al leer los documentos. Esto puede provocar problemas de rendimiento en tablas grandes, como conflictos de concurrencia y tiempos de espera de las transacciones.
Para evitar el escaneado de tablas, debe ejecutar las instrucciones con una cláusula de predicado
WHERE
usando un operador de igualdad (=
oIN
) en un campo indexado o en un ID de documento. Para obtener más información, consulte Optimización del rendimiento de las consultas.En la ventana del editor de consultas, introduzca la siguiente instrucción, y a continuación elija Ejecutar.
CREATE INDEX ON VehicleRegistration (VIN)
Repita este paso para lo siguiente.
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)
-
Después de crear los índices, puede empezar a cargar datos en las tablas. En este paso, inserte documentos en la tabla
Person
con información personal sobre los propietarios de los vehículos que está rastreando el libro mayor.En la ventana del editor de consultas, introduzca la siguiente instrucción, y a continuación elija Ejecutar.
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' } >>
-
A continuación, rellene la tabla
DriversLicense
con documentos que incluyan la información del carné de conducir de cada propietario de vehículo.En la ventana del editor de consultas, introduzca la siguiente instrucción, y a continuación elija Ejecutar.
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' : '' } >>
-
Ahora, rellene la tabla
VehicleRegistration
con los documentos de registro del vehículo. Estos documentos incluyen una estructuraOwners
anidada que almacena los propietarios principales y secundarios.En la ventana del editor de consultas, introduzca la siguiente instrucción, y a continuación elija Ejecutar.
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' : [] } } >>
-
Por último, rellene la tabla
Vehicle
con documentos que describan los vehículos que están registrados en su libro mayor.En la ventana del editor de consultas, introduzca la siguiente instrucción, y a continuación elija Ejecutar.
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' } >>
A continuación, puede usar las instrucciones SELECT
para leer los datos de las tablas del libro mayor vehicle-registration
. Continúe en Paso 3: consultar las tablas en un libro mayor.