PostgreSQL adalah salah satu database engine faforit saya. Alasannya karena banyak kelebihan yg dimiliki oleh PostgreSQL. Diantaranya adalah:
- Cross platform PostgreSQL dapat dijalankan hampir di setiap jenis Unix (34 platform yang paling baru dirilis), juga di Windows dengan menggunakan Cygwin.
- Desain database GUI dan administration tools
Selain PgAdmin yang merupakan tool bawaan PostgreSQL, banyak juga tool2 database managament tool lain dari perusahaan pihak ketiga seperti PgManager dan lain-lain. - Terpercaya dan stabil
Banyak perusahaan yang melaporkan bahwa PostgreSQL tidak pernah, bahkan sekalipun, mengalami crashed pada saat melakukan operasi dengan tingkat aktivitas yang tinggi. - Object Oriented, Dan lain-lain.
Tapi, yang paling saya suka dari PostgreSQL adalah nomor 4 yaitu Object Oriented-nya. Jika selama ini kita mengenal konsep object oriented dalam bahasa pemrograman. Maka di PostgreSQL kita dapat melakukan hal yang sama. Kita dapat meng inherits** object-object di **PostgreSQL.
Berikut ini contohnya :
CREATE TABLE "public"."customer" (
"id" INTEGER NOT NULL,
"nama" VARCHAR(300),
"email" VARCHAR(32),
"telp" VARCHAR(32),
CONSTRAINT "cusomer_pkey" PRIMARY KEY("id")
) WITHOUT OIDS;
Kemudian misalkan kita akan membuat turunan dari tabel âcustomerâ, caranya sebagai berikut :
Kita beri nama misalnya âspecial_customerâ
CREATE TABLE "public"."special_customer" (
"level" INTEGER
) INHERITS ("public"."customer")
WITHOUT OIDS;
Jika kita query tabel âspecial_customerâ
select * from special_customer
Hasilnya sebagai berikut :
Sedangkan jika kita query tabel âcustomerâ maka hasilnya sebagai berikut :
select * from customer
Mari kita perhatikan. Isi record dari tabel special_customer juga ikut muncul ketika tabel induknya âcustomerâ di select.