PostgreSQL: tipo de datos hstore

El módulo hstore se usa para implementar el tipo de datos hstore en forma de pares clave-valor para un solo valor dentro de PostgreSQL. El tipo de datos hstore es notablemente efectivo en muchos casos, como múltiples filas con múltiples atributos que rara vez se consultan o datos semiestructurados.

Syntax: variable_name hstore;

Es bastante simple habilitar la extensión hstore para usar el tipo de datos hstore usando el siguiente comando:

CREATE EXTENSION hstore;

Ahora veamos algunos ejemplos para una mejor comprensión.
Ejemplo 1:
Primero creamos una books tabla con id como clave principal que identifica el libro, titlecomo el título de los productos y attrque almacena atributos del libro como ISBN, peso y tapa blanda. El tipo de datos de la columna attr es hstore usando el siguiente comando:

CREATE TABLE books (
    id serial primary key,
    title VARCHAR (255),
    attr hstore
);

Ahora agregamos algunos datos a nuestra tabla de libros usando el siguiente comando:

INSERT INTO books (title, attr)
VALUES
    (
        'Winds Of Winter',
        '"paperback" => "2403",
       "publisher" => "Bantam Spectra/US & Voyager Books/UK",
       "language"  => "English",
       "ISBN-13"   => "978-1449370000",
         "weight"    => "13.2 ounces"'
    ),
       (
        'A Dance with Dragons',
        '"paperback" => "2553",
       "publisher" => "Bantam Spectra/US & Voyager Books/UK",
       "language"  => "English",
       "ISBN-13"   => "978-1449370001",
         "weight"    => "14.2 ounces"'
    ),
       (
        'A Dream of Spring',
        '"paperback" => "2683",
       "publisher" => "Bantam Spectra/US & Voyager Books/UK",
       "language"  => "English",
       "ISBN-13"   => "978-1449370002",
         "weight"    => "15.7 ounces"'
    );

Ahora consultamos los mismos datos insertados usando el siguiente comando:

SELECT
    attr
FROM
    books;

Producción:

Ejemplo 2:
Postgresql hstore admite el uso del operador -> . Esto se usa para consultar el valor de una clave particular de una columna hstore. Por ejemplo, si queremos consultar ISBN-13todos los libros disponibles en la tabla de libros , se puede usar el mismo operador como se muestra a continuación:

SELECT
    attr -> 'ISBN-13' AS isbn
FROM
    books;

Producción:

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *