Sep 162016
 

PostgreSQL dblink

Assalamu’ alaikum wr wb

PostgreSQL dalah salah satu DBMS(Database management System) yang lumayan lengkap fitur – fiturnya. termasuk yang akan kita bahas sekarang dblink. di Oracle Juga terdapat plugin ini. Tujuannya adalah untuk menghubungkan database satu dengan yang lainnya, Jika kita mempunyai lebih dari satu database yang mungkin kita ingin saling terkoneksi antar db.

Salah satu caranya adalah dengan menggunakan plugin dblink. Berikut adalah langkah – langkah untuk mengaktifkan dan menggunakan dblink.

Buka SQL Ketikkan Perintah

Selamat mencoba

Wassalamu’alaikum wr wb

Jan 252016
 

Create MID function in PotsgreSQL

Assalamu’ alaikum wr wb

Kita telah banyak mengenal fungsi – fungsi untuk memecahkan sebuah string, mulai dari left, right, substring. Fungsi yang akan kita buat sekarang terinspirasi dari fungsi yang ada pada microsoft Excel yaitu mid yang digunakan untuk mengambil char dari sebuah string yang lokasinya bisa kita tentukan termasuk juga jumlah char yang akan di ambil.

Pada PostgreSQL belum ada jadi kita akan membuatnya. berikut adalah source nya :


CREATE OR REPLACE FUNCTION mid(kata character varying, mulai integer, panjang integer)
RETURNS character varying AS
$BODY$

BEGIN

RETURN cast ( right(left(kata,mulai-1+panjang) , panjang) as varchar );

END;

$BODY$
LANGUAGE plpgsql VOLATILE
COST 1;
ALTER FUNCTION mid(character varying, integer, integer)
OWNER TO postgres;

Cara penggunaan source diatas cukup dengan memanggilnya dengan cara  sebagai berikut

select mid(‘12345678’,2,2)

Script diatas akan mengambil baris ke 2 dari 12345678 dan mengambil 2 char selanjutnya.

Maka Outputnya adalah sebagai berikut

23

Semoga dapat menambah wawasan teman – teman semua.

Wassalamu’ alaikum wr wb

Jan 222016
 

How To get DataBase Size (PostgreSQL)

Assalamu’alaikum wr wb

Terkadang kita ingin mengecek berapa besarkan ukuran db kita sekarang, berikut adalah script sederhana untuk dapat mengambil ukuran db dengan  mengunakan SQL.


-- Database Size
SELECT pg_size_pretty(pg_database_size('nmdb'));
-- Table Size
SELECT pg_size_pretty(pg_relation_size('nmdb.schema.tabel'));

itu dulu bagi – baginya nanti lanjur lagi semoga membantu

Wassalamu’alaikum wr wb

Nov 272012
 

Assalamu’ alaikum wr wb

Partitioning in PostgreSQL

Suatu kali saya mengerjakan sebuah program yang transaksinya tiap hari paling sedikit 2000 record dengan kondisi seperti itu saya harus memikirkan sebuah teknologi yang mungkin bisa say gunakan untuk kasus tersebut. Karena jika tidak mungkin untuk mengisi data saja bisa jadi akan lambat karena banyaknya data, apalagi untuk reporting yang perlu melakukan pencarian dengan kondisi tertentu.

Akhirnya teringat dulu pernah coba – coba membuat partitioning di PostrgreSQL dengan Mas Bella.  baiklah mari kita bahas dulu satu – atu bagaimana cara membuat partitioning nya.

Buat sebuah database :

Create databse dbpartisi;

Buat table :

Buat script function trigger untuk partitioning nya :

Buat Trigger untuk menjalankan function di atas:

selamat mencoba
Untuk lebih jelasnya anda bisa membaca disini : http://www.postgresql.org/docs/9.1/static/ddl-partitioning.html

Wassalamu’ alaikum wr wb

Jul 162012
 

Composite Primary Key di yii

Assalamu’ alaikum wr wb

Pengertian dari Composite Primary Key adalah adalah kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas. Setiap atribut yang membentuk kunci senyawa adalah kunci sederhana dalam haknya sendiri.

Untuk membuat crud dalam Yii secara default yii mengharuskan ada satu primary key, kalo ada 2 atau lebih key maka gii yang ada pada yii akan menolak.

Trus bagaimana caranya, Berikut adalah langkah – langkahnya.

edit controller, di sini saya punya table dengan nama tbl_dokter_obat dengan primary key ada pada [d_code, o_code].

    public function actionView($id, $id2) {
        $this->render('view', array(
            'model' => $this->loadModel($id, $id2),
        ));
    }
    public function actionUpdate($id,$id2) {
        $model = $this->loadModel(  $id,$id2 );

        // Uncomment the following line if AJAX validation is needed
        // $this->performAjaxValidation($model);

        if (isset($_POST['DokterObat'])) {
            $model->attributes = $_POST['DokterObat'];
            if ($model->save())
                $this->redirect(array('view', 'id' => $model->d_code ,'id2'=>$model->o_code));
        }

        $this->render('update', array(
            'model' => $model,
        ));
    }
    public function actionDelete($id,$id2) {
        if (Yii::app()->request->isPostRequest) {
            // we only allow deletion via POST request
            $this->loadModel($id,$id2)->delete();

            // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
            if (!isset($_GET['ajax']))
                $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
        }
        else
            throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.');
    }
    public function loadModel($id,$id2) {
        $model = DokterObat::model()->findByPk(array('d_code'=>$id,'o_code'=>$id2));
        if ($model === null)
            throw new CHttpException(404, 'The requested page does not exist.');
        return $model;
    }

Kode diatas di gunakan untuk CRUD
Setelah itu ubah juga pada tombol link yang ada pada view admin.

<?php $this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'dokter-obat-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'dokter.o_name',
		'obat.o_name',
		'do_value',
		'user_entry',
		'date_entry',
		array(
			'class'=>'CButtonColumn',
			'template'=>'{view}{update}{delete}',
			'buttons'=>array
			(
				'view' => array
				(
					'url'=>'Yii::app()->createUrl("dokterobat/view", array("id"=>$data->d_code,"id2"=>$data->o_code))',
				),
				'update' => array
				(
					'url'=>'Yii::app()->createUrl("dokterobat/update", array("id"=>$data->d_code,"id2"=>$data->o_code))',
				),
				'delete' => array
				(
					'url'=>'Yii::app()->createUrl("dokterobat/delete", array("id"=>$data->d_code,"id2"=>$data->o_code))',
				),
			),
		),
	),
)); ?>

Kode di atas di gunakan untuk mengubah parameter pada tombol yang ada pada grid.
Oke selamat mencoba.

Wassalamu’ alaikum wr wb

Dec 202011
 

Assalamu’ alaikum wr wb

Convert format database SQL_ASCII ke UTF8 pada database postgreSQL, sebenarnya masalah ini timbul pada kasus yang saya alami. saat pertama saya menggunakan database postgreSQL dari awal saya create database defaultnya kalo ngak salah adalah SQL_ASCII pada versi postgres 8.1, setelah 3 tahun berjalan ada upgrade server yang spesifikasinya mengharuskan untuk menggunakan database PostgreSQL dengan versi yang sangat jauh berbeda dengan versi yang lama. saat backup tidak ada masalah tetapi saat restore terjadi kesalahan, karena perbedaan format database saat create.

Akhirnya saya create database dengan format SQL_ASCII dulu baru setelah selesai restore saya ubah ke UTF8, karena rekomendasi dari PostgreSQL adalah UTF8.

Create database dengan format SQL_ASCII pada PostgreSQL 9.1

CREATE DATABASE dbdarmo WITH OWNER postgres TEMPLATE template0 ENCODING ‘SQL_ASCII’ TABLESPACE pg_default LC_COLLATE ‘C’ LC_CTYPE ‘C’ CONNECTION LIMIT -1;

Untuk mengubah format jadi UTF8 :

UPDATE pg_database SET encoding=pg_char_to_encoding(‘SQL_ASCII’), datcollate=’C’ , datctype=’C’ WHERE datname=’dbtest’;

Bagaimana mudahkan ternyata.

selamat mencoba

Wassalamu’ alaikum wr wb

Aug 302011
 

Assalamu’ alaikum wr wb

CRUD ExtJs 4 With CodeIgniter

ExtJS

ExtJS

