Navicat Blog

Menjelajahi Tipe Data PostgreSQL Lanjutan: Bagian 2 – Tipe Range Mar 8, 2024 by Robert Gravelle

Range Types

Tipe range menawarkan cara ringkas untuk merepresentasikan rentang nilai dalam satu bidang basis data. Metode ini dapat diaplikasikan dalam berbagai domain, mulai dari data temporal hingga interval numerik. Dalam artikel blog ini, kita akan membahas penggunaan (dan manfaatnya!) metode ini menggunakan pernyataan DML/SQL dan Navicat for PostgreSQL 16.

Memahami Tipe Range

Di PostgreSQL, tipe range memungkinkan untuk representasi range continuous value. Range ini dapat dari tipe data yang berbeda seperti numerik, tanggal, atau timestamp. Sebagai contoh, sebuah range mungkin merepresentasikan periode waktu, set temperatur, atau range dari harga produk.

Contoh Praktikal: Melacak Durasi Rental

Mari kita pertimbangkan skenario di mana kita ingin melacak durasi penyewaan dalam dvdrental sample database gratis. Kita dapat memanfaatkan jenis rentang untuk menyimpan durasi penyewaan secara efisien. Berikut adalah pernyataan untuk membuat dan mengisi tabel "rentals_with_rental_period" yang baru:


CREATE TABLE rentals_with_rental_period (
    rental_id SERIAL PRIMARY KEY,
    customer_id INT,
    rental_duration INT,
    rental_period DATERANGE
);

INSERT INTO rentals_with_rental_period (customer_id, rental_duration, rental_period)
VALUES
(1, 7, '[2024-02-01, 2024-02-08]'),
(2, 5, '[2024-01-15, 2024-01-20]');
    

Di Navicat, kita dapat membuat tabel kita menggunakan Table Designer:

rentals_with_rental_period_in_table_designer (59K)

Setelah membuat tabel, kita dapat menambahkan data kedalamnya. Pastikan imbuhan value Range dengan kurung kotak “[“ dan mengakhirinya dengan kurung “)”. Ini mengatakan Navicat bahwa value berada pada range:

rentals_with_rental_period_table (24K)

Dalam contoh ini, kolom "rental_period" menyimpan rentang yang mewakili tanggal mulai dan berakhirnya setiap penyewaan. Kita dapat dengan mudah mencari penyewaan yang menyertakan tanggal tertentu menggunakan operator @:

range_query (40K)

Memperluas Aplikasi: Interval Numerik

Tipe range tidak terbatas pada data temporal. Tipe range juga dapat digunakan untuk merepresentasikan interval numerik. Misalnya, bayangkan skenario di mana harga suatu produk dapat bervariasi dalam rentang tertentu berdasarkan jumlah yang dibeli. Kita dapat menggunakan tipe rentang untuk memodelkan ini secara efektif:


CREATE TABLE product_price (
    product_id SERIAL PRIMARY KEY,
    price_range NUMRANGE
);

INSERT INTO product_price (price_range)
VALUES
('[10.00, 20.00)'),
('[20.00, 30.00)'),
('[30.00, )');
    

Dalam contoh ini, kolom "price_range" menyimpan rentang yang merepresentasikan harga minimum dan maksimum untuk setiap produk. Kita dapat meminta produk dalam rentang harga tertentu menggunakan operator @>:


SELECT * FROM product_price
WHERE price_range @> 25.00;
    

Kesimpulan

Tipe range dalam PostgreSQL menawarkan cara yang ampuh untuk merepresentasikan dan mengquery rentang value yang berkelanjutan. Baik saat menangani data temporal, interval numerik, atau nilai berkelanjutan lainnya, tipe rentang menyediakan solusi yang ringkas dan efisien. Dengan memanfaatkan tipe range, pengembang dapat meningkatkan ekspresi dan fleksibilitas skema database mereka, yang membuka jalan bagi aplikasi yang lebih lanjut.

Mencari alat grafis yang mudah digunakan untuk pengembangan database PostgreSQL? Navicat 16 For PostgreSQL telah menyediakannya untuk Anda. Klik di sini untuk mengunduh aplikasi yang berfungsi penuh untuk uji coba gratis selama 14 hari!

Navicat Blog
Feed Entri
Arsip Blog
Bagikan