Arrays and Enums
PostgreSQL, yang terkenal karena ekstensibilitas dan fleksibilitasnya, menawarkan beberapa tipe data di luar integer dan string konvensional. Di antaranya adalah array dan enum, yang memberdayakan pengembang dengan kemampuan pemodelan data tingkat lanjut. Dalam artikel blog ini, kita akan membahas tipe data canggih ini, menunjukkan penggunaan dan manfaatnya dalam konteks dvdrental sample database gratis.
Tipe Array
Array di PostgreSQL memungkinkan menyimpan beberapa value dalam satu field database. Kemampuan ini terbukti tidak ternilai pada skenario dimana berurusan dengan list atau set data yang esensial. Mari pertimbangkan contoh praktis. Misalkan kita ingin menyimpan film beserta aktor yang tampil di setiap film. Kita dapat memanfaatkan tipe data array untuk mencapainya secara efisien. Pertama, berikut adalah pernyataan untuk membuat dan mengisi tabel "films_with_actors" yang baru:
CREATE TABLE films_with_actors (
film_id SERIAL PRIMARY KEY,
title VARCHAR(255),
actors TEXT[]
);
INSERT INTO films_with_actors (title, actors) VALUES
('Inception', ARRAY['Leonardo DiCaprio', 'Joseph Gordon-Levitt']),
('The Shawshank Redemption', ARRAY['Tim Robbins', 'Morgan Freeman']);
Di Navicat, kita dapat membuat tabel kita menggunakan Table Designer:
Catat bahwa jika kita menambahkan kurung “[]” ke tipe teks Navicat akan mengenalinya sebagai tipe Array dan menambahkan “1” ke field Dimensi Ketika menyimpan tabel, mengidikasikan bahwa ini adalah array satu-dimensi.
Setelah menyimpan tabel, kita akan dapat menambahkan data ke tabel tersebut. Pastikan untuk menutup value Array di kurung keriting “{}” untuk mengatakan Navicat value yang harus dimasukkan dalam setiap array:
Di query, kita dapat merujuk ke elemen spesifik Array dengan menambahkan indeks yang diinginkan dalam kurung kotak. Sehingga, “aktor[1]” yang akan mengambil value Array pertama:
Tipe Enum
Singkatan untuk ‘EnumerasI”, tipe Enum memungkinkan developer untuk mendefinisikan set value tetap untuk suatu kolom. Hal ini meningkatkan integritas dan kejelasan data dalam skema database. Mari kita ilustrasikan hal ini dengan menambahkan kolom "rating" ke tabel "films_with_actors". Kita dapat menentukan tipe yang dijumlahkan untuk rating film menggunakan pernyataan DDL berikut:
CREATE TYPE rating AS ENUM ('G', 'PG', 'PG-13', 'R', 'NC-17');
ALTER TABLE films_with_actors ADD COLUMN rating rating;
Di Navicat, kita dapat menambahkan kolom baru di Table Designer dengan mengeklik tombol "Tambah Field" di atas daftar kolom. Setelah kita membuat rating Enum menggunakan pernyataan CREATE TYPE di atas, kita dapat memilihnya dengan memilih item "(Type)" dari menu tarik-turun Type lalu memilih item rating dari daftar Object Type:
Kolom peringkat tabel sekarang akan menyertakan menu drop-down dengan nilai Enum yang telah kami tentukan:
Kesimpulan
Tipe data array dan enum PostgreSQL menyediakan alat yang hebat bagi pengembang untuk memodelkan struktur data yang kompleks secara efisien. Dengan memanfaatkan fitur-fitur lanjutan ini, pengembang dapat meningkatkan integritas data, menyederhanakan query, dan membangun skema database yang lebih tangguh. Dalam blog minggu depan, kita akan mengakhiri penjelajahan kita tentang tipe data canggih PostgreSQL dengan melihat tipe Range. Menawarkan cara yang ringkas untuk merepresentasikan rentang nilai dalam satu bidang database, tipe Range sangat berguna dalam berbagai domain, mulai dari data temporal hingga interval numerik.
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!