Selamat Berpuasa bagi yang masih berpuasa dan Mohon maaf lahir batin buat teman – teman yang sudah merayakan Idul Fitri. Untuk menepati beberapa janji saya kepada teman – teman, yang menginginkan tutorial dan controh scrip CRUD dengan ExtJS maka akan saya bagikan sedikit tutorial tentang CRUD pada ExtJS.4 dengan menggunakan framework CodeIgniter 1.7.2.

Langsung pada permasalahan, tutorial ini masih berhubungan dengan tutorial saya yang kemaren, yang membahas tentang tree ExtJs karena databasenya masih menggunakan yang ada. yaitu treemenu.

Create table :

CREATE TABLE tbl_menu (
MN_ID int(11) NOT NULL AUTO_INCREMENT,
MN_NAME varchar(30) DEFAULT NULL,
MN_LINK varchar(50) DEFAULT NULL,
MN_PARENT int(11) DEFAULT NULL,
MN_GRP int(11) DEFAULT NULL,
MN_SORT int(11) DEFAULT NULL,
MN_STATUS int(11) DEFAULT NULL,
MN_ICON varchar(50) DEFAULT NULL,
MN_TYPE int(11) DEFAULT NULL,
PRIMARY KEY (MN_ID)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1

Continue reading »

Jul 142011
 

Assalamu’ alaikum wr wb

Secara default mysql menutup hak akses dari ip luar, jadi jika kita menggunakan mysql sebagai database server yang akan di akses dari beberapa client yang menggunakan aplikasi client server pasti akan di reject. Sehingga untuk mengakses kita harus mengarah ke ip komputer server yang sudah terinstall mysql, Lalu bagaimana caranya ….!

1. Masuk ke komputer yang sudah terinstall mysql misal dengan ssh:

sugik@sugik-pc:~$ ssh sugik@lokal.com

2. Ubah konfigurasi pada mysql

sugik@server:~$ sudo vi /etc/mysql/my.cnf

lalu cari tulisan

bind-address            = 127.0.0.1

ubah menjadi ip server kamu semisal

bind-address            = 192.168.0.1

lalu restart mysql

sugik@server:~$ sudo /etc/init.d/mysql restart

3. Langkah ketiga adalah menmbahkan user yang kita beri hak akses untuk database kita

sugik@server:~$ mysql -u root -p
Enter password:
mysql> CREATE DATABASE dblatihan;
mysql> GRANT ALL ON dblatihan.* TO user@'%' IDENTIFIED BY 'PASSWORD';
mysql> \q

4. Sekarang kita sudah dapat mengaksesnya dari komputer lain.

Sekian dulu semoga membantu

Wassalamu’ alaikum wr wb

Feb 092011
 

Assalamu’ alaikum wr wb

SQurrel Client

SQuirrel Client

Tiap kita menggunakan database pasti kita membutuhkan sebuah aplikasi pembantu atau mungkin kita menggunakan bawaan database tersebut, misal kita menggunakan postgreSQL biasanya sudah terinstall juga PGAdmin III yang merupakan bawan PostgreSQL, atau mungkin juga anda menggunaan phpmyadmin untuk mysql.

kali ini saya akan memberi sedikit informasi tentang sebuah aplikasi pembantu untuk memanage databse kita. Setelah mencari dan berkeliling dari website satu ke website lain akhirnya saya menemukan sebuah aplikasi database client yang lumayan bagus, dan juga lengkap fiturnya, dan yang jelas gratis atau free. Nama aplikasi ini adalah SQUirrel SQL Client. aplikasi ini dibuat dengna menggunakan java, jadi jika teman – teman mau install jangan lupa install dulu jdk atau jre ok. berikut adalah screen shotnya.

SQurrel SQL Client

SQuirrel SQL Client

SQuirrel SQL Client

SQuirrel SQL Client

Untukd apat mendownload aplikasi ini silakan masuk ke sini : http://squirrel-sql.sourceforge.net/

Wassalamu’ alaikum wr wb

Jan 092010
 

Saaat membuat report dengan Ireport 3.7 wah betul kata seoarang teman ada error wah mulai deh explorasi apa ya kira – kira yang error. error nya kurang lebih menyebutkan ada lib yang kurang yaitu lib nya grovy, ok download deh grovy trus jalankanlagi wah error lagi ada yang kurang lagi yaitu lib nya asm ok cari download juga asm. dan bla … sukses .

bagi yang males download libnya bisa download dari sini

Forum : http://forum.do-event.com/viewtopic.php?f=9&t=36

Semoga membantu