Archive for the ‘DataBase’ Category

LiquiBase XML Generator

Wednesday, December 14th, 2011

Beberapa terakhir ini, di project yang sedang saya kerjakan ada beberapa mainan yang baru buat saya. Nah yang pertama yaitu Liquibase. Untuk yang belum tahu, Liquibase ini adalah sebuah database independent library open source (lisensi yang digunakan adalah Apache 2.0) yang dapat digunakan untuk tracking, managing dan applying perubahan terhadap database. Dan semua konfigurasi di Liquibase ini tersimpan pada sebuah file XML yang nantinya dapat disimpan kedalam version control.

Beberapa fitur dari Liquibase ini adalah :

  1. Merging changes from multiple developers
  2. Code branches
  3. Database “diff”
  4. Managing production data as well as various test datasets
  5. Generating database change documentation
  6. Cluster-safe database upgrades
  7. Automated updates or generation of SQL scripts that can be approved and applied by a DBA
  8. Generating starting change logs from existing databases

Pada tulisan ini, saya tidak akan membahas tentang bagaimana menggunakan tag-tag yang dikenali oleh Liquibase. Jika ingin tahu tag apa saja yang di dukung oleh Liquibase bisa langsung menuju ke halaman Liquibase QuickStart. Dibalik fitur-fitur keren yang dibawa oleh Liquibase, sekarang mari kita lihat bagaimana tampilan konfigurasi database yang harus kita tulis supaya bisa dikenali dan digunakan oleh Liquibase. Dibawah ini adalah contoh konfigurasi database yang harus kita tulis agar bisa digunakan oleh Liquibase :

<databasechangelog xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.0 http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.0.xsd">
    <preconditions>
            <dbms type="mysql"/>
    </preconditions>
 
    <changeset id="1" author="nvoxland">
        <createtable tableName="person">
            <column name="id" type="int" autoIncrement="true">
                <constraints primaryKey="true" nullable="false"/>
            </column>
            <column name="firstname" type="varchar(50)"/>
            <column name="lastname" type="varchar(50)">
                <constraints nullable="false"/>
            </column>
        </createtable>
    </changeset>
    <changeset id="2" author="nvoxland">
        <comment>Add a username column so we can use "person" for authentication</comment>
        <addcolumn tableName="person">
            <column name="usernae" type="varchar(8)"/>
        </addcolumn>
    </changeset>
</databasechangelog>

Source code lengkap bisa dilihat ke http://www.liquibase.org/samples/changelogs/mysql.changelog.xml

Nah bisa dibayangkan bukan, jika misalkan kita punya tabel kurang lebih sekitar 100 buah plus dengan tambahan relasi antar tabel (kalau ini tidak mungkin tidak :D ), komen dan index kolom-nya segala? :D
(more…)

Installing Tora On Slackware 13.37

Monday, August 22nd, 2011

Ingin mencari database tool yang mempunyai fitur yang mirip dengan Toad di GNU/Linux ? Jika iya, silahkan mencoba TOra :) Nah yang lebih bagus lagi yaitu, TOra mendukung database MySQL, PostgreSQL dan Oracle sekaligus. (Tapi kalau untuk PostgreSQL saya lebih senang menggunakan PgAdmin :) )

Beberapa fitur yang terdapat pada TOra kurang lebih yaitu :

  1. Handles multiple connections.
  2. SQL syntax highlighting
  3. Chart visualization of result.
  4. Schema browser.
  5. References & dependencies.
  6. Tab & tree based browsing.

Untuk daftar lebih lengkap silahkan melihat langsung pada halaman Daftar Fitur TOra
(more…)

Paging On JTable

Monday, January 31st, 2011

Sedang mencari solusi Paging di JTable ? Jika iya, pada posting kali ini kita akan mencoba membuat supaya JTable pada aplikasi kita mendukung pagination :D Niat awal sih sebenarnya ingin menjadikan Table Paging ini menjadi sebuah komponen yang tinggal “drag and drop” saja untuk menggunakan-nya, tapi apa daya sampai sekarang juga belum jadi-jadi komponen-nya :D

Pembuatan Table Paging ini semuanya terinspirasi dari komponen javascript untuk jQuery bernama Flexigrid yang tampilan-nya kurang lebih seperti gambar dibawah ini :
flexigrid
Tampilan Paging Flexigrid

Sedangkan tampilan JTable yang akan kita buat kurang lebih seperti gambar dibawah ini :
Screenshot
Tampilan Paging on JTable

Pada posting kali ini, kita akan coba meng-implementasikan Table Paging ini menggunakan JDBC dan Hibernate. Untuk yang tidak menggunakan JDBC maupun Hibernate, saya rasa juga tidak akan begitu kesulitan karena tinggal mengganti sintaks query-nya saja :D Dan database yang digunakan pada posting kali ini adalah MySQL :)
(more…)

MySQLWorkbench 5.2.31 For Slackware

Friday, December 10th, 2010

Hari ini tidak sengaja iseng-iseng main ke project MySQL WorkBench dan ternyata ada update terbaru yaitu versi 5.2.31 yang announcement-nya bisa teman-teman baca di halaman MySQL Workbench 5.2.31 GA Available. Berbeda dari versi-versi sebelum-nya, pada versi ini ternyata MySQL Workbench tidak hanya mengusung tool Data Modelling saja melainkan menyediakan juga Query (sebagai ganti dari MySQL Query Browser) dan Administration (sebagai ganti dari MySQL Administration) (dulu ke 3 tool ini bisa disebut sebagai MySQL GUI Tool)

Nah untuk teman-teman yang penasaran bagaimana tampilan dari MySQL WorkBench terbaru ini, silahkan lihat beberapa screenshot yang terdapat dibawah ini :
WorkspaceMySQLWB
Tampilan Workspace MySQL Workbench
(more…)

Step By Step Installing Oracle 11g Release 2 On Slackware 13.0

Wednesday, December 8th, 2010

Akhirnya kesampaian juga bermain-main dengan Database Oracle di Slackware 13.0 :) dan ternyata proses installasi Oracle tidak semudah yang dibayangkan meskipun saya sudah mengikuti tulisan Menginstall Oracle 10g di Slackware dari mas Budi Ariyanto :( Ok sekarang mari kita mulai saja tahapan-tahapan proses instalasi Oracle pada Slackware 13.0 :)

Sebelum melakukan proses installasi, buatlah 3 group dahulu untuk Oracle yaitu oinstall,dba dan oper dengan cara seperti dibawah ini :

root@martinusadyh:[~]# /usr/sbin/groupadd oinstall
root@martinusadyh:[~]# /usr/sbin/groupadd -g 502 dba
root@martinusadyh:[~]# /usr/sbin/groupadd -g 505 oper

Setelah membuat 3 group tersebut, sekarang buatlah user oracle yang mempunyai primary group oinstall dan secondary group-nya dba dan oper dengan mengetikkan perintah seperti dibawah ini :
(more…